سلاسل الفضاء: كيف يعمل اقتراح Bitcoin Sidechain الجديد هذا

عقدة المصدر: 1544330

Spacechains هي سلسلة مقترحة من Bitcoin تقدم آلية ربط أحادية الاتجاه تستخدم تصميم منجم دمج أعمى.

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

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

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

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

اقتراح Spacechain

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

يمكن الاستفادة من آلية سومسن المقترحة لهذا الغرض أي منع (APO) للسماح بالمنافسة المفتوحة لأي شخص ليكون قادرًا على التنافس لبناء كتلة السلسلة الجانبية التالية مع ضمان إمكانية الالتزام بكتلة واحدة فقط لكل سلسلة Bitcoin الرئيسية. ومن المزايا الأخرى لاقتراح روبن أنه لا يتطلب شوكة مرنة محددة لتمكين إمكانية نشر سلاسل فضائية. يتم اقتراح Eltoo / ANYPREVOUT لتحقيق فوائد لشبكة Lightning Network ، مما يتيح سلاسل الدولة المرنة ، بالإضافة إلى مصانع القنوات. سلاسل الفضاء هي ببساطة إمكانية أخرى للعديد من الأشياء التي من شأنها أن تمهد الطريق أمام تمكين أي منع.

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

يمكن التعامل مع هذا عن طريق استخدام سيغهاش_سينجل (التوقيع من الإدخال يشير فقط إلى أن الإدخال الفردي ، والمخرج المقابل) و SIGHASH_ANYONECANPAY (يستطيع الأشخاص إضافة مدخلات ومخرجات إضافية بحرية دون إبطال التوقيع طالما تم ترك الإدخال / الإخراج باستخدام SIGHASH_SINGLE كما هو ، لعدم إبطال هذا التوقيع). ثم يمكن لأي شخص إضافة إدخال وتغيير الإخراج لدفع رسوم عامل التعدين للمعاملة.

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

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

لكن لا تزال هناك مشكلة الإنفاق المزدوج. يمكن لأي شخص لديه المفتاح الخاص المستخدم لإنشاء علامة UTXO أن يضاعف أيًا من المعاملات المحددة مسبقًا المستخدمة للالتزام بكتل السلسلة الجانبية وإبطال المجموعة بأكملها من تلك النقطة فصاعدًا.

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

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

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

إجمالاً يبدو كالتالي: 

مصدر

تجدر الإشارة أيضًا إلى أنه يمكن تنفيذ نوعين مختلفين من هذا التصميم باستخدام CHECKTEMPLATEVERIFY (CTV) أو بدون أي تغييرات على الإطلاق. هذان النوعان من التصميمات لهما ببساطة مقايضات دون المستوى الأمثل.

سيستخدم متغير CTV هذه الوظيفة للالتزام بسلسلة المعاملات باستخدام CTV بدلاً من APO مع الاختراق بما في ذلك التوقيع داخل البرنامج النصي لقفل UTXO. تلتزم CTV بجميع مخرجات المعاملة التي تنفق CTV UTXO ، لكنها لا تلتزم بأي إدخال بخلاف نفسها.

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

لذلك ، ما نحتاج إلى القيام به هنا هو إنشاء معاملة بالكامل خارج سلسلة معاملات CTV لالتزام السلسلة الجانبية لإنشاء UTXO يكفي فقط لدفع رسوم معاملة CTV (لأنه لا يمكنك إنشاء إخراج تغيير جديد في هذه المعاملة ، 100 ٪ من المدخلات التي تضيفها تذهب إلى الرسوم) ، وداخل المعاملة ، فإن إعداد الرسوم UTXO هو المكان الذي نلتزم فيه برأس كتلة sidechain. إذن ، الخطوة الأولى: معاملة تنشئ إخراجًا يدفع رسومًا والتزامًا برأس كتلة sidechain. الخطوة الثانية: نأخذ مخرجات الرسوم ونضيفها كمدخل إلى معاملة CTV ، والتي عند تأكيدها ، "تعدين" كتلة السلسلة الجانبية الخاصة بنا. هذا البديل يشبه هذا:

مصدر

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

تبدأ سلسلة المعاملات بـ UTXO واحد ، وفي سلسلة تُنشئ ناتجين. الناتج الأول هو علامة UTXO ، والتي تشير إلى أن سلسلة المعاملات مرتبطة بسلسلة فضاء محددة ، والثاني هو UTXO ذو قيمة صغيرة يمكن إنفاقه بشكل مفتوح من قبل أي شخص يسمح بإرفاق إدخال / إخراج آخر به. هذه المعاملة الثانية هي حيث يمكن لأي شخص أن يلتزم صراحة ليكون أول من ينفق ذلك الناتج الثاني من سلسلة معاملات spacechain ، ويستخدمه للالتزام برأس كتلة sidechain الخاصة به.

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

مصدر

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

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

هذه المقالة هي ببساطة الأولى في سلسلة تتعلق بمقترحات تصميم السلسلة الجانبية الرئيسية التي تم نشرها للبيتكوين منذ التصميم الأصلي لعام 2014. ترقب الباقي.

هذا منشور ضيف بواسطة Shinobi. الآراء المعبر عنها خاصة بها تمامًا ولا تعكس بالضرورة آراء BTC Inc أو Bitcoin Magazine.

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

اكثر من بيتكوين مجلة