التسليم مقابل الدفع على blockchain PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

التسليم مقابل الدفع على blockchain

كيف يمكن للكتل المتسلسلة أن تحل المشكلة الأقدم في الكتاب

التجارة بين الناس قديمة قدم الإنسانية نفسها. بدأ الأمر في اللحظة التي قال فيها رجل الكهف أوج لرجل الكهف أوغ: "أعطيتك صخرة ، أعطني التوت". لكن التجارة تحمل في طياتها مشكلة أساسية: إنها تتطلب الثقة. ما يمنع Ogg من استخدام الصخرة لسحق Ugg ، ثم الاستيلاء على الصخرتين و التوت قبل الهروب؟ كيف نترجم اتفاق التبادل اللفظي إلى آلية تنفيذ تضمن التزام الطرفين بكلمتهما؟

لنأخذ مثالًا حديثًا ، قبل بضع سنوات ، قمت ببيع سيارة في سوق السيارات المستعملة. لقد وجدت مشترًا عبر الإنترنت ، التقينا شخصيًا ، واختبر السيارة واتفقنا على السعر. لذلك ذهب إلى مصرفه للحصول على شيك أمين الصندوق ، وهو فعليًا نقدًا في شكل أكثر إحكاما. مشينا معًا إلى مكتب بريد ، حيث يمكنني التوقيع وتقديم نموذج حكومي رسمي ينقل الملكية القانونية للسيارة.

لذا ها نحن ، نقف عند نافذة مكتب البريد ، ونصل إلى طريق مسدود محرج. الشيك لا يزال في جيبه وأنا أحمل الاستمارة الموقعة. التقينا قبل بضع ساعات وليس لدينا سبب للثقة في بعضنا البعض. هل أسلم النموذج أولاً ثم آمل أن يعطيني الشيك بدلاً من الهروب؟ أم يسلمني الشيك ثم أرجو أن أستلمه بالصيغة؟ في كلتا الحالتين ، يعرض شخص ما نفسه لخطر الخيانة.

ثم اتضح لي أنني يجب أن أتوقف عن القلق وأسلم النموذج. لماذا ا؟ لأن أحد أمرين يمكن أن يحدث بعد ذلك. إما أن يسلمني المشتري الشيك ، وفي هذه الحالة يكون الجميع سعداء ويكون التبادل قد اكتمل. ولكن ماذا لو هرب بدلاً من ذلك؟ في هذه الحالة ، سيرى كاتب مكتب البريد ، ويمزق النموذج الذي قدمته للتو. البنغو ، لدينا أنفسنا تبادل آمن.

هل رأيت ما حدث هناك؟ تم حل معضلتنا من خلال استخدام وسيط ، في هذه الحالة كاتب مكتب البريد. يضمن الكاتب إجراء معاملة عادلة أو عدم وجود معاملة على الإطلاق. ولا يمكن لأي وسيط فقط تقديم هذه الخدمة. يجب أن يكون شخصًا موثوقًا به من قبل الطرفين. في حالة وجود موظف في مكتب بريد مملوك للحكومة ، فإن هذا ينبع من ثقتنا في الحكومة نفسها. إذا كان من الممكن رشوة كتبة مكتب البريد ، فيمكن إما أنا أو المشتري هندسة الموقف الذي ينتهي بنا الأمر بالنقود والسيارة. في الواقع ، في دول عدة، مثل هذا الفساد يمكن أن يكون استنزافًا كبيرًا للازدهار.

رجال الكهف والسيارات شيء واحد ، ولكن دعنا نحول تركيزنا إلى العالم المالي ، حيث يلعب التداول دورًا دور مركزي. بالطبع ، لا تدفع البنوك لموظفيها مقابل الهروب بأسهم شخص آخر. لكن التبادل الآمن للأصول المالية لا يزال يمثل مشكلة مهمة ، لأن هناك طرقًا كاريكاتورية أقل يمكن من خلالها للمشاركين في الصفقة أن يفشلوا في الوفاء بوعدهم. على سبيل المثال ، قد يصبح أحد الأطراف معسراً ، أو قد يؤدي التغيير المفاجئ في ظروف السوق إلى منعه من تأمين الأصل. يمكن أن يعانون من أخطاء كتابية أو من آثار الضربة القاضية الاحتيال المحاسبي لدى طرف آخر.

نتيجة لهذه "مخاطر التسوية"، تتم تسوية معظم المعاملات المالية باستخدام التسليم مقابل الدفع (DvP). هذا مجرد مصطلح خيالي لعملية مكتب البريد الموضحة أعلاه. يضمن DvP أنه إذا لم يسلم أحد الطرفين ما وعد به ، فيمكن للطرف الآخر الاحتفاظ بالأصل الذي قدموه في المقابل.

وكيف يتم تطبيق التسليم مقابل الدفع في عالم المال؟ لقد خمنت ذلك ، عبر وسطاء موثوقين. يمكن أن تكون هذه البنوك الأخرى ، غرف المقاصة أو ودائع الأوراق المالية المركزية. نظرًا لأن معظم تداولات اليوم تحدث رقميًا ، فهذه ليست مسألة إدارة تحويل الشهادات المادية أو النقدية. بدلاً من ذلك ، يتم تحقيق DvP بواسطة الوسيط الذي يقوم في نفس الوقت بتحديث عدد من السجلات في قاعدة بياناته و / أو إرسال التعليمات إلى مؤسسات أخرى.

التسليم مقابل الدفع عن طريق blockchain

الحديث عن قواعد البيانات يقودنا بدقة إلى موضوع سلاسل الكتل. يسمح blockchain بمشاركة دفتر الأستاذ أو قاعدة البيانات ومزامنتها بين عدد من الأطراف. ومع ذلك ، على عكس قواعد البيانات العادية ، يمكن تعديل قواعد بيانات blockchain بأمان ومباشرة من قبل العديد من المستخدمين حتى لو كانوا في منافسة شرسة مع بعضهم البعض. إذا كنت تعمل في مجال تكنولوجيا المعلومات للشركات ، فقد ترغب في التفكير في الآثار المترتبة على هذه الجملة.

لفهم كيفية عمل التسليم مقابل الدفع على blockchain ، نحتاج إلى البدء بفهم نموذج معاملات Bitcoin. وتجدر الإشارة هنا إلى أن تصميمات blockchain الأخرى تستخدم نموذجًا مختلفًا للمعاملات ، وسنتحدث أكثر عن هذه الاختلافات لاحقًا.

تحتوي معاملة البيتكوين على مجموعة من المدخلات والمخرجات. يرتبط كل إدخال بإخراج واحد لمعاملة سابقة ، مع تدفق كل عملة البيتكوين من المخرجات السابقة. ثم يتم إعادة توزيع البيتكوين في مدخلات المعاملة عبر مخرجاتها وفقًا للكميات المكتوبة بداخلها. بالإضافة إلى ذلك ، يحتوي كل ناتج معاملة على المعرف العام لمالكه الجديد ، والذي يمتلك المالك مفتاحًا خاصًا مقابله. تكون معاملة البيتكوين صالحة فقط إذا:

  • الكمية الإجمالية لعملة البيتكوين في مدخلات المعاملة أكبر أو تساوي الكمية المكتوبة في مخرجاتها. يتم جمع أي فرق كرسوم من قبل "المُعدِّن" الذي يؤكد المعاملة في كتلة ، مما ينشئ آلية سوق يمكن من خلالها للمعاملات المزايدة للتأكيد.
  • تتم الموافقة على المعاملة من قبل مالكي كل ناتج سابق "تنفقه" هذه المعاملة. يتم التعبير عن هذه الموافقة من خلال توقيع مشفر لمحتوى المعاملة الجديدة. لا يمكن إنشاء توقيع لإخراج سابق إلا باستخدام المفتاح الخاص الذي يتطابق مع المعرف العام الخاص به.

كل من هذه القواعد حاسمة في دفتر الأستاذ المالي الذي يتم تقاسمه بين الأطراف غير الثقة. بدون الأولى ، يمكن لأي شخص إنشاء عملات البيتكوين من فراغ. وبدون الثانية ، يمكن للجميع إنفاق عملات البيتكوين الخاصة بأي شخص آخر. لكننا نحتاج أيضًا إلى قاعدة ثالثة ، يتم فرضها عالميًا وليس ضمن المعاملات الفردية:

  • لا يمكن استخدام إخراج كل معاملة إلا من خلال معاملة تالية واحدة. هذا يمنع هجوم يعرف باسم إنفاق مزدوج حيث يتم إرسال نفس عملات البيتكوين إلى أكثر من مستلم واحد.

لفرض هذه القاعدة ، تحتوي blockchain على سجل زمني للمعاملات الصالحة التي لا تتعارض مع بعضها البعض ، ويتم التحقق من هذا السجل بشكل مستقل بواسطة كل عقدة في الشبكة.

يمكن توسيع نموذج معاملات البيتكوين بسهولة ليمثل أي أصل مالي. بدلاً من ناتج المعاملة الذي يحتوي على عملات البيتكوين ، يمكنه الاحتفاظ بمعرف الأصول والكمية. لا تزال جميع القواعد التي تغطي معاملات البيتكوين سارية ، وتمنع المشاركين من (أ) إنشاء أصول من فراغ ، (ب) إنفاق أصول الآخرين ، و (ج) إنفاق نفس الأصل مرتين. بالنسبة للأصول غير المشفرة ، نميل إلى الإصرار على توازن كميات المدخلات والمخرجات تمامًا ، بدلاً من السماح للمعدنين بجمع الفرق.

إذن كيف يمكننا إنشاء تسليم آمن مقابل معاملة دفع باستخدام هذا النموذج؟ لنفترض أن أليس وبوب قد اتفقا على استبدال 10 جنيهات إسترلينية لأليس مقابل 15 دولارًا لبوب. من أجل الراحة ، سنفترض أن Alice لديها بالفعل 10 جنيهات إسترلينية بالضبط في ناتج معاملة واحدة ، وبوب بالمثل 15 دولارًا. (إذا لم يكن الأمر كذلك ، فيمكنهم بسهولة تحويل أموالهم لجعلها كذلك).

بادئ ذي بدء ، يبني أي من الطرفين معاملة ذات مدخلين ومخرجات. المدخلان ينفقان المخرجات السابقة التي تحتوي على 10 جنيهات إسترلينية و 15 دولارًا لبوب على التوالي. بالنسبة للمخرجات ، يحتوي الأول على معرف Alice و 15 دولارًا ، والثاني يذهب إلى Bob ويحتوي على 10 جنيهات إسترلينية. نظرًا لأن كميات المدخلات والمخرجات في كلا العملتين تتوازن ، فإن معاملتنا تفي بالشرط الأول أعلاه. لتحقيق الثانية ، يجب على كل من Alice و Bob الآن التوقيع على المعاملة ، حيث إنها تنفق المخرجات السابقة التي تنتمي إلى كل منهما.

يمكن الآن إنهاء المعاملة من خلال تضمينها في blockchain ، لكننا ما زلنا بحاجة إلى النظر في مشكلة الإنفاق المزدوج. ماذا لو أنشأت أليس صفقة متضاربة تستبدل فيها نفس 10 جنيهات إسترلينية مع طرف آخر عرض عليها صفقة أفضل؟ هنا يتم تشغيل القاعدة الثالثة ، حيث تضمن blockchain أنه لا يمكن إنفاق كل ناتج إلا مرة واحدة. إذا تم إرسال المعاملة المنافسة بعد تبادل Alice مع Bob على blockchain ، فلن يتم تأكيدها ببساطة. وإذا تم تأكيد المعاملة المنافسة أولاً ، فسوف تفشل عملية تبادل أليس مع بوب بدلاً من ذلك. في كلتا الحالتين ، تضمن blockchain التسليم مقابل الدفع مقابل تبادل Alice و Bob ، وكذلك أي شيء آخر. إذا لم يحصل بوب على 10 جنيهات إسترلينية من أليس ، فلن تحصل أليس على 15 دولارًا.

قوة المعاملات الجزئية

لذا تمنحنا البلوكشين وسيلة للالتقاء بين الطرفين ، وبناء وتوقيع معاملة التبادل ، والتأكد من نجاحها أو فشلها ككل. يتيح ذلك التسليم مقابل الدفع في دفتر الأستاذ المشترك ، دون الحاجة إلى وسيط موثوق به لإدارة العملية. لا يزال عمال المناجم الذين يؤكدون المعاملات في الكتل يتمتعون ببعض القوة ، لكنها أقل بكثير من الوسيط التقليدي. أسوأ ما يمكنهم فعله هو رفض تأكيد معاملة معينة في مجمله، وهذا لا ينتهك DvP. علاوة على ذلك ، إذا تمت مشاركة التعدين بين الأطراف التي تنشئ المعاملات بالفعل ، فإن هذا الخطر يتلاشى تمامًا ، حيث سيحصل الجميع على فرصة لتأكيد معاملاتهم الخاصة.

حتى الان جيدة جدا. لكن سلاسل الكتل على غرار البيتكوين لديها المزيد من الحيل في جعبتها. تذكر أنه يجب توقيع المعاملة من قبل مالك كل ناتج سابق تنفقه هذه المعاملة. بشكل افتراضي ، يقفل هذا التوقيع القائمة الكاملة للمدخلات والمخرجات داخل المعاملة. يضمن التشفير أن أي تعديل على إدخال أو إخراج سيجعل التوقيع غير صالح. لمتابعة المثال أعلاه ، إذا تم استبدال Bob بـ Carol بعد توقيع Alice على المعاملة ، فستفشل المعاملة تمامًا.

ولكن ماذا لو لم تهتم أليس بمن ستجري التبادل معه؟ لمعظم الأغراض ، لماذا يجب ان تهتم؟ ما لم تكن أليس مصممة على العمل مع بوب تحديدًا ، فهناك جزءان فقط من الصفقة يتعلقان بها حقًا. أولاً ، حقيقة أن إنتاجها البالغ 10 جنيهات إسترلينية سيتم إنفاقه ، بدلاً من كمية أو أصل مختلف. ثانيًا ، أنها تتلقى 15 دولارًا في الناتج الجديد في المقابل. طالما أن كل الأموال الموجودة في النظام نظيفة ، فإن أليس لا تمانع حقًا من أين أتت تلك الـ 15 دولارًا ، أو ما قد يحدث أيضًا لتسهيل عملية التبادل.

ربما سيأتي طرف واحد مع 15 دولارًا ويقوم بإجراء مقايضة مباشرة مقابل 10 جنيهات إسترلينية لـ Alice. ولكن ربما يريد بوب وكارول تبادل 7.50 دولار لكل منهما. في هذه الحالة ، سيضيفون مدخلين إلى المعاملة ، إلى جانب ناتجين يجمعان 5 جنيهات إسترلينية لكل منهما. أو ربما تريد كارول بالفعل استبدال 15 دولارًا مقابل 950 روبل ، بينما لدى ساشا في موسكو 950 روبل وتبحث عن 10 جنيهات إسترلينية. في هذه الحالة ، يمكن إجراء تبادل ثلاثي ، حيث لا يزال كل طرف يهتم فقط بقطعة اللغز الخاصة به. يمكن إتمام المعاملة التي بدأتها أليس بعدد لا حصر له من الطرق المختلفة. ولكن من وجهة نظر أليس ، كل هؤلاء يحققون نفس الغرض من منحها 3 دولارًا مقابل 15 جنيهات إسترلينية ، وكلها تجعلها سعيدة بنفس القدر.

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

كيف تسهل blockchain هذا؟ من خلال المعاملات الجزئية والتوقيعات الجزئية. تبدأ أليس معاملة بإدخال واحد (10 جنيهات إسترلينية لها) ومخرج واحد (15 دولارًا لها). تقوم بتأمين هذه الأجزاء من المعاملة بتوقيع رقمي ينص على أنه يمكن إضافة أي عدد من المدخلات أو المخرجات الأخرى. سلمت هذه المعاملة الجزئية إلى بوب وتقول "انظر ما يمكنك فعله". ربما سلمتها إلى كارول أيضًا ، ولأي عدد من الأطراف المقابلة المحتملة الأخرى أو بناة النقابات. يمكن لكل منها أن يضيف على أزواج المدخلات والمخرجات الخاصة به ، إما لموازنة التبادل ، أو لإنشاء معاملة جزئية أكبر يمكن تسليمها مرة أخرى. بغض النظر عما يفعله أي شخص ، لا يمكن تنفيذ المعاملة (أي تسويتها من خلال التأكيد على blockchain) بمجرد موازنة أصول الإدخال والإخراج.

تعتبر معاملة blockchain مجرد جزء كبير من البيانات الرقمية ، لذلك يمكن إرسال هذه المعاملات الجزئية عبر البريد الإلكتروني أو أي وسيلة اتصالات أخرى. يمكن حتى نشرها علنًا ، لأن المشاركين في الصفقة المحتملة يعرفون ذلك ستعتني بهم blockchain. يضمن توقيع أليس أنها ستنفق 10 جنيهات إسترلينية فقط إذا أعطاها شخص ما 15 دولارًا في المقابل.

أخيرًا ، إذا اختارت أليس تعطيل العرض ، فكل ما عليها فعله هو إنفاق نفس 10 جنيهات إسترلينية في معاملة أخرى ، وذلك ببساطة عن طريق إعادتها إلى نفسها. نظرًا لأن blockchain لن يسمح بإنفاق نفس الناتج مرتين ، فإن هذا يجعل معاملتها الجزئية الحالية لا قيمة لها. سيرى جميع المشاركين الآخرين في blockchain هذا ، ويتوقفون عن إضاعة وقتهم في محاولة إكمال التبادل.

من DvP إلى العقود الذكية

كما فعلت جادل سابقا، يمكن اعتبار blockchain على غرار البيتكوين كطريقة لإدارة المزامنة والأمان في قاعدة بيانات علائقية مشتركة. يتم التعامل مع كل من معاملات البيتكوين وقواعد البيانات بشكل ذري ، مما يعني أنها تنجح أو تفشل ككل. مفتاح القياس هو التكافؤ بين ناتج المعاملة في blockchain ، وصف في قاعدة البيانات. إن معاملة blockchain التي تنفق بعض المخرجات وتخلق البعض الآخر هي نفس معاملة قاعدة البيانات التي تحذف بعض الصفوف وتنشئ بعضها الآخر بدلاً من ذلك. (تكافئ عملية قاعدة البيانات التي تعدل صفًا موجودًا حذف هذا الصف وإنشاء صف جديد محدث في مكانه. هذا التكافؤ يكمن وراء MVCC طريقة التحكم في التزامن في قواعد البيانات ، والتي يمكن اعتبار سلاسل الكتل على غرار البيتكوين نموذجًا موزعًا.)

لذلك دعونا نتخيل أن بياناتنا المالية محفوظة في قاعدة بيانات ، حيث يحتوي كل صف على ثلاث أجزاء من المعلومات: معرف مالكه ومعرف الأصول وكمية الأصول. يتيح blockchain مشاركة دفتر الأستاذ هذا بأمان بين المشاركين فيه ، حتى لو لم يثقوا ببعضهم البعض على الإطلاق. في لغة قواعد البيانات ، فإنه يضمن ما يلي:

  • تتطابق كميات الأصول في الصفوف التي تم حذفها بواسطة معاملة مع تلك الموجودة في الصفوف التي تنشئها.
  • لكل صف تم حذفه (أو تعديله) بواسطة معاملة ، يجب أن يوقع مالك هذا الصف على المعاملة.
  • إذا تم حذف صف قاعدة بيانات من خلال معاملة واحدة ، فإن هذا يمنع عملية أخرى من حذفها مرة أخرى.

دعونا نلقي نظرة على أول هذه القواعد ، وهي أن المعاملات يجب أن تحافظ على كميات الأصول. يمكننا توسيع هذا إلى المفهوم العام "لقيود المعاملة". يأخذ قيد المعاملة شكل الصندوق الأسود الذي يرى مجموعتين من الصفوف لكل معاملة: (أ) الصفوف المحذوفة بواسطة المعاملة ، (ب) الصفوف التي تنشئها. تتمثل مهمة الصندوق الأسود في النظر إلى هاتين المجموعتين والإجابة بـ "نعم" أو "لا" فيما يتعلق بما إذا كانت المعاملة صالحة أم لا. في حالتنا المحددة ، سوف تجيب بنعم فقط إذا تطابق إجمالي كميات الأصول في كلتا المجموعتين تمامًا.

بمجرد أن تكون لدينا القدرة على تطبيق قيود المعاملات ، يمكن توسيعها لتشمل أي مجموعة من القواعد. قد تكون بعض الأمثلة "لا يمكن إنشاء وحدة من هذا الأصل إلا إذا تم تأمين هذه الأصول الثلاثة الأخرى في وقت واحد في حساب ضمان" أو "لا يمكن نقل هذا الأصل إلا إذا كان هناك صف مماثل يبلغ عن عدم كفاية الأمطار" من منظور العمارة الموزعة للبلوك تشين ، لا يُحدث المنطق داخل الصندوق أي فرق ، طالما أنه يمكن أن يعطينا تقييمًا محددًا ومتسقًا لكل معاملة يراها.

نتيجة لذلك ، يمكن أن تعمل قيود المعاملات كطريقة عامة لتقييد تحويلات البيانات التي يمكن أن يقوم بها المشاركون في blockchain. يوفر هذا النهج "للعقود الذكية" بديلاً لـ الإجراءات المخزنة المستخدمة في إثيريم ولها ايريس المشتق. في مقال مستقبلي ، سوف نتعمق أكثر في مزايا وعيوب هذين النموذجين ، من حيث البساطة وقابلية التوسع والتزامن.

اطلع على تابعني على تويتر هنا. أنظر أيضا: إنهاء الجدل بين البيتكوين و blockchain.

إضافة فنية

لإنشاء معاملات DvP جزئية ، استخدم ملف نوع التوقيع of SINGLE|ANYONECANPAY. إذا كنت تستخدم ملفات متعدد السلاسلأطلقت حملة preparelockunspent, createrawexchange و appendrawexchange مكالمات API اعتني بالتفاصيل نيابة عنك. انظر كيف تبدأ صفحة للحصول على مثال بسيط لكيفية استخدامها.

يرجى نشر أي تعليقات على LinkedIn.

المصدر: https://www.multichain.com/blog/2015/09/delivery-versus-payment-blockchain/

الطابع الزمني:

اكثر من متعدد السلاسل