تحویل در مقابل پرداخت بر روی یک بلاک چین PlatoBlockchain Data Intelligence. جستجوی عمودی Ai.

تحویل در مقابل پرداخت در بلاکچین

چگونه بلاک چین ها می توانند قدیمی ترین مشکل کتاب را حل کنند

تجارت بین مردم به قدمت خود بشریت است. از زمانی شروع شد که غارنشین اوگ به غارنشین اوگ گفت: "من به تو سنگ می دهم، تو به من توت می دهی". اما تجارت یک مشکل اساسی را به همراه دارد: این امر مستلزم آن است اعتماد. چه چیزی اوگ را از استفاده از سنگ برای ضربه زدن به Ugg و سپس گرفتن هر دو سنگ باز می دارد و توت ها قبل از فرار؟ چگونه یک توافق مبادله شفاهی را به یک مکانیسم اجرایی تبدیل کنیم که تضمین کند هر دو طرف به قول خود عمل می کنند؟

برای مثال مدرن، چند سال پیش یک ماشین را در بازار دست دوم فروختم. خریدار را از طریق اینترنت پیدا کردم، حضوری ملاقات کردیم، او ماشین را تست کرد و بر سر قیمت به توافق رسیدیم. بنابراین او به بانک خود رفت تا یک چک صندوقدار را که عملاً به شکل فشرده تر وجه نقد است، دریافت کند. ما با هم به یک اداره پست رفتیم، جایی که من می توانم فرم رسمی دولتی را امضا کنم و ارائه کنم که مالکیت قانونی ماشین را منتقل می کند.

پس همین جا هستیم، پشت پنجره اداره پست ایستاده ایم و به بن بست ناخوشایندی می رسیم. چک هنوز در جیبش است و من برگه امضا شده را در دست دارم. ما چند ساعت پیش همدیگر را دیدیم و دلیلی برای اعتماد به هم نداریم. آیا ابتدا فرم را تحویل می دهم سپس امیدوار باشم که چک را به من بدهد، نه اینکه فرار کنم؟ یا چک را به من می دهد و سپس امیدوار است که در فرم بدهم؟ در هر صورت، شخصی خود را در معرض خطر خیانت قرار می دهد.

و سپس متوجه شدم که باید دیگر نگران نباشم و فقط فرم را تحویل دهم. چرا؟ زیرا یکی از این دو مورد ممکن است بعد اتفاق بیفتد. یا خریدار چک را به من می دهد که در این صورت همه راضی هستند و تعویض کامل می شود. اما اگر در عوض فرار کند چه؟ در این صورت کارمند اداره پست می بیند و فرمی را که من به او دادم پاره می کند. یکنوع بازی شبیه لوتو، ما خودمان یک تبادل امن داریم.

دیدی اونجا چی شد؟ معضل ما با استفاده از یک واسطه، در این مورد، کارمند اداره پست، حل شد. منشی تضمین می کند که یا یک معامله منصفانه انجام شود یا اصلاً معامله ای صورت نگیرد. و هر واسطه ای نمی تواند این خدمات را ارائه دهد. باید شخصی مورد اعتماد هر دو طرف باشد. در مورد کارمند یک اداره پست دولتی، این ناشی از اعتماد ما به خود دولت است. اگر به کارمندان اداره پست رشوه داده می شد، یا من یا خریدار می توانستیم شرایطی را مهندسی کنیم که در نهایت هم پول نقد و هم ماشین داشته باشیم. در واقع، در بسیاری از کشورها، فسادی مانند این می تواند هدر رفتن بزرگی برای رفاه باشد.

غارنشینان و اتومبیل ها یک چیز هستند، اما بیایید تمرکز خود را به دنیای مالی معطوف کنیم، که در آن تجارت نقش مهمی دارد. نقش محوری. البته بانک ها به کارمندان خود پول نمی دهند تا با سهام دیگران فرار کنند. اما مبادله امن دارایی‌های مالی همچنان یک مشکل مهم است، زیرا راه‌های کارتونی کمتری وجود دارد که در آن شرکت‌کنندگان در یک معامله می‌توانند به قول خود عمل نکنند. برای مثال، یکی از طرفین ممکن است ورشکسته شود، یا تغییر ناگهانی در شرایط بازار ممکن است مانع از تضمین یک دارایی شود. آنها می توانند از اشتباهات اداری یا از اثرات ضربه ای یک آسیب ببینند کلاهبرداری حسابداری در طرف مقابل دیگر

در نتیجه این "خطرات تسویه حساب” بیشتر تراکنش های مالی با استفاده از تسویه حساب می شود تحویل در مقابل پرداخت (DvP). این فقط یک اصطلاح فانتزی برای فرآیند اداره پست است که در بالا توضیح داده شد. DvP تضمین می‌کند که اگر یکی از طرفین تراکنش آنچه را که وعده داده شده را انجام ندهد، طرف دیگر می‌تواند دارایی‌ای را که در ازای آن پیشنهاد داده است حفظ کند.

و نحوه تحویل در مقابل پرداخت در دنیای مالی چگونه اجرا می شود؟ شما آن را از طریق واسطه های قابل اعتماد حدس زدید. اینها می توانند بانک های دیگر، اتاق های تسویه حساب یا سپرده گذاری مرکزی اوراق بهادار. از آنجایی که بیشتر معاملات امروزی به صورت دیجیتالی انجام می شود، این موضوع مربوط به مدیریت انتقال گواهی های فیزیکی یا پول نقد نیست. در عوض، DvP با به‌روزرسانی همزمان تعدادی رکورد در پایگاه داده خود و/یا ارسال دستورالعمل‌ها به مؤسسات دیگر توسط واسطه به دست می‌آید.

تحویل در مقابل پرداخت توسط بلاک چین

صحبت در مورد پایگاه های داده ما را به طور منظم به موضوع بلاک چین می رساند. یک بلاک چین به یک دفتر کل یا پایگاه داده اجازه می دهد تا بین تعدادی از طرفین به اشتراک گذاشته و هماهنگ شود. با این حال، برخلاف پایگاه‌های داده معمولی، پایگاه‌های داده بلاک چین را می‌توان به طور ایمن و مستقیم توسط چندین کاربر تغییر داد، حتی اگر آنها در رقابت شدید با یکدیگر باشند. اگر در IT شرکتی کار می کنید، ممکن است بخواهید به مفاهیم آن جمله فکر کنید.

برای درک نحوه عملکرد تحویل در مقابل پرداخت در یک بلاک چین، باید با درک مدل تراکنش بیت کوین شروع کنیم. در اینجا لازم به ذکر است که سایر طراحی های بلاک چین از مدل متفاوتی برای تراکنش ها استفاده می کنند و در ادامه بیشتر در مورد این تفاوت ها صحبت خواهیم کرد.

تراکنش بیت کوین دارای مجموعه ای از ورودی ها و خروجی ها است. هر ورودی به یک خروجی تراکنش قبلی متصل می‌شود، با تمام بیت‌کوین از خروجی قبلی. سپس بیت‌کوین موجود در ورودی‌های تراکنش، بر اساس مقادیر نوشته شده در داخل، بین خروجی‌های آن توزیع می‌شود. علاوه بر این، هر خروجی تراکنش حاوی شناسه عمومی مالک جدید خود است که مالک کلید خصوصی مربوطه را برای آن نگه می دارد. تراکنش بیت کوین تنها در صورتی معتبر است که:

  • مقدار کل بیت کوین در ورودی های تراکنش بیشتر یا برابر با مقدار نوشته شده در خروجی های آن است. هر تفاوتی به‌عنوان کارمزد توسط «ماینر» جمع‌آوری می‌شود که تراکنش را در یک بلوک تأیید می‌کند و مکانیزم بازاری را ایجاد می‌کند که از طریق آن تراکنش‌ها می‌توانند برای تأیید پیشنهاد بدهند.
  • این تراکنش توسط صاحبان هر خروجی قبلی که آن تراکنش «خرج می‌کند» تأیید می‌شود. این تأیید از طریق امضای رمزنگاری محتوای تراکنش جدید بیان می‌شود. امضای یک خروجی قبلی فقط با استفاده از کلید خصوصی که با شناسه عمومی آن مطابقت دارد ایجاد می شود.

هر دوی این قوانین در یک دفتر مالی که بین اشخاص غیر قابل اعتماد مشترک است، بسیار مهم هستند. بدون اولی، هر کسی می‌توانست از هوای رقیق بیت‌کوین بسازد. و بدون دومی، همه می‌توانند بیت‌کوین‌های دیگران را خرج کنند. اما ما همچنین به قانون سومی نیاز داریم که به جای تراکنش های فردی، در سطح جهانی اجرا شود:

  • هر خروجی تراکنش فقط توسط یک تراکنش بعدی قابل استفاده است. این از حمله ای که به آن معروف است جلوگیری می کند دو برابر کردن که در آن بیت کوین های مشابه برای بیش از یک گیرنده ارسال می شود.

برای اجرای این قانون، بلاک چین حاوی یک گزارش زمانی از تراکنش های معتبر است که با یکدیگر تضادی ندارند و این گزارش به طور مستقل توسط هر گره در شبکه تأیید می شود.

مدل تراکنش بیت کوین را می توان به راحتی برای نمایش هر دارایی مالی گسترش داد. به جای خروجی تراکنش حاوی بیت کوین، می تواند یک شناسه و مقدار دارایی را در خود جای دهد. تمام قوانینی که تراکنش‌های بیت‌کوین را پوشش می‌دهند همچنان اعمال می‌شوند و از شرکت‌کنندگان جلوگیری می‌کند (الف) دارایی‌های بی‌سابقه ایجاد کنند، (ب) دارایی‌های دیگران را خرج کنند، و (ج) یک دارایی را دو بار خرج کنند. برای دارایی‌های غیرکریپتوکارنسی، ما اصرار داریم که مقادیر ورودی و خروجی دقیقاً متعادل شوند، نه اینکه به ماینرها اجازه دهیم تفاوت را جمع‌آوری کنند.

بنابراین چگونه با استفاده از این مدل یک تراکنش تحویل ایمن در مقابل پرداخت ایجاد کنیم؟ فرض کنید که آلیس و باب توافق کرده اند که 10 پوند آلیس را با 15 دلار باب مبادله کنند. به منظور راحتی، فرض می کنیم که آلیس در حال حاضر دقیقاً 10 پوند در یک خروجی تراکنش به طور منظم نشسته است، و باب نیز 15 دلار دارد. (اگر اینطور نیست، آن‌ها می‌توانند به راحتی سرمایه‌شان را جابه‌جا کنند تا این کار را انجام دهند.)

برای شروع، هر یک از طرفین یک تراکنش را با دو ورودی و دو خروجی ایجاد می کند. دو ورودی خروجی های قبلی را به ترتیب شامل 10 پوند آلیس و 15 دلار باب خرج می کنند. در مورد خروجی ها، اولی شامل شناسه آلیس و 15 دلار است و دومی به Bob با 10 پوند می رسد. از آنجایی که مقادیر ورودی و خروجی در هر دو ارز تعادل دارند، تراکنش ما شرط اول بالا را برآورده می کند. برای انجام دومی، هم آلیس و هم باب باید تراکنش را امضا کنند، زیرا خروجی های قبلی متعلق به هر یک از آنها را خرج می کند.

اکنون می توان تراکنش را با گنجاندن آن در بلاک چین نهایی کرد، اما هنوز باید مشکل دو برابری را در نظر بگیریم. اگر آلیس یک معامله متناقض ایجاد کرده بود و همان 10 پوند را با طرف مقابل دیگری که معامله بهتری به او پیشنهاد می کرد مبادله می کرد؟ در اینجا قانون سوم وارد عمل می شود، که در آن بلاک چین تضمین می کند که هر خروجی فقط یک بار می تواند خرج شود. اگر تراکنش رقیب پس از تبادل آلیس با باب در بلاک چین منتقل شود، به سادگی تایید نخواهد شد. و اگر تراکنش رقیب ابتدا تایید شود، تبادل آلیس با باب در عوض شکست خواهد خورد. در هر صورت، بلاک چین تحویل را در مقابل پرداخت برای صرافی آلیس و باب و همچنین هر چیز دیگری تضمین می کند. اگر باب 10 پوند آلیس را نگیرد، پس آلیس 15 دلار خود را نمی گیرد.

قدرت معاملات جزئی

بنابراین بلاک چین ها راهی را به ما می دهند تا دو طرف با هم گرد هم آیند، یک تراکنش مبادله ای بسازند و امضا کنند و از موفقیت یا شکست آن در کل اطمینان حاصل کنند. این کار تحویل در مقابل پرداخت را در دفتر کل مشترک بدون نیاز به یک واسطه قابل اعتماد برای مدیریت فرآیند امکان پذیر می کند. استخراج‌کنندگانی که تراکنش‌ها را در بلوک‌ها تأیید می‌کنند، هنوز مقداری قدرت دارند، اما بسیار کمتر از یک واسطه سنتی است. بدترین کاری که می توانند انجام دهند این است که از تایید یک معامله خاص خودداری کنند به طور کامل، و این DvP را نقض نمی کند. علاوه بر این، اگر ماینینگ بین طرفینی که در واقع تراکنش ها را ایجاد می کنند به اشتراک گذاشته شود، این ریسک به طور کامل از بین می رود، زیرا هر کس فرصتی برای تایید خود خواهد داشت.

تا کنون خیلی خوب. اما بلاک چین های سبک بیت کوین ترفندهای بیشتری در آستین خود دارند. به یاد داشته باشید که یک تراکنش باید توسط صاحب هر خروجی قبلی که آن تراکنش خرج کرده است امضا کند. به طور پیش‌فرض، این امضا فهرست کامل ورودی‌ها و خروجی‌ها را در تراکنش قفل می‌کند. رمزنگاری تضمین می کند که کوچکترین تغییر در یک ورودی یا خروجی، امضا را نامعتبر می کند. برای پیروی از مثال بالا، اگر پس از امضای تراکنش آلیس، باب جایگزین کارول شود، تراکنش کاملاً شکست می‌خورد.

اما اگر آلیس برایش مهم نباشد که با چه کسی مبادله را انجام می دهد، چه؟ برای اکثر اهداف، چرا او باید اهمیت دهد؟ مگر اینکه آلیس مصمم باشد به طور خاص با باب کار کند، فقط دو بخش از معامله وجود دارد که واقعاً او را نگران می کند. اول، این واقعیت است که 10 پوند خروجی او به جای مقدار یا دارایی متفاوت خرج خواهد شد. دوم، اینکه او در ازای یک خروجی جدید 15 دلار دریافت می کند. تا زمانی که تمام پول سیستم تمیز است، آلیس واقعاً اهمیتی نمی‌دهد که آن 15 دلار از کجا می‌آید، یا چه اتفاقی ممکن است برای تسهیل مبادله او بیفتد.

شاید یک مهمانی با 15 دلار همراه شود و یک تعویض مستقیم با 10 پوند آلیس انجام دهد. اما شاید باب و کارول فقط بخواهند هر کدام 7.50 دلار مبادله کنند. در این مورد، آنها دو ورودی به تراکنش اضافه می کنند، به همراه دو خروجی که هر کدام 5 پوند جمع آوری می کنند. یا شاید کارول واقعاً می خواهد 15 دلار را با 950 روبل مبادله کند، در حالی که ساشا در مسکو 950 روبل دارد و به دنبال 10 پوند است. در این مورد یک تبادل 3 طرفه می تواند انجام شود، که در آن هر یک از طرفین هنوز فقط به تکه پازل خود اهمیت می دهد. تراکنشی که آلیس شروع کرد را می توان به تعداد بی نهایت از راه های مختلف تکمیل کرد. اما از دیدگاه آلیس، همه اینها به یک هدف دست می یابند که به او 15 دلار در ازای 10 پوند می دهد و همه او را به یک اندازه خوشحال می کنند.

سناریوهای تبادل

چگونه یک بلاک چین این را تسهیل می کند؟ از طریق معاملات جزئی و امضای جزئی. آلیس یک تراکنش را با یک ورودی (10 پوند) و یک خروجی (15 دلار برای او) شروع می کند. او این بخش‌های تراکنش را با امضای دیجیتالی قفل می‌کند که بیان می‌کند هر تعداد ورودی یا خروجی دیگر را می‌توان اضافه کرد. او این تراکنش جزئی را به باب می دهد و می گوید "ببین چه کاری می توانی انجام دهی". شاید او آن را به کارول و به هر تعداد دیگر از طرف‌های بالقوه دیگر یا سازنده‌های سندیکا بدهد. هر کدام از اینها می توانند جفت ورودی و خروجی خود را اضافه کنند، یا برای متعادل کردن مبادله، یا ایجاد یک تراکنش جزئی بزرگتر که می توان دوباره آن را تحویل داد. مهم نیست که هر کسی چه کاری انجام می دهد، تراکنش تنها زمانی می تواند اجرا شود (یعنی از طریق تایید در بلاک چین تسویه شود) زمانی که دارایی های ورودی و خروجی متعادل شوند.

یک تراکنش بلاک چین تنها یک تکه از داده های دیجیتال است، بنابراین این تراکنش های جزئی را می توان از طریق ایمیل یا هر وسیله ارتباطی دیگری ارسال کرد. آنها حتی می توانند به صورت عمومی ارسال شوند، زیرا شرکت کنندگان در معامله احتمالی این را می دانند بلاک چین از آنها مراقبت خواهد کرد. امضای آلیس تضمین می کند که او فقط 10 پوند خرج می کند اگر کسی در ازای آن 15 دلار به او بدهد.

در نهایت، اگر آلیس تصمیم بگیرد که این پیشنهاد را غیرفعال کند، تنها کاری که باید انجام دهد این است که همان 10 پوند را در تراکنش دیگری خرج کند، تنها با ارسال آن به خودش. از آنجایی که بلاک چین اجازه نمی دهد یک خروجی دو بار خرج شود، این باعث می شود تراکنش جزئی موجود او بی ارزش شود. همه شرکت‌کنندگان دیگر در بلاک چین این را می‌بینند و وقت خود را برای تکمیل مبادله تلف نمی‌کنند.

از DvP تا قراردادهای هوشمند

همینطور که من دارم قبلاً استدلال می کردند، یک بلاک چین به سبک بیت کوین را می توان به عنوان راهی برای مدیریت همگام سازی و امنیت در یک پایگاه داده رابطه ای مشترک مشاهده کرد. هر دو بیت کوین و تراکنش های پایگاه داده به صورت اتمی در نظر گرفته می شوند، به این معنی که به طور کلی موفق می شوند یا شکست می خورند. کلید قیاس، معادل بودن بین خروجی تراکنش در یک زنجیره بلوکی و یک ردیف در پایگاه داده است. یک تراکنش بلاک چین که برخی از خروجی ها را خرج می کند و برخی دیگر را ایجاد می کند مانند تراکنش پایگاه داده است که برخی ردیف ها را حذف می کند و به جای آن تعدادی دیگر ایجاد می کند. (عملیات پایگاه داده ای که یک ردیف موجود را تغییر می دهد، معادل حذف آن سطر و ایجاد یک به روز شده جدید به جای آن است. این معادل سازی زیربنای خط محبوب است. MVCC روش کنترل همزمانی در پایگاه‌های داده، که بلاک چین‌های به سبک بیت کوین را می‌توان به عنوان یک فرم توزیع‌شده مشاهده کرد.)

بنابراین بیایید تصور کنیم که داده‌های مالی ما در یک پایگاه داده نگهداری می‌شوند، که در آن هر ردیف شامل سه قطعه اطلاعات است: شناسه مالک، شناسه دارایی و مقدار دارایی. یک بلاک چین این امکان را فراهم می کند که این دفتر کل به طور ایمن بین شرکت کنندگانش به اشتراک گذاشته شود، حتی اگر آنها اصلاً به یکدیگر اعتماد ندارند. در زبان پایگاه داده، تضمین می کند که:

  • مقادیر دارایی در ردیف های حذف شده توسط تراکنش با مقادیر موجود در ردیف هایی که ایجاد می کند مطابقت دارد.
  • برای هر ردیف حذف شده (یا اصلاح شده) توسط یک تراکنش، تراکنش باید توسط صاحب آن ردیف امضا شود.
  • اگر ردیف پایگاه داده توسط یک تراکنش حذف شده باشد، این امر مانع از حذف مجدد آن تراکنش دیگر می شود.

بیایید به اولین مورد از این قوانین نگاه کنیم، یعنی اینکه معاملات باید مقادیر دارایی را حفظ کنند. ما می توانیم این را به مفهوم کلی "محدودیت تراکنش" گسترش دهیم. یک محدودیت تراکنش به شکل یک جعبه سیاه است که دو مجموعه ردیف برای هر تراکنش می بیند: (الف) ردیف هایی که توسط تراکنش حذف می شوند، (ب) ردیف هایی که ایجاد می کند. وظیفه جعبه سیاه این است که به این دو مجموعه نگاه کند و در مورد اینکه آیا تراکنش معتبر است یا خیر، پاسخ دهد. در مورد خاص ما، تنها در صورتی پاسخ مثبت خواهد داد که مجموع مقادیر دارایی در هر دو مجموعه دقیقاً مطابقت داشته باشد.

هنگامی که ما توانایی اعمال محدودیت های تراکنش را داریم، می توان آنها را به گونه ای گسترش داد که مجموعه ای از قوانین را شامل شود. برخی از مثال‌ها ممکن است این باشد که «یک واحد از این دارایی تنها در صورتی می‌تواند ایجاد شود که این سه دارایی دیگر به طور همزمان در امانت قفل شده باشند» یا «این دارایی تنها در صورتی می‌تواند منتقل شود که یک ردیف مربوطه گزارش باران ناکافی داشته باشد». از منظر معماری توزیع‌شده بلاک‌چین، منطق درون جعبه تفاوتی ایجاد نمی‌کند، تا زمانی که بتواند ارزیابی مشخص و ثابتی از هر تراکنشی که می‌بیند به ما بدهد.

در نتیجه، محدودیت‌های تراکنش می‌تواند به عنوان یک روش کلی برای محدود کردن تبدیل داده‌ای که شرکت‌کنندگان در بلاک چین می‌توانند انجام دهند، عمل کند. این رویکرد به "قراردادهای هوشمند" جایگزینی برای روش های ذخیره شده مورد استفاده در Ethereum و آن اریس مشتق. در مقاله‌ای در آینده، مزایا و معایب این دو پارادایم را از نظر سادگی، مقیاس‌پذیری و همزمانی بررسی خواهیم کرد.

تو می توانی مرا در توییتر دنبال کنید. همچنین ببینید: پایان دادن به بحث بیت کوین در مقابل بلاک چین

ضمیمه فنی

برای ساخت تراکنش های DvP جزئی، از a استفاده کنید نوع امضا of SINGLE|ANYONECANPAY. اگر استفاده می کنید چند زنجیره ایاز preparelockunspent, createrawexchange و appendrawexchange تماس های API مراقب جزئیات برای شما باشد را ببینید شروع شدن صفحه برای مثال ساده ای از نحوه استفاده از آنها.

لطفا هر نظری را ارسال کنید در LinkedIn.

منبع: https://www.multichain.com/blog/2015/09/delivery-versus-payment-blockchain/

تمبر زمان:

بیشتر از چندتایی