تحقق محافظ السلسلة الحية تعيينًا تقريبيًا 1-1 للمعاملات: لكل معاملة اقتصادية يقوم بها المستخدم، يتطلب تقريبًا معاملة سلسلة كتل واحدة. تغير التجميعات، وتجميع العملات، وقطع المدفوعات وما إلى ذلك هذا البيان قليلاً. ولكنه صحيح تقريباً.
حقق Lightning تخطيطا متعدد إلى واحد للمعاملات إلى المعاملات: سحر Lightning هو أن عددا لا حصر له من المعاملات الاقتصادية يمكن أن يحدث في قناة إضاءة واحدة ، والتي ترتبط نفسها بإخراج معاملة واحدة غير منفقة (UTXO). لقد أخذنا بشكل أساسي البعد "الزمني" - المعاملات - وحققنا توسعا كبيرا من خلال انهيار هذا البعد.
لكن إنشاء حتى UTXO واحد لكل مستخدم ، يمكن القول ، ليس جيدا بما فيه الكفاية. لذلك هناك العديد من المقترحات لتحقيق توسع أكبر من خلال السماح لعدة مستخدمين بمشاركة UTXO واحد بطريقة ذاتية السيادة. مرة أخرى ، انهيار بعد "مساحة" آخر للتوسع - المستخدمين - في UTXO واحد.
هدفنا هنا هو إجراء نظرة عامة على جميع هذه الاقتراحات، ومعرفة أنماطها التقنية المشتركة، ومعرفة أنواع الأوبكود الجديدة والترقيات الناعمة الأخرى التي تحتاج إليها للعمل، وإنشاء جدول مقارنة لكيفية تكامل جميع الأجزاء معًا. على طول الطريق سنقوم أيضًا بتحديد ما هو بالضبط بروتوكول L2، وما هي قدرة Lightning على التوسع بالفعل، والحصول على فهم للتحسينات التي نحتاج إلى القيام بها للحصول على كل هذا في مجموعات الذاكرة.
شكرا يذهب إلىFulgur Venturesلرعاية هذا البحث. لم يكن لديهم أي سيطرة تحريرية على محتويات هذا المنشور ولم يتم مراجعته قبل النشر.
شكراً أيضاً يذهب إلىدانييلا بروزوني, سارة كوكس، وآخرون لمراجعة قبل النشر.
ومع ذلك، الانسحاب الأحادي هو دائمًا هدف تصميمنا الأساسي.2
مع هذا التعريف، تُعتبر أشياء مثل البرق أنظمة طبقة 2. ومع ذلك، لا تُعتبر نظم مثل السائل، كاشو، وفديمينت طبقة 2، لأن طرفًا آخر أو أطرافًا لديه التحكم في أموالك. بالإضافة إلى ذلك، نظم التحقق من العميل مثل RGB أيضًا ليست طبقة 2 وفقًا لهذا التعريف، لأنها غير قادرة على التداول بالبيتكوين بشكل موثوق به. وأخيرًا، @RubenSomsen/statechains-non-custodial-off-chain-bitcoin-transfer-1ae4845a4a39">لا يتمكن Statechains من الوصول إلى المستوى المطلوب، لأن الجهة التي تدير Statechain يمكن أن تسرق الأموال إذا لم تتبع البروتوكول.
في كتابة بيتكوين، العهود هي آليات يتم من خلالها تقييد الطريقة التي يمكن بها إنفاق txout مسبقًا، بحيث تكون صيغة المعاملات المستخدمة لإنفاق ذلك txout محددة مسبقًا أو مقيدة بطريقة ليست مقتصرة فقط على التواقيع. الأنظمة L2 التي تشارك UTXOs بين عدة أطراف بحاجة إلى عهود لأنها بحاجة إلى طرق لتقييد كيف يمكن إنفاق UTXO لتنفيذ قواعد وحوافز بروتوكول L2.

يُقدر أن حوالي نصف السكان العالمي يمتلكون هاتف ذكي، 4.3 مليار شخص. لذلك يمكننا بالفعل تسجيل نسبة كبيرة من السكان الذين من المرجح أن يكونوا قادرين على استخدام قناة Lightning في السنة.
ومع ذلك، فإن القنوات لا تدوم إلى الأبد. في بعض الأحيان، سيود المستخدمون تغيير المحافظ، أو زيادة أو تخفيض سعة القناة، إلخ. والطريقة الأكثر كفاءة لتغيير سعة القناة هي عبر طبقة 2.تجميع, تنفيذ بشكل ملحوظ في محفظة فينيكس.
مثل فتح القناة ، يمكن أيضًا القيام بعملية التجميع بطريقة مؤجلة لتحسين الكفاءة ، حيث تشترك عمليات التجميع المتعددة في عملية تداول واحدة لتقليل عدد المدخلات والمخرجات اللازمة لإضافة وإزالة الأموال5. بالتالي ، مساحة الكتلة دلتا المطلوبة لكل تقسيم للمستخدمين ، بفرض استخدام musig, هو إخراج 43vB تابروت بالإضافة إلى ال
57.5vB الجذرية الرئيسية الطريق تنفق، لمجموع 100.5vB. إذا افترضنا مرة أخرى استخدام 90% من مساحة الكتلة، نحصل على:

أخيرًا ، لاحظ كيف يمكن تبديل قنوات البرق بين المحافظ في صفقة واحدة سواء عن طريق الثقة بالمحفظة التالية لتوقيع صفقة التزام بعد إرسال الأموال إلى عنوان الالتزام ، أو باستخدام الدعم المشترك لإغلاق قناة جديدة في تنفيذ كلا المحافظ.
بالطبع، هناك حالات استخدام منافسة لبيتكوين وراء قنوات البرق، وكيف سيترجم ذلك إلى معدلات الرسوم صعب معرفته. ولكن هذه الأرقام تعطينا تقريبًا أنه من الممكن على الأقل تقنيًا دعم مئات الملايين من مستخدمي البرق ذوي السيادة الذاتية بتكنولوجيا حالية.
في نمط تصميم UTXO (V-UTXO) الافتراضي ، والذي يعد Ark أبرز مثال عليه ، يتم إنشاء V-UTXOs عبر العهود أو اتفاقية متعددة الأطراف ، من خلال إنشاء معاملات يمكن تعدينها لسحب أموال V-UTXO من جانب واحد عن طريق وضعها على السلسلة ، ولكنها ليست في "المسار السعيد". في هذا الصدد ، تشبه V-UTXO القنوات. ولكن على عكس القنوات ، تقوم مخططات V-UTXO بإجراء المعاملات عن طريق إنفاق V-UTXOs نفسها ، في (من الناحية المفاهيمية)6 معاملة موقعة مسبقا.
نمط التصميم "المسار السعيد" هو استخدام مسار البرنامج "الجميع متفق عليه"، مثل N-of-N multisig؛ تم تصميم taproot خصيصًا لهذا المفهوم، مما يتيح لمسار المفتاح أن يكون N-of-N multisig عبر musig. بفرض اتفاق الأطراف جميعها، يسمح المسار السعيد بإنفاق العملات بكفاءة (وسرية).
من المثير للاهتمام، حيث أن UTXOs الافتراضية "حقيقية" بكثير في العديد من الجوانب، فمن السهل جدًا بناء القنوات على أعلى من UTXOs الافتراضية ببساطة عن طريق إنشاء UTXOs الافتراضية التي، إذا تم تعدينها، ستؤدي إلى إنشاء UTXOs المطلوبة للقنوات. في هذا المعنى، فإن مخططات UTXO الافتراضية هي
طبقة أدنى قليلاً من القنوات.
كما تم مناقشته أعلاه ، السمة الرئيسية للبرق هي حدود قابلية التوسع الخاصة بالمستخدم النهائي ، نظرًا للحاجة إلى وجود UTXO واحد على الأقل لكل مستخدم. ومع ذلك ، بالنسبة لعنصر التوجيه الأساسي للبرق - عقدة البرق العامة التي توجه غالبية المعاملات - لا تعد حدود القابلية للتوسع هذه مشكلة كبيرة ، حيث يعمل البرق بشكل جيد إذا كان هناك مستخدمون أكثر بكثير من عقد التوجيه ، لأن كل قناة عامة تستخدم لتوجيه الدفع يمكن أن تدعم بسهولة عددًا كبيرًا من المعاملات في الثانية. هذا هو أيضًا السبب في أن العديد من أنظمة L2 المستقبلية تتوقع أيضًا المشاركة في شبكة البرق. نرى أيضًا ذلك في كيفية اعتماد أنظمة Cashu غير الموجودة ك L2 الحالية بشكل كبير على شبكة البرق لتكون فعالة فعلا: ربما يكون الاستخدام الأساسي لـ Cashu هو إرسال واستقبال المدفوعات عبر البرق.
نظرًا لأن مصانع القنوات تتفاوض بشأن UTXO يمكن تعدينها ، ولكن لا يُتوقع أن يتم تعدينها فعليًا في المسار السعيد ، فإنها مثال بدائي جدًا لـ V-UTXOs.
مصانع القنوات بحد ذاتها لا تتطلب أي شوكات ناعمة لتكون ممكنة. ومع ذلك، فإن مصانع القنوات البسيطة الموصوفة أعلاه ربما لا تكون عملية وراء أعداد صغيرة من الأطراف بسبب التنسيق اللازم لتحقيق فائدة توسيعية. وبالتالي، مقترحات العهد مثل OP_Evictأو CTV (عبر أشجار txout) تهدف إلى السماح بمزيد من النتائج الدقيقة حيث يمكن إجبار الأطراف الفردية على السلسلة، دون إجبار الجميع على السلسلة في نفس الوقت.
بينما تشجع قنوات Poon-Dryja على نشر الحالة الصحيحة على السلسلة من خلال معاقبة الحالات غير الصحيحة ، يسمح LN-Symmetry بدلا من ذلك بتحديث الحالات غير الصحيحة بمعاملة إضافية. هذا له ميزة تبسيط قنوات Lightning عن طريق إزالة تعقيد العقوبات. ومع ذلك ، من المحتمل أن يكون هذا عيبا في السيناريوهات غير الموثوق بها ، حيث يمكن القول إن هناك حاجة إلى عقوبات لتثبيط الاحتيال.
يحتاج LN-Symmetry إلى فork لينعمل على تمكين الطبقة 2SIGHASH_ANYPREVOUT، الذي يتطلب السماح لصفقات الدولة بإعادة الإنفاق لصفقات الدولة الأخرى أثناء التحديثات.
بمفردها، LN-Symmetry لا تقدم تحسينات في توسيع القنوات البرقية التقليدية. ولكنوقد أجاد المؤيدونأنه يجعل الأمور مثل مصانع القنوات أسهل في التنفيذ.
للتعامل مع V-UTXOs بين الأطراف ، يشارك منسق Ark في توقيع المعاملات التي تنفق واحدا أو أكثر من V-UTXOs ، بحيث تكون المعاملات صالحة فقط إذا تم إنشاء واحد أو أكثر من V-UTXOs الأخرى في جولة مختلفة. بالاقتران مع بعض المهلات الدقيقة - راجع مستندات Ark للحصول على التفاصيل الكاملة - هذه التبعية هي ما يجعل إنفاق V-UTXO غير موثوق به: لا يمكن المطالبة ب V-UTXO على السلسلة ما لم يتم إنشاء V-UTXOs جديدة في معاملة تجمع مختلفة. هناك بعض الطرق المحتملة لتنفيذ هذه التبعية بالفعل. لكن التفاصيل الدقيقة ليست ذات صلة بأغراض هذه المقالة.
لاحظ كيف يعني هذا أن ASP معين سيكون له العديد من الجولات النشطة المختلفة التي تحدث في وقت واحد. يتم إنشاء جولات جديدة بشكل متكرر للسماح بتحويل الأموال في الجولات الحالية. لكن الجولات الحالية تتداخل مع الجولات الجديدة ، حيث ستنتهي صلاحيتها بشكل عام في وقت ما بعد إنشاء جولات جديدة ، وإنشاء مجموعات تجمع جديدة.
تحدث التكلفة بشكل خاص عندما يتم إنفاق V-UTXO. بينما يتم حفظ V-UTXO ، يمثل UTXO المحتمل الفعلي الذي يمكن وضعه على السلسلة لسحب الأموال دون الحاجة إلى موافقة أي شخص آخر؛ يمتلك المستخدم تلك الأموال. ومع ذلك ، لإنفاق V-UTXO ، يجب على ASP إنشاء txout لمجموعة جديدة باستخدام الأموال التي يحصل عليها ASP من مكان آخر ، بينما لا تتوفر الأموال في V-UTXO المنفقة لـ ASP حتى يتم الوصول إلى وقت الانتهاء.
بالتالي، يتطلب إنفاق V-UTXO قرضًا قصير الأجل، استعارة الأموال لتغطية الفترة الزمنية بين الآن وانتهاء الجولة. وهذا يعني أن تكلفة السيولة لإنفاق V-UTXO تنخفض فعلا مع تقدم V-UTXO في العمر وتقترب موعد الانتهاء، وفي النهاية — بالنظرية — تصل إلى الصفر عندما تنتهي الجولة.
أخيرا ، تذكر أن تكلفة إنفاق V-UTXO مرتبطة بالحجم الإجمالي ل V-UTXO الذي يتم إنفاقه. ليس المبلغ المدفوع للمستلم. هذا يعني أن المحافظ المخصصة للتعامل مع V-UTXOs مباشرة (على عكس إدارة V-UTXO واحدة لأغراض ، على سبيل المثال ، قناة إضاءة قائمة على V-UTXO) ، يجب أن تقوم بإجراء مقايضات في كيفية تقسيم الأموال إلى V-UTXOs. يقلل V-UTXO واحد من تكلفة السحب من جانب واحد ، مع زيادة رسوم المعاملات القائمة على السيولة ؛ تقسيم الأموال إلى العديد من V-UTXOs يفعل العكس. هذا يختلف تماما عن اقتصاديات معاملات Bitcoin أو Lightning على السلسلة.
ما هو تكلفة السيولة هذه؟ حاليًا، تفرض محفظة البرق فونيكس رسومًا بنسبة 1٪ لحجز سيولة القناة لمدة عام واحد. على أسوأ تقدير، يجب على فونيكس أن تربط أموالها لمدة عام واحد. ومع ذلك، يفترض أن السيولة لم يتم استخدامها. قد يكون من الممكن جدًا أن تكون تكلفة رأس المال لفونيكس في الواقع أعلى، وأنهم يفترضون أن العميل العادي يستخدم سيولته الواردة في أقل من عام واحد. كما أن فونيكس يكسب أموالًا من رسوم المعاملات، وربما يدعم سيولة القناة بشكل مالي. وأخيرًا، قد لا يكون فونيكس رابحًا!
سعر بطاقة خزانة الولايات المتحدة يعطينا تقديرًا آخر. في الوقت الحالي، يبلغ سعر بطاقة خزانة الولايات المتحدة لمدة 3 أشهر حوالي 5٪ في السنة. نظرًا للحجج التي تفيد بأن هذا السعر مبالغ فيه بسبب تضخم الدولار الأمريكي، فسنفترض تكلفة السيولة لصناديق بتكوينات بنسبة 3٪ في السنة لتحليلنا.
إذا كانت فترة الجولة 4 أسابيع، فهذا يعني أن الصفقة ستبدأ بتكلفة سيولة
، وفي النهاية ينخفض إلى الصفر. بافتراض أن المستخدم يحاول نقل أمواله إلى جولة جديدة قبل أسبوعين من انتهاء الجولة، فإن المستخدم يدفع حوالي 1.5٪ سنويًا في تكاليف سيولة لتحقيق الحصانة الذاتية لأمواله. من ناحية أخرى، إذا انتظر المستخدم حتى اللحظة الأخيرة8، يمكن أن يكون التكلفة تقريبًا صفر، على حساب خطر فقدان وقت الانتهاء.قد لا يرون المستخدمون هذا التكلفة تافهة. وتفترض هذه التكلفة أن تكاليف ثابتة لكل جولة تم تجاهلها من خلال توزيع رسوم المعاملات والتكاليف الأخرى على أعداد كبيرة من المشاركين.
ماذا لو كانت التكاليف الثابتة غير هامة؟ فلنفترض أن لدى ASP 1000 مستخدم، وتُنشأ صفقات الحوكمة للمجموعة مرة في الساعة في المتوسط. على مدار فترة 4 أسابيع، يكون هناك 672 صفقة على السلسلة. وهذا يعني أن مستخدمي ASP يجب عليهم أن يدفعوا تقريبًا لنفس عدد الصفقات مقابل الاحتفاظ بأموالهم! ربما سيكون أرخص بالنسبة لهم أن يفتحوا قنوات البرق الخاصة بهم جميعًا، على الرغم من أن ASP يطلب منهم الانتظار لمدة ساعة كاملة للتأكيد.
نظرًا لانتهاء الجولات، فإن هذه المشكلة مستمرة، وأسوأ حتى من تلك التي يواجهها قنوات Lightning: على الأقل يمكن لقناة Lightning الاستمرار في أن تكون مفيدة بشكل لا نهاية له، مما يسمح بفتح قناة الآن وتكوينها تدريجيًا على مدى عدة أشهر. ثانيًا، نظرًا لانتهاء الجولات، فإن هناك أقل مرونة فيما يتعلق بموعد إنشاء txouts الجديدة التي تدعم هذه الجولات: إذا كانت الرسوم مرتفعة لمدة أسبوعين أو أكثر، فليس لدى المستخدمين الذين تنتهي صفقاتهم السبيل إلا أن يدفعوا تلك الرسوم المرتفعة (جماعيًا) للحفاظ على حق الولاية على أموالهم. مع قنوات Lightning، هناك مرونة أكبر فيما يتعلق بموعد فتح القناة بالفعل.
بينما تخيل مؤلفو Ark في البداية سيناريو متفائل جدًا حيث يحدث جولات جديدة كل بضع ثوانٍ، فمن المحتمل أن يجب أن يحدث التشغيل الأولي باستخدام حالات الاستخدام التي يمكن أن تنتظر لساعات متعددة لتأكيد عملية Ark، إذا لم يتم تعويض رسوم العملية.
ضع في اعتبارك ما يحدث ل V-UTXO إذا كان المالك غير متصل بالإنترنت: بعد انتهاء الجولة ، يحتاج ASP إلى استرداد الأموال لاستعادة سيولتها لجولات أخرى. إذا كان مالك V-UTXO غير متصل بالإنترنت ، فإن وضع V-UTXO على السلسلة له تكاليف معاملات كبيرة ، حيث يحتاج ASP الآن إلى استرداد الأموال على مستويات متعددة من شجرة V-UTXO. يمكن ل ASP إعادة إنشاء V-UTXOs غير المنفقة في جولة جديدة. لكن هذا ليس غير موثوق به من وجهة نظر مالكي V-UTXO ، حيث لا يمكنهم إنفاق V-UTXO دون الحصول على البيانات9من الممكن أيضًا أن يسجل ASP V-UTXOs غير المنفقة كرصيد وصاية. أو ربما لديه سياسة لحجز الأموال!
شخصياً، أشك في أن العديد من المستخدمين سيختارون بدلاً من ذلك مزودي خدمات الأصول الرقمية الذين يتبعون سياسة تحويل الأموال إلى جولة جديدة ويتقبلون ببساطة الاحتمالية المحتملة للتزوير في نهاية كل جولة، نظرًا للتكلفة غير الثابتة للحفظ الذاتي في Ark. هذا أرخص من نقل أموالهم بشكل استباقي بوقت كافٍ لضمان السلامة في حالة عدم تمكين هواتفهم من نقل الأموال إلى جولة جديدة، على سبيل المثال.
بالمثل، من خلال العهود المتقدمة بما فيه الكفاية يمكن استبدال هيكل شجرة txout بنوع من نظام السحب المتداول، مما قد يوفر مساحة بشكل محتمل. سنغطي هذا في قسم آخر، حيث أن هذه التقنية قد تكون مفيدة بشكل محتمل للمخططات الأخرى.
مسألة الحضانة في نهاية الجولة هي حالة أخرى يمكن لـ Sufficiently Advanced™ العهود حلها: يمكن أن تجبر العهدة ، وخاصة عهدة ZK-proof ، ASP على إعادة إنشاء جميع V-UTXO غير المنفقة في الجولة التالية ، مما يزيل مشكلة الحضانة التي تعود إليها في نهاية الجولة. على الرغم من أنه من غير المرجح أن يكون من الممكن جعل هذا غير معتمد على الثقة ، حيث سيحتاج المستخدم على الأرجح إلى بعض البيانات من ASP لإنفاق V-UTXO على الجولة الجديدة ، إلا أنه يمكن أن يمنع ASP من الحصول المالي من الاحتيال على المستخدمين غير المتصلين بالإنترنت.
دفع رسوم السلسلة في السحب الأحادي
مشابه للإضاءة، تحدد اقتصاديات دفع الرسوم على السلسلة والقيمة الفعلية لـ V-UTXO بعد الرسوم ما إذا كان استخدام Ark يلبي تعريفنا لـ L2 من خلال الانسحاب الأحادي أو الاحتيال الفاشل للاستفادة من ASP. سنناقش تفاصيل هذا بشكل أكبر عند مناقشة نمط تصميم شجرة txout.
من وجهة نظر بيتكوين ، يتطلب نظام الكشف عن الصحة الخروج من الصحة وعهدًا ، حيث نرغب في أن نتمكن من إنشاء UTXO للنظام يمكن إنفاقها فقط إذا تم اتباع قواعد النظام. هذه ليست بالضرورة عملية لامركزية. في الواقع ، العديد من أنظمة الكشف عن الصحة الخروج من الصحة هي تمامًا مركزية ؛ إثبات الكشف عن الصحة يثبت أن منفذ المعاملات المركزية اتبع قواعد تسلسل معينة من المعاملات.
فيما يتعلق بالعهد ... تقنية البرهان بدون معرفة لا تزال مجالًا جديدًا جدًا، مع استمرار التطورات بشكل متكرر. لذا، فمن غير المرجح تمامًا أن نرى أي أوبكود مضافة إلى بيتكوين تقوم بالتحقق مباشرة من أية مخططات محددة لبراهين بدون معرفة. بدلاً من ذلك، يُقبل عمومًا استخدام مخططات محددة بدلاً من ذلك باستخدام أوبكودات أكثر عمومية، على وجه الخصوص OP_CAT، للتحقق من براهين بدون معرفة عبر السكريبتات. على سبيل المثال، StarkWare هل الحملاتليتم اعتماد OP_CAT.
التمريرات الصحيحة هي موضوع كبير جدًا بامتياز، مع الكثير من المشاريع ذات القيمة المنخفضة / الضجيج العالي، لن نناقشها أكثر من إشارة إلى العمليات المحتملة التي تجعل هذا التصميم ممكنًا.
القنوات التسلسلية
القنوات الهرمية10 يهدف إلى جعل تغيير حجم القناة سريعا ورخيصا: "القنوات الهرمية تفعل لسعة القناة ما تفعله LN لعملة البيتكوين". ومع ذلك ، فإنها لا تزال لا تتجاوز بشكل أساسي حد 1 UTXO لكل مستخدم. كما أنها لا تتطلب أي تغييرات على بروتوكول Bitcoin على أي حال. لذلك لن نناقشها أكثر. يجب على مؤيديها ببساطة تنفيذها! إنهم لا يحتاجون إلى إذننا.
في الوقت الحالي، يبدو أن تطوير CoinPool قد توقف، حيث كان آخر تعهد بالموقع الرسمي منذ عامين.
أبسط مثال على التثبيت يأتي من حقيقة أنه بدون RBF الكامل ، يمكن إيقاف استبدال المعاملة. وبالتالي ، يمكن أن يكون لدينا معاملة منخفضة الرسوم ، مع إيقاف تشغيل الاستبدال ، والتي لن يتم تعدينها ولكن لا يمكن استبدالها. بشكل أساسي ، قامت 100٪ من طاقة التجزئة بإصلاح هذه المشكلة من خلال تمكين RBF الكامل ، وحتى كتابة هذا التقرير ، يجب تمكين RBF الكامل افتراضيا في الإصدار التالي من Bitcoin Core (بعد 11 عاما من الجهد!).
هذا يترك قاعدة BIP-125 الدبوس #3، المشكلة الوحيدة المتبقية المتعلقة ببروتوكولات L2 متعددة الأطراف والتي لم يتم حلها في نواة بيتكوين. للإشارة، تنص قاعدة BIP-125 الدبوس #3 على ما يلي:
يتطلب إجراء معاملة بديلة لدفع رسوم أعلى بشكل مطلق (ليس
معدل الرسوم فقط) أعلى من مجموع الرسوم المدفوعة بواسطة جميع المعاملات التي يتم استبدالها.
يمكن استغلال هذا القاعدة عن طريق بث صفقة ثابتة كبيرة ذات سعر رسوم منخفض ينفق الإخراج (الإخراجات) المتعلقة ببروتوكول متعدد الأطراف (بديلًا عن مجموعة من الصفقات). نظرًا لأن الصفقة لديها سعر رسوم منخفض ، فلن تتم تعدينها في الوقت المناسب ، إن حدث ذلك. ومع ذلك ، نظرًا لأنها لديها رسوم إجمالية عالية ، فإن استبدالها بصفقة مختلفة غير اقتصادي.
القاعدة # 3 يتم إصلاح التثبيت بسهولة إلى حد ما عبر معدل الاستبدال بالرسوم، ويعمل هذا الإصلاح في جميع المواقف. لسوء الحظ ، من غير الواضح ما إذا كان سيتم اعتماد RBFR بواسطة Core في المستقبل القريب ، حيث أنفقوا قدرا كبيرا من الجهد على حل جزئي أدنى ، معاملات TRUC/V3.
RBF هو المعيار الذهبي لدفع الرسوم لأنه الأكثر كفاءة في مساحة الكتلة في معظم الحالات11الحالات: لا تحتاج المعاملة (المعاملات) البديلة إلى أي مدخلات أو مخرجات إضافية، مقارنة بما كان من الضروري إذا تم تخمين الرسوم الصحيحة في المحاولة الأولى.
الكفاءة مهمة، لأن عدم الكفاءة في دفع الرسوم يجعلدفع الرسوم خارج النطاق مصدر مربح للإيرادات لعمال المناجم الكبار ؛ لا يمكن لعمال المناجم الأصغر حجما واللامركزيين الاستفادة من مدفوعات الرسوم خارج النطاق بسبب عدم جدوى الدفع لعامل منجم صغير لتأكيد المعاملة. يبدو أيضا أن دفع الرسوم خارج النطاق يدعو إلى مشكلات AML / KYC: في الوقت الحالي ، تتطلب معظم أنظمة دفع الرسوم خارج النطاق المتاحة بالفعل في الوقت الحالي نوعا من عملية AML / KYC لدفع الرسوم ، مع استثناء ملحوظ من مسرع mempool.space، والتي حتى كتابة هذا التقرير (أغسطس 2024) ، تقبل Lightning بدون حساب.
للاستفادة من RBF مباشرة في حالات المعاملات الموقعة مسبقًا ، تحتاج إلى توقيع مسبق للرسوم المتغيرة التي تغطي مجموعة كاملة من الرسوم المحتملة. في حين أن هذا أمر ممكن تمامًا في كثير من الحالات حيث أن عدد الاختلافات اللازمة عادة ما يكون صغيرًا.12، حتى الآن بروتوكول Lightning للإنتاج - وبروتوكولات أخرى مقترحة - اختارت بدلاً من ذلك استخدام Child-Pays-For-Parent(CPFP)، عادة عبر مخرجات الرسن.
الفكرة وراء مخرج المرساة هي إضافة مخرج واحد أو أكثر إلى عملية تحويل بقيمة دنيا أو صفر، مع النية دفع الرسوم عن طريق CPFP بتخصيص هذه المخرجات في عمليات ثانوية. هذا بالطبع غير فعال عند تطبيقه على البروتوكولات مثل LN التي تتمتع بعمليات على سلسلة الكتل الصغيرة، تقريبًا.تضاعف حجم إجمالي التزام LN باستخدام معاملة تزامنية بناءاً على خرج مؤقت. سيكون أقل قلقًا عند تطبيق البروتوكولات التي تستخدم معاملات أكبر حجمًا ، مثل أي شيء يستخدم OP_CAT لتنفيذ العهود.
هناك مشكلة أقل وضوحا في مخرجات المرساة وهي الحاجة إلى الاحتفاظ ب UTXOs إضافية لدفع الرسوم بها. في تطبيق "العميل" النموذجي ، يمكن أن يكون هذا عبئا إجماليا كبيرا ، لأنه بدون مخرجات المرساة ، لا توجد حاجة على الإطلاق للحفاظ على أكثر من UTXO واحد. في الواقع ، من المحتمل أن تكون بعض محافظ Lightning الحالية التي تركز على المستهلك عرضة للسرقة من الجانب البعيد من القناة في بيئات عالية الرسوم بسبب عدم القدرة على دفع الرسوم.
يمكن استخدام SIGHASH_ANYONECANPAY لدفع الرسوم في بعض الحالات عن طريق السماح بإضافة مداخل إضافية إلى المعاملات الموقعة؛ يسمح SIGHASH_SINGLE أيضًا بإضافة المخرجات. يستخدم البرق هذا لمعاملات HTLC. في الوقت الحالي يمكن أن تكون هذه الممارسة عُرضة للتعرض للتثبيت إذا لم يُعالج بعناية.13، حيث يمكن للمهاجم إضافة عدد كبير من المدخلات و/أو المخرجات إلى عملية تحويل لإنشاء دبوس برسوم عالية/معدل رسوم منخفض. يحل RBFR هذه المشكلة؛ النهج المستخدم في عمليات TRUC/V3 غير قادر على حل هذه المشكلة. هذا النوع من طرق الدفع بالرسوم ليس بفعالية RBF. ولكن يمكن أن يكون أكثر كفاءة من مخرجات الرصيد الأكثر تثبيتًا.
وأخيراً، هناك مجموعة متنوعة من اقتراحات الفورك الناعمة لإضافة طبقة 2.رعاية الرسوم النظام إلى بروتوكول بيتكوين. سيسمح هذا للمعاملات بالإعلان عن التبعيات على المعاملات الأخرى ، بحيث لا يمكن تعدين معاملة الراعي إلا إذا تم تعدين المعاملة الممولة أيضا (على الأرجح في نفس الكتلة). قد يكون هذا أكثر كفاءة من CPFP التقليدي حيث يمكن للمعاملة الراعية أن تعلن أن التبعية باستخدام vbytes أقل بكثير من حجم إدخال المعاملة.
المثال الكنسي هو ضد عقد مقفل بالوقت المتجانس (HTLC). بينما من السهل التفكير في HTLC كونه عقدًا للسماح بإمكانية إنفاق معاملة عبر الكشف عن صورة مسبقة، أو عبر مهلة زمنية. في الواقع بسبب قيود كتابة بيتكوين، يسمح HTLC بأن تكون معاملة دائمًا يمكن إنفاقها عن طريق الكشف عن صورة مسبقة، ثم بعد انتهاء المهلة الزمنية، بالإضافة إلى آلية المهلة الزمنية.
يستفيد تبديل الدورة الدراجية من ذلك باستخدام صورة ما قبل انتهاء المهلة ، لاستبدال المعاملة التي تحاول استرداد إخراج HLTC عبر آلية المهلة دون أن يتعلم الضحية الصورة المسبقة. يقوم هجوم تبديل الدورة الدراجية الناجح بذلك لفترة كافية لانتهاء مهلة HTLC لقناة مختلفة.
تحد رئيسي في استغلال دورة الاستبدال بشكل مربح هو أن كل جولة استبدال تكلف مالاً. ستنفق تنفيذ Lightning المدرك للموعد رسومًا أعلى وأعلى في محاولة إنفاق إخراج HTLC المنتهي قبل انتهاء صلاحية الإخراج HTLC التالي بدوره. ثانيًا، يمكن لأي شخص هزيمة الهجوم عن طريق بث الصفقة المستبدلة ببساطة15بمجرد الانتهاء من دورة الاستبدال.
كما هو الحال مع تثبيت المعاملات، فإن دورة الاستبدال أيضًا عبارة عن استغلال اقتصادي على العمالقة. في نهاية كل دورة استبدال، توجد معاملة تمت إزالتها من mempools، ومع ذلك فهي صالحة تمامًا ويمكن تعدينها إذا كان العمالقة لا يزالون يمتلكونها في mempools الخاصة بهم.
الحقيقة أن حدث خلل ناعم في OP_Expire من المحتمل أن يتكون من ميزتين، على غرار كيف OP_CheckLockTimeVerifyوOP_CheckSequenceVerifyالأكواد العملية تأتي في جزئين:
تحدي ملحوظ جدًا في نشر واستخدام OP_Expire هو إعادة التنظيم: المجتمع التقني لبيتكوين، بداية من ساتوشي17، حاولت التأكد من أن بروتوكول الاتفاق على بيتكوين مصمم بطريقة تتيح بعد إعادة تنظيم عميق، يمكن تعدين المعاملات المستخرجة سابقًا في كتل جديدة. تحاول هذه الرؤية أن تتجنب سيناريو الكوابيس الذي يؤدي إلى أن يصبح عدد كبير من العملات المؤكدة غير صالحة بشكل دائم - وبالتالي يفقد الناس المال الذي يعتمدون عليه - إذا أدى فشل الاتفاق إلى إعادة تنظيم كبيرة.
في حالة إعادة التنظيم الكبيرة ، يمكن أن تصبح المعاملات التي تستخدم انتهاء الصلاحية غير قابلة للتعديل بسبب الوصول إلى ارتفاع انتهاء صلاحيتها. يقترح اقتراح OP_Expire تخفيف هذه المشكلة من خلال معالجة مخرجات المعاملات التي تستخدم انتهاء الصلاحية بشكل مشابه لمعاملات coinbase ، مما يجعلها أيضا غير قابلة للإنفاق على ~ 100 كتلة.
تعتبر عائقاً كبيراً لنشر انتهاء صلاحية المعاملات هو التوصل إلى اتفاق حول ما إذا كان هذا التضحية مقبولًا، أو حتى مطلوبًا. أنواع المعاملات التي ستكون OP_Expire مفيدة بالفعل تشمل فترات انتهاء صلاحية طويلة حيث تتجمد أموال المستخدم. إضافة المزيد من الوقت إلى هذه الفترات غير مرغوب فيه. أيضًا، كانت المعاملات المزدوجة دائمًا وسيلة أخرى لإبطال القطع بعد إعادة التنظيم: مع الاستخدام المتزايد لـ RBF والاستخدام المقترح لمخرجات الأنكور بدون مفتاح، هل سيحدث انتهاء صلاحية المعاملة فرقاً كبيراً؟
SIGHASH_ANYPREVOUT مفيد أيضًا في الحالات التي نريد فيها استخدام الإصدارات المتغيرة لمعدل الرسوم RBF الموقعة مسبقًا بالاقتران مع المعاملات الموقعة مسبقًا، حيث أن حقيقة أن التوقيع لم يعد يعتمد على txid محدد يتجنب انفجار اندماجي لمتغيرات معدل الرسوم. ومع ذلك، فإن اقتراح BIP-118 الحالي لا يتناول هذا الاستخدام، وقد يكون غير متوافق معه بسبب حقيقة اقتراح SIGHASH_ANYPREVOUT للتزام أيضًا بقيمة UTXO.
كانت الاعتراض الأولي على SIGHASH_ANYPREVOUT فكرة أن المحافظ ستواجه مشاكل بسبب استخدامها بطرق غير مناسبة. المشكلة هي أنه بمجرد نشر توقيع واحد لـ SIGHASH_ANYPREVOUT ، يمكن استخدامه لإنفاق أي txout بالنص المحدد. وبالتالي ، إذا تم إنشاء إخراج ثاني بنفس النص بطريقة عرضية ، فإن SIGHASH_ANYPREVOUT يسمح بشكل تراكمي بسرقة تلك العملات. ومع ذلك ، نظرًا لوجود العديد من المخاطر الأخرى المرتبطة بالمحافظ وتنفيذات L2 ، يبدو أن هذا القلق قد انتهى.
في الوقت الحالي، يبدو أن المجتمع التقني العام إيجابي بشكل معقول حول تنفيذ BIP-118. ومع ذلك، كما تم مناقشته أعلاه في مناقشتنا حول LN-Symmetry، هناك جدل حول ما إذا كانت حالته الرئيسية - LN-Symmetry - فكرة جيدة بالفعل.
لماذا لا يكون العهود العائدة ممكنة في CTV؟ لأن وظائف التجزئة: يقوم CTV بفحص عملية الإنفاق مقابل تجزئة القالب ولا يوجد طريقة18إنشاء قالب يحتوي على CTV مع تجزئة لنفسها.
ذلك قال، هذا ليس بالضرورة قيدًا حقيقيًا: يمكنك بسهولة تجزئة سلسلة من تجزئات قوالب CTV لعمق عشرات الملايين من المعاملات في ثوانٍ فقط على جهاز كمبيوتر حديث. مع الأقفال الزمنية النسبية nSequenceويمكن بسهولة جعل الحجم الكتلي المحدود الفعلي الوصول إلى نهاية مثل هذه السلسلة يستغرق آلاف السنين.
مقترح CTV الحالي في BIP-119يحتوي على وضع تجزئة واحد فقط، المعروف باسم DefaultCheckTemplateVerifyHash، والذي يلتزم في الأساس بكل جانب من جوانب عملية الإنفاق في تجزئة الهاش. من وجهة نظر عملية، يعني هذا أن الآلية الوحيدة المتاحة في العديد من الحالات لدفع الرسوم ستكون CPFP. كما ذكر أعلاه، هذه مشكلة محتملة بسبب إنها تجعل دفع الرسوم خارج النطاق توفير تكلفة غير ثابتة في الحالات التي تكون فيها المعاملات المستخدمة لـ CTV صغيرة.
من العادل القول بأن CTV لديها أوسع دعم بين المجتمع التقني من أي مقترح لكود العهد بسبب بساطتها النسبية ومجموعة واسعة من حالات الاستخدام.
على الرغم من أن لدى المؤلفين أسباب جيدة ربما لاقتراحهم، إلا أن المسؤولية تقع عليهم في تفسير هذه الأسباب وتبريرها بشكل مناسب. وبالتالي لن نناقشها بشكل أكبر.
الدمج كافٍ لتنفيذ العديد من أنواع العهود، بما في ذلك العهود العامة، من خلال القيام بما يلي:
حقيقة أننا نحتاج فقط إلى تجميع المعاملة بدون بيانات الشاهد هي نقطة محورية: العهد يحتاج فقط إلى التحقق مما تفعله المعاملة - إدخالاتها ومخرجاتها - وليس بيانات الشاهد (إن وجدت) التي تجعلها صالحة في الواقع.
بالإضافة إلى حدود حجم البرنامج النصي ، تكفي مزيج OP_CAT و OP_CheckSigFromStack لبناء العديد من أنواع العهود ، بما في ذلك العهود الدوائرية. بالمقارنة مع حلول أكثر كفاءة مثل CTV ، فهو أكثر تكلفة. ولكن الفرق في التكلفة أقل مما تتوقعه!
بشكلٍ تقريبي، يتطلب استخدام OP_CAT للقيام بذلك وضع كل جزء غير الشاهد من عملية الإنفاق على الشكل عبر الشاهد. بالنسبة لحالات استخدام CTV النموذجية مثل أشجار txout، فإن عملية الإنفاق لن تحتوي على بيانات شاهد على الإطلاق. نظرًا لأن مساحة الشاهد مخفضة بنسبة 75%، فإن ذلك يزيد من رسوم المعاملات الفعالة لعملية الإنفاق الفرعية بنسبة 25% فقط. ليس سيئًا!
مثال رائع هو كيف يُزعم أن OP_CAT كافٍ للسماح بكفاءة معقولة وآمنةالتحقق من STARK سيتم تنفيذه في سكريبت بيتكوين. نظرًا لأن STARKs قادرة على إثبات عبارات عامة للغاية ، فإن جعل STARKs قادرة على التنفيذ بكفاءة له عواقب هامة تتجاوز نطاق أنظمة L2 حيث سيسمح ببناء العديد من الأنظمة المختلفة على بيتكوين. وهو حجة قوية ضد OP_CAT هو أن هذه الحالات الاستخدام قد لا تكون جيدة بشكل عام لمستخدمي بيتكوين.
يعد إنشاء قيمة قابلة للاستخراج لعامل منجم مركزي ضار مشكلة محتملة رئيسية ، المسمى "MEV الشرير" (MEVil)بقلم مات كورالو. MEVil بإختصار هو أي ظرف يمكن للمنقبين / المجموعات الكبيرة إستخراج قيمة إضافية عن طريق توظيف إستراتيجيات تعدين الصفقات المعقدة - بعيداً عن تحقيق أقصى قيمة للرسوم - والتي يصعب على المنقبين / المجموعات الأصغر إعتمادها. تعقيد الأدوات المالية المحتملة التي يمكن إنشاؤها باستخدام OP_CAT يجعل من الصعب جدًا استبعاد MEVil. ظهر MEVil الكبير بالفعل على بيتكوين من بروتوكولات مزاد الرموز الرقمية ؛ لحسن الحظ ، تم هزيمة هذه الحالة المحددة من خلال تبني full-RBF.
بالإضافة إلى إمكانية MEVil، هناك العديد من حالات الاستخدام العملية الأخرى لـ OP_CAT التي قد تكون ضارة بشكل محتمل. على سبيل المثال، تم تقديم اقتراح Drivechains تمت مراجعتها هنا, ويُعتبر عمومًا ضارًا لبيتكوين. إنها معتقد أنه ممكنلتنفيذ Drivechain’s مع OP_CAT. مثال آخر هو اقتراحات الرموز مثل Taproot Assets. على الرغم من أنه من المستحيل بشكل عام منع تنفيذها مع التحقق من الجانب العميل، هناك اقتراحات لتنفيذها بواسطة OP_CAT بطرق قد تكون أكثر جاذبية للمستخدمين النهائيين ، وفي الوقت نفسه باستخدام المزيد من مساحة الكتلة ، مما يمكن أن يتفوق على المعاملات البيتكوين الشرعية. قد تؤدي هذه الحالات الاستخدامية أيضًا إلى مشكلات قانونية بسبب تكرار استخدام بروتوكولات الرمز للغش المالي.
أحد قرارات التصميم المهمة هو ما إذا كان سيتم عرض وحدات البايت الفعلية في منتصف الحالة على المكدس في نوع من الشكل الأساسي أم لا ، أو تمثيلها في نوع جديد من نوع عنصر المكدس غير الشفاف الذي لا يمكن التلاعب بقيمة البايت الفعلية الخاصة به مباشرة. تم تحديد SHA256 لمتجه تهيئة معين وثابت ويبدو أنه من غير المعروف ما إذا كانت خصائص تشفير SHA256 صحيحة أم لا إذا تم السماح بمتجهات التهيئة / التهيئة التعسفية.
بالطبع، نظرًا لأن التجزئة التدريجية يمكنها فعل ما يقدر أن يفعل OP_CAT تقريبًا، فقط بكفاءة أكبر، فإنها تشارك جميع القلق بشأن OP_CAT كونها قوية للغاية.
إحياء النص
OP_CAT كانت واحدة من 15 opcode قام ساتوشي بتعطيلها. بالإضافة إلى استعادة OP_CAT ، يقترح راستي راسل.21لإعادة بشكل أساسي نص بيتكوين إلى "رؤية ساتوشي الأصلية" من خلال إعادة تمكين معظم تلك الترميزات العملية، وإضافة حدود DoS، وإضافة بعض الترميزات الإضافية المحتملة في نفس الفورك بشكلٍ خاص، من المحتمل وجود OP_CheckSigFromStack.
في حين أن OP_CAT وحدها تجعل العهود (المتكررة) ممكنة ، فإن "إحياء النص" الكامل من شأنه أن يجعل العهود الأكثر تعقيدا ممكنة - وأسهل بكثير في التنفيذ - حيث يمكن التلاعب بأجزاء من معاملة الإنفاق مباشرة. على سبيل المثال ، يمكنك تخيل برنامج نصي للعهد يستخدم أكواد العمليات الحسابية للتأكد من أن القيمة الإجمالية ل txouts في المعاملة تلتزم ببعض الخصائص المطلوبة.
مرة أخرى، يثير إحياء النص جميع المخاوف نفسها، وأكثر، حول كونه قويًا بشكل مفرط يفعل OP_CAT وحده.
في الواقع، البساطة هي بسيطة جدًا، وليست بسيطة على الإطلاق. الجمعيات الأساسية هي منخفضة المستوى للغاية بحيث يجب تنفيذ العمليات الأساسية مثل الجمع بصورة مضنية من البداية. لذا، سيكون البرنامج النصي الأساسي لـ Simplicity طويلًا جدًا في الواقع. وبالتالي، فإن أي استخدام حقيقي لـ Simplicity سيستخدم نظامًا من الاستبدالات البرمجية، مثل استدعاءات دوال المكتبة، والمعروف باسمjets. يشكل هذا مشكلة عملية / سياسية: كيف تقرر أي الطائرات المقاتلة تنفيذها؟ من المرجح أن تتم تنفيذ الطائرات المقاتلة بلغة C++ ، مثل أي كود أوبكود آخر ، مما يتطلب شوكة ناعمة لكل طائرة مقاتلة جديدة.
من أجل أغراض هذه المقالة، ليس من الضروري أن ندخل في تفاصيل كل واحدة من هذه الاقتراحات العديدة. بدلاً من ذلك، يمكننا الحديث عنها كمجموعة: جميعها اقتراحات نوع الاستخدام النسبي التي تجعل فئة واحدة من L2 ممكنة، في الأفضلية دون آثار جانبية غير مقصودة. جميعها لديها ميزة الكفاءة: جميعها تستخدم مساحة كتلية أقل من تحقيق نفس الهدف باستخدام عمليات تحريك OP_CAT الأكثر عمومية. ولكن لديها جميعًا عيب إضافة تعقيدات إلى نظام النصوص، لحالة استخدام محتملة بشكل نيش.
نفس الديناميكية ستحدث إذا اعتمد بيتكوين نظام البرمجة البسيطية. المعادل لأوبكودس في البساطة هو إضافة جت لنمط يستخدم بشكل شائع. مرة أخرى، تنفيذ الجيتس للعمليات المحددة لحالة الاستخدام مثل تلاعب الشجرة له مزايا وعيوب مماثلة لتنفيذ الأوبكودس المعقدة لعمليات محددة لحالة الاستخدام.
لكي يكون تجمع الأموال مفيدا ، يجب أن يحتوي على نوع من "حالة بيانات المشاركة" المرتبطة به: كيف يتم تقسيم قيمة txout؟ إذا كان لمجمع الأموال أن يتطور بمرور الوقت ، فيجب أن تتغير هذه الحالة أيضا مع إضافة الأموال أو إزالتها من المجمع. نظرا لأننا نبني على Bitcoin ، فإن إضافة أو إزالة الأموال من المجمع سيتضمن حتما إنفاق UTXO على عناصر التحكم في المجمع.
تذكر أن نظام الاتفاق في بيتكوين يعتمد بشكل أساسي على التحقق من تغييرات الحالة: تثبت المعاملات من خلال شهودها أن التغييرات في حالة مجموعة UTXO صالحة. يتيح لنا إثبات العمل التوصل إلى اتفاق حول مجموعة من المعاملات الصحيحة. هذا يعني أن حمامات الأموال ستعتمد أنفسها أيضًا على التحقق من تغييرات الحالة: نثبت لكل عقدة بيتكوين أن القواعد المتعلقة بحوض الأموال يتم اتباعها في كل تغيير في الحالة.
ولكن هناك جانب آخر مهم لحمامات الأموال طبقة 2 الغير قابلة للتحقق: عندما يتغير حال حوض الأموال، يجب أن يقوم النظام بنشر البيانات الكافية بشكل طبيعي للمستخدمين الذين يشاركون في حوض الأموال لاستعادة أموالهم. إذا لم نفعل ذلك، فإن نظامنا يفشل في توفير السحب الأحادي، دون تعاون الأطراف الثالثة. تفشل العديد من الخطط المعتمدة على اللفائف هنا: إنها تعاني من فشل في توفر البيانات، حيث يتعذر على المستخدم استعادة أمواله إذا تعطلت المنسقون من الأطراف الثالثة، لأنهم ليس لديهم وسيلة للحصول على البيانات اللازمة لإنشاء صفقة استعادة أموال صالحة.
مع وضع هذه القيود في الاعتبار ، ما هي هياكل البيانات التي ستستند إليها مجمعات الأموال؟ حتما ، كلهم نوع من الأشجار. على وجه التحديد ، نوع من شجرة ميركل. يجب أن تكون شجرة ، لأن هذا هو إلى حد كبير بنية البيانات الوحيدة القابلة للتطوير في علوم الكمبيوتر. يجب أن يتم دمجهم ، لأن هذه هي الطريقة الوحيدة المعقولة للالتزام المشفر بحالة الشجرة. أخيرا ، سيتم نشر تحديثات الشجرة حتما على blockchain Bitcoin ، لأن هذا هو الذي وسيلة نشرجميع مستخدمي L2 يشتركون فيها، وهي الوحيدة التي يمكننا أن نجبر المستخدمين على نشرها لنقل العملات. ولأن أي تنفيذ للعهد سيحتاج إلى أجزاء من الشجرة للتحقق من أن قواعد العهد تُتبع.
إذا، مع نظرية المستوى العالي التي تم التعامل معها، كيف يتم ترجمة هذا فعليًا إلى نصوص بيتكوين ومعاملات؟
العهد الوحيد المطلوب هنا هو العهد الأساسي الأكثر أهمية: المعاملة الموقعة مسبقًا.
أشجار Txout
نمط التصميم التالي، وهو أكثر تعقيدًا، الذي نراه في حمامات الصندوق هو شجرة txout. Ark هو مثال بارز. هنا يمكن تقسيم حمام الصندوق عن طريق إنفاق UTXO الجذر في شجرة من المعاملات المحددة مسبقًا، والتي يتم فرضها باستخدام عهود بسيطة مثل المعاملات الموقعة مسبقًا أو CTV، مقسمة قيمة تلك UTXO إلى مبالغ أصغر وأصغر حتى يتم الوصول إلى العقد الورقية التي يمكن إنفاقها من قبل أصحابها بحق.
من المهم أن ندرك أن الغرض من شجرة txout هو منح المستخدمين خيارات حول كيفية استرداد أموالهم ، وهذه الخيارات تأتي بتكلفة: ستكون شجرة txout دائما طريقة أكثر تكلفة لتقسيم مجموعة من الأموال ، وإعادتها إلى أصحابها ، من مجرد تقسيم UTXO في معاملة واحدة. تضيف كل طبقة في الشجرة تكلفة بسبب البايتات المستخدمة في txouts و txins اللازمة لإنشاء تلك الطبقة.
إذاً، ما هي الخيارات التي يمكن أن يوفرها شجرة txout؟ مرة أخرى ، Ark هو مثال رائع: لا نريد أن يتطلب استرداد V-UTXO واحد في السلسلة أن يتم وضع كل V-UTXO واحد في السلسلة. باستخدام شجرة ، يمكن تقسيم الاسترداد إلى أجزاء أصغر حتى يتم وضع V-UTXO المطلوب في السلسلة.
مشابهة لحالة المعاملة الموقّعة مسبقًا من قِبَل الفرد، المعلومات المُنشَرة هي المعاملات نفسها، التي تُخبر محفظة المستخدمين الآخرين كيفية إنفاق أموالهم إذا لزم الأمر.
قابلية التوسع لأشجار txout لها وفورات حجم مثيرة للاهتمام. تكلفة أول V-UTXO يتم وضعها على السلسلة ، في مجمع صناديق مع n V-UTXOs ، هي تقريبا log2 (n) log2 (n) أكثر تكلفة من معاملة واحدة حيث يجب وضع مستويات log2 (n) للمعاملات المقسمة على سلسلة. ومع ذلك ، بمجرد وضع V-UTXO الأول على السلسلة ، تصبح V-UTXOs اللاحقة أرخص في الاسترداد على السلسلة لأن شخصا آخر قد دفع بالفعل تكلفة استخراج المعاملات الوسيطة.
تذكر أن العدد الإجمالي للعناصر في شجرة بيانية ثنائية الأبعاد مع
عدد الأوراق هو 2n. هذا يعني أنه لوضع جميع V-UTXOs على السلسلة ، سيكون التكلفة الإجمالية للقيام بذلك عبر شجرة txout مضاعفة صغيرة للتكلفة الإجمالية للقيام بذلك في عملية واحدة. فعالة بشكل مدهش!
أو ربما لا... إذا كان حجم إجمالي استرداد حوض الأموال كافياً ، فقد يمثلون طلبًا غير تافه على إجمالي مساحة الكتلة. مساحة الكتلة نظام العرض والطلب ، لذلك في نقطة ما سترتفع الرسوم بسبب الطلب العالي. في الحد الأقصى ، من الممكن تكوين أشجار txout كبيرة وعميقة لدرجة أن استرداد كل شيء فعليًا...
RBF معقد للتنفيذ بسبب الإذن: المكان الواضح لأخذ رسوم RBF هو قيمة V-UTXO. ولكن كيف يمكنك التأكد من أن المالك فقط لديه القدرة على التوقيع على معاملة رسوم أعلى؟ في كثير من الحالات ، ليس من الواضح كيفية القيام بذلك بطريقة أكثر كفاءة من إخراج مرساة بدون مفتاح. ومع ذلك ، فإن الفشل في القيام بذلك يشكل تحديات خطيرة للمخططات التي تستخدمها محافظ المستخدم النهائي ، والتي قد لا يكون لديها UTXO لإنفاقها لأداء CPFP ، إذا كان لا يمكن إنفاق V-UTXOs نفسها على الفور.
أخيرًا ، يجب وضع التفكير الدقيق في المحافظة على الحوافز الموجودة في أنظمة شجرة txout ، مع مراعاة دفع الرسوم. على سبيل المثال ، في نظام مثل Ark ، إذا تكلفت مجموعة من V-UTXOs تكلفة مالية مرتفعة لدرجة أنها لا تستحق أن تؤخذ إلى V-UTXOs في السلسلة ، فيمكن للمنسق غير التعاوني أن يرفض السماح بخصم هذه الـ V-UTXOs خارج السلسلة ، ثم يحقق ربحًا من سرقة قيمة تلك الـ V-UTXOs في عملية واحدة لصرف UTXO عندما تنتهي المهلة.
إذا كانت هذه هي الحالة، فمن المحتمل أن مثل هذا النظام سيفشل معاييرنا ليكون طبقة 2 للمخرجات الافتراضية الصغيرة.
للقيام بذلك، نحتاج إلى تنفيذ جهاز حالة غير تافه. ولكننا نحتاج أيضًا إلى ما يعد قاعدة بيانات مشتركة. لماذا؟ لأن الهدف هنا هو مشاركة UTXO واحدة عبر العديد من المالكين المختلفين. وأخيرًا، إذا كنا فعلا سنحصل على تحسين في قابلية التوسع، يجب أن نفعل ذلك بطريقة تضع أقل قدر ممكن من بيانات الملكية تلك على السلسلة.
هذه المتطلبات تؤدي بشكل طبيعي إلى نوع ما من الهيكل البياني المعمم مثل شجرة ميركليزد، مثل شجرة ميركلي الجمع. من المؤكد أن تلاعب بهذا الهيكل البياني يتطلب بشكل طبيعي شيئًا مثل OP_CAT، نوع ما من دليل الصفر المعرفة لتحقق التعليمات البرمجية، أو تعليمات برمجية خاصة بتلاعب الشجرة.
ومن المثير للاهتمام ، كما هو الحال في أشجار txout ، لا يمكنك القيام بعمل أفضل من ترتيب log(n) مع الحفاظ على خصائص أمان مماثلة. لماذا؟ لنفترض أن لدينا OP_ZKP افتراضيا احتاج من خلال بعض الرياضيات المتقدمة إلى 32 بايت فقط لإثبات أي بيان. في حين أن هذا الدليل zk يمكن أن يثبت أن بنية البيانات merkelized قد تم التلاعب بها وفقا لقواعد نظام الطبقة 2 ، إلا أنها ستفشل في توفير البيانات اللازمة للمستخدم التالي لإجراء تغيير في الحالة أيضا. هذا يفشل في معاييرنا المفضلة لتمكين السحب غير المشروط: في أحسن الأحوال قد يتمكن مستخدم واحد من تحقيق سحب غير مشروط. ولكن لا يمكن للمستخدمين الآخرين القيام بذلك.
على العكس من ذلك ، إذا تم نشر أجزاء المنشورات المعدلة من هيكل البيانات الميركلزيد عن طريق مخطوطات الكوفينانت - على سبيل المثال ، عناوين العناصر الفرعية في شجرة ميركل - فإن المستخدم التالي لديه بيانات كافية لتحديث فهمه لحالة النظام وجعل انسحابهم غير المشروط.
طريقة محتملة للتغلب على هذه المشكلة هي إذا تطلب العهد إثبات النشر على وسيلة نشر مختلفة عن سلسلة بيتكوين. ومع ذلك، فإن الضمانات الأمنية ستكون أضعف مما هو ممكن عبر بيتكوين.
أخيرًا، لاحظ كيف يمكن دمج أشجار txout ونهج الرصيد. إذا كانت هيكلة البيانات التي يتم التلاعب بها هي شجرة txout، يمكن إضافة الأموال إلى شجرة txout عن طريق إنفاق الإخراج وإضافة أموال جديدة، مع نص كهفي يحقق صحة أن الأموال تمت إضافتها في الواقع إلى شجرة txout. بالمثل، يمكن إزالة الأموال بواسطة جميع الآليات المتاحة عادة لشجرة txout. يعد Advanced Ark مثالًا على هذه الفئة من النظام.
الطاقة القصوى للكتلة في جميع سلاسل الكتل اللامركزية (والمركزة) محدودة بقيود تقنية. في بيتكوين، الحجم الأقصى للكتلة هو بحيث يعمل بيتكوين في الأساس بسعة ~100% من الوقت. نظرًا لأن تعدين بيتكوين يعمل كنظام مزاد، يتم بيع مساحة الكتلة لأعلى مقدم عرض، في الممارسة يعني هذا أن أدنى معدل رسوم لتعدين المعاملة يزيد وينخفض مع زيادة وانخفاض الطلب.
معدل الرسوم يؤثر دائمًا في اقتصاد L2 وأوضاع الفشل. على سبيل المثال ، في البرق ، تستخدم HTLCs "حجم الغبار" التي صغيرة جدًا لا يمكن استردادها بشكل مربح على السلسلة نموذج أمان مختلف عن HTLCs الأكبر. في حين أن بروتوكول Lightning لا ينفذ هذا بشكل صحيح بعد ، في النظرية يجب أن يكون هذا العتبة ديناميكيًا ، استنادًا إلى معدلات الرسوم وارتفاعها وانخفاضها ، بحيث يمكن للطرف اختيار ما إذا كان HTLC موجودًا حتى في صفقة الالتزام المعطاة بناءً على معدل الرسوم.
تم اقتراح مجموعة متنوعة من الهجمات حيث يتم تعمد تنشيط هذا الوضع على البرق، مثل الفيضان والنهب22وهجوم الخروج الجماعي23. نظرًا لأن سعة سلسلة كتل Bitcoin مشتركة عبر جميع الحالات الاستخدامية ، فإن الهجمات بين نظم L2 المختلفة ممكنة أيضًا: على سبيل المثال ، تحفيز الخروج الجماعي على Ark للاستفادة من قنوات Lightning.
L2 التي تشترك في UXXO بين العديد من المستخدمين تجعل هذه المشكلات بطبيعتها أسوأ ، حيث أن أسوأ طلب على مساحة الحظر أثناء الفشل أعلى نسبيا. حتى كتابة هذا التقرير ، لم نشهد في الواقع إخفاقات واسعة النطاق على Lightning حيث كان لا بد من إغلاق أعداد كبيرة من القنوات في وقت واحد. هناك حجة جيدة مفادها أننا يجب أن نحصل على خبرة تشغيلية إضافية مع Lightning وقياسها تقريبا 1-UTXO لكل مستخدم ، قبل دفع الحدود إلى أبعد من ذلك مع مخططات مشاركة UTXO.
ثانيًا ، قبل اعتماد نظم مشاركة UTXO الجديدة على نطاق واسع ، يجب إجراء بحث دقيق حول الربحية المحتملة للهجمات أثناء الطلب العالي على مساحة الكتلة. على سبيل المثال ، في نظام مثل Ark حيث يمكن لـ ASP استرداد الأموال باستخدام مساحة كتلة أقل بكثير من الأطراف الأخرى ، قد يكون الأمر كذلك أن تشغيل أسعار الرسوم المرتفعة عن قصد ثم الاستيلاء على الأموال التي لا يمكن سحبها بربح ثنائي يعد احتيالًا مربحًا ، مخالفًا لكل من شروطنا لنظام L2 الحقيقي.
أحدث فورك ناعم، تابروت، كانت له عملية نشر مثيرة للجدل نسبيا، مستغرقة وقتًا طويلاً للنشر بالفعل. أحد الحجج لإجراء تنظيف للموافقة الناعمة في الطبقة 2 أولاً، قبل تمكين أي أوبكودات جديدة أو ميزات أخرى لأنواع جديدة من الطبقة 2، هو أننا سنتعلم المزيد حول مدى استعداد المجتمع الأوسع لتنفيذ ما ينبغي أن يكون تغييرًا ناعمًا نسبياً للموافقة يفيد الجميع على ما يبدو.
نهج أبسط هو التظاهر بأن بعض الأطراف لا يمكنها القيام بالإجراءات التي قد تمنعها الشروط. على سبيل المثال ، إذا كانت البروتوكول المقترح يرغب في استخدام CTV لفرض نفقة txout في شجرة المعاملات ، يمكن استبدال كل استخدام لـ CTV بـ NOP أو CheckSig. بينما في الواقع لا يتم فرض شجرة txout بالفعل ، يمكن اختبار كل قسم من الشجرة وكل طرف وكأنه يتم فرضه ، وبما أن NOP و CheckSig مسموح بهما في البرامج النصية القياسية ، يمكن اختبار البروتوكول على الشبكة الرئيسية باستخدام أموال حقيقية.
سنترك أيضًا جميع أوامر تلاعب شجرة ميركل المقترحة. جميعها غير معروفة جدًا وتعتمد على حالة الاستخدام لديها فرصة ضئيلة جدًا في الاعتماد في هذا الوقت. فيما يتعلق بفائدة هذه الأوامر ، فإن تنفيذ تأثيراتها عبر OP_CAT و / أو Script Revival هو مسار أكثر احتمالًا للاعتماد.

CTV هو الفائز الواضح هنا ، يليه SIGHASH_ANYPREVOUT (OP_Expire مفيد للعديد من الأشياء من خلال كونه إصلاحا بديلا لركوب الدراجات ، ولكنه ليس ضروريا). تفوز CTV لأن الكثير من الأشياء تتناسب مع نمط تصميم "التأكد من أن معاملة الإنفاق تتطابق مع هذا القالب" ؛ حتى OP_CAT الإنشاءات يمكنها الاستفادة بكفاءة من CTV.
على عكس OP_CAT ، لا يبدو أن CTV يثير الكثير من مخاطر التبعات غير المقصودة بالإضافة إلى تشجيع دفعات الرسوم خارج النطاق في حالات معينة. هذا ليس مثاليًا. لكن لم يقدم أحد بديلًا مدعومًا على نطاق واسع.
توصيتي الشخصية: قم بتنظيف الشوكة الناعمة بالإجماع ، متبوعا ب CTV.
إخلاء المسؤولية: الآراء ووجهات النظر الواردة في هذه المقالة هي آراء المؤلف فقط ولا تشكل أي نصيحة استثمارية.
تُجري فرقة Gate Learn ترجمة المقال إلى لغات أخرى. ما لم يُذكر غير ذلك، يُحظر نسخ أو توزيع أو سرقة المقالات المترجمة.





