المؤلف: جيفري HU وHarper LI، HashKey Capital
الأحدث كانت هناك موجة من النقاش في مجتمع Bitcoin حول إعادة تمكين أكواد التشغيل مثل OP_CAT. لقد اجتذب Taproot Wizard أيضًا الكثير من الاهتمام من خلال إطلاق Quantum Cats NFTs والادعاء بأنه حصل على رقم BIP-420. يدعي المؤيدون أن تمكين OP_CAT يمكن أن يؤدي إلى تمكين "المواثيق" أو العقود الذكية أو إمكانية برمجة البيتكوين.
إذا لاحظت كلمة "قيود" وقمت بالبحث قليلاً، فستجد أن هذا أمر آخر حفرة أرنب كبيرة. لقد ناقش المطورون لسنوات بالإضافة إلى OP_CAT، هناك أيضًا تقنيات مثل OP_CTV وAPO وOP_VAULT وما إلى ذلك لتنفيذ البنود المقيدة.
إذن، ما هي "القيود" المفروضة على البيتكوين؟ لماذا جذبت اهتمام ومناقشات الكثير من المطورين لعدة سنوات؟ ما هي قابلية البرمجة التي يمكن تحقيقها باستخدام البيتكوين؟ ما هو مبدأ التصميم وراء ذلك؟ تحاول هذه المقالة تقديم مقدمة عامة ومناقشة.
ما هي "القيود"
المواثيق، الترجمة الصينية أ "شرط التقييد"، الذي يُترجم أحيانًا على أنه "عقد"، هو آلية يمكنها تحديد شروط معاملات البيتكوين المستقبلية.
يحتوي برنامج Bitcoin النصي الحالي أيضًا على شروط مقيدة، مثل إدخال توقيع قانوني وإرسال نصوص برمجية متوافقة، وما إلى ذلك. ولكن طالما أن المستخدم يستطيع فتحه، فيمكنه إنفاق UTXO أينما يريد.
شرط التقييد هو وضع المزيد من القيود بناءً على كيفية إلغاء قفل هذا التقييد، على سبيل المثال، تقييد الإنفاق بعد UTXO هو تحقيق تأثير مشابه لـ "الأموال المخصصة" أو شروط الإدخال الأخرى المرسلة في المعاملة، وما إلى ذلك. التحليل النهائي هو أنشروط التقييد يمكن أن تحد بشكل مباشر من الإنفاق الإضافي للمعاملات في نصوص Bitcoin، وبالتالي تحقيق قواعد المعاملات المشابهة لتأثيرات العقود الذكية.
بمعنى أكثر دقة، يحتوي برنامج Bitcoin النصي الحالي أيضًا على قيود معينة. على سبيل المثال، يتم تنفيذ قفل الوقت استنادًا إلى كود التشغيل من خلال حقل nLock أو nSequence لمعاملة الاستبطان. هناك حد زمني قبل إنفاق المعاملة، ولكنه يقتصر بشكل أساسي على الحدود الزمنية.
فلماذا يقوم المطورون والباحثون بتصميم عمليات التحقق من القيود هذه؟ لأن البنود المقيدة ليست مجرد قيود من أجل القيود، ولكنها أيضًا تضع قواعد لتنفيذ المعاملات. بهذه الطريقة، يمكن للمستخدمين فقط تنفيذ المعاملات وفقًا لقواعد محددة مسبقًا لإكمال عملية الأعمال المحددة مسبقًا.
فما هو غير بديهي هو أن هذا يمكن أن يفتح المزيد من سيناريوهات التطبيق.
سيناريو تطبيق المواثيق
تأكد من عقوبة التوقيع المساحي
أحد الأمثلة الأكثر بديهية للشروط المقيدة هو معاملة Slash الخاصة بـ Bitcoin الخاصة بشركة Babylon قيد التنفيذ.
تتمثل عملية تخزين البيتكوين في بابل في قيام المستخدمين بإرسال أصول BTC الخاصة بهم إلى برنامج نصي خاص على السلسلة الرئيسية، وتتضمن شروط الإنفاق نوعين: < /p>
·نهاية سعيدة: بعد فترة زمنية معينة، يمكن للمستخدم فتحه بتوقيعه. وذلك لإكمال عملية إلغاء التثبيت
·نهاية سيئة: إذا كان المستخدم في نقطة البيع التي يتمتع أمانها مستأجرة من قبل Babylon إذا كانت هناك سلوكيات شريرة مثل التوقيع المزدوج على السلسلة، فيمكن فتح هذا الجزء من الأصول من خلال EOTS (التوقيعات القابلة للاستخراج لمرة واحدة، والتوقيعات القابلة للاستخراج لمرة واحدة)، وسيتم فرض دور التنفيذ في الشبكة بالقوة إرسال جزء من الأصول إلى العنوان المحترق (شرطة مائلة) )
< /p>
(المصدر: الستاكينغ بالبيتكوين: فتح 21 مليون عملة بيتكوين لتأمين اقتصاد إثبات الملكية)
انتبه إلى "الإرسال القسري" هنا، مما يعني أنه حتى إذا كان من الممكن فتح UTXO هذا، فلا يمكن إرسال الأصل إلى أي مكان آخر بشكل تعسفي ولا يمكن إرساله إلا أحرق. سيضمن هذا عدم تمكن المستخدمين الضارين من استخدام توقيعاتهم المعروفة لنقل الأصول مرة أخرى إلى أنفسهم من أجل الهروب من العقاب.
إذا تم تنفيذ هذه الوظيفة بعد تنفيذ قيود مثل OP_CTV، فيمكن إضافة أكواد التشغيل مثل OP_CTV إلى فرع "النهاية السيئة" للبرنامج النصي للتخزين لتنفيذها قيود.
قبل تنشيط OP_CTV، تحتاج Babylon إلى استخدام طريقة مرنة، يتم تنفيذها بشكل مشترك من قبل المستخدمين + اللجان، لمحاكاة تأثير فرض شروط التقييد.
التحكم في الازدحام
بشكل عام، الازدحام يشير إلى أن معدل المعالجة على شبكة Bitcoin مرتفع جدًا ويكون هناك المزيد من المعاملات المتراكمة في مجمع المعاملات في انتظار تعبئتها، لذلك، إذا أراد المستخدمون تأكيد المعاملات بسرعة، فهم بحاجة إلى زيادة رسوم المعالجة.
في هذا الوقت، إذا كان على المستخدم إرسال معاملات متعددة إلى العديد من المستفيدين، فسيتعين عليه زيادة رسوم المناولة وتحمل تكاليف أعلى. وفي الوقت نفسه، سيؤدي ذلك أيضًا إلى رفع معدلات المعالجة للشبكة بأكملها.
إذا كانت هناك قيود، فأحد الحلول هو أن يلتزم المرسلبمعاملة مرسلة على دفعات أولاً. يمكن لهذا الوعد أن يجعل جميع المستلمين يعتقدون أنه سيتم تنفيذ المعاملة النهائية، ويمكنهم الانتظار حتى ينخفض معدل المعالجة قبل إرسال معاملات محددة.
كما هو موضح في الشكل أدناه، عندما يكون الطلب على مساحة الكتلة مرتفعًا، يصبح إجراء المعاملات مكلفًا للغاية. باستخدام OP_CHECKTEMPLATEVERIFY، يمكن لمعالجي الدفعات ذات الحجم الكبير تجميع جميع مدفوعاتهم في معاملة O(1) واحدة للتأكيد. بعد ذلك، بمرور الوقت، عندما ينخفض الطلب على مساحة الكتلة، يمكن توسيع نطاق المدفوعات خارج UTXO.
(المصدر: https://utxos.org/uses/scaling/)
هذا السيناريو هو تقييد OP_CTV أ يتم تقديم حالة التطبيق النموذجية. يمكن العثور على المزيد من حالات التطبيق على https://utxos.org/uses/. بالإضافة إلى التحكم في الازدحام أعلاه، تسرد الصفحة رهانات الشوكة الناعمة والخيارات اللامركزية وسلاسل القيادة وقنوات الدفعات والقنوات غير التفاعلية والتعدين الخالي من التنسيق غير الموثوق. المجمعات، والخزائن، وحدود العقود المقفلة ذات الوقت المجزأ الأكثر أمانًا (HTLCS)، وما إلى ذلك.
Vault
Vault قليل وهو موضوع تمت مناقشته على نطاق واسع سيناريو التطبيق في تطبيقات العملة وخاصة في مجال الشروط المقيدة. نظرًا لأن العمليات اليومية تتطلب حتماً تحقيق التوازن بين تخزين الأموال واحتياجات استخدام الأموال،يأمل الناس في الحصول على نوع من تطبيقات تخزين الأموال التي يمكن أن تضمن سلامة الأموال، حتى لو تم اختراق الحساب (تسريب المفتاح الخاص)، يمكنك أيضًا الحد من استخدام الأموال.
استنادًا إلى تقنية تنفيذ شروط التقييد، يمكن إنشاء تطبيقات فئة vault بسهولة نسبية.
خذ تصميم OP_VAULT كمثال: عند إنفاق الأموال في الخزينة، يجب إرسال المعاملة إلى السلسلة أولاً. تشير هذه المعاملة إلى نية صرف الخزينة، "محفزا"، وتحدد شرطا داخلها:
إذا كان كل شيء على ما يرام، فإن المعاملة الثانية هي المعاملة معاملة السحب النهائية. بعد انتظار كتل N، يمكن إنفاق الأموال في أي مكان
إذا تبين أن المعاملة قد سُرقت (أو تعرضت للهجوم من خلال "هجوم مفتاح الربط" القسري )، قبل إرسال معاملة سحب كتل N، يمكن إرسالها على الفور إلى عنوان آمن آخر (حضانة أكثر أمانًا للمستخدم)
(عملية OP_VAULT، المصدر: BIP-345) p>
تجدر الإشارة إلى أنه يمكن أيضًا إنشاء تطبيق قبو بدون قيود، وهو أمر ممكن والحل هو استخدام المفتاح الخاص لإعداد التوقيعات للإنفاق المستقبلي، ثم قم بتدمير المفتاح الخاص. ولكن لا تزال هناك العديد من القيود. على سبيل المثال، من الضروري التأكد من تدمير المفتاح الخاص (على غرار عملية الإعداد الموثوق بها في إثبات المعرفة الصفرية)، وتحديد المبلغ ورسوم المعالجة يتم تحديدها مسبقًا (بسبب الحاجة إلى التوقيع المسبق)، لذلك هناك نقص في المرونة فيما يتعلق بالجنس وما إلى ذلك.
(OP_VAULT وعمليات المخزن الموقعة مسبقًا، المصدر: BIP-345)
حالة أكثر قوة ومرونة القنوات
يمكن بشكل عام اعتبار أن قنوات الدولة بما في ذلك الشبكة المسرّعة تتمتع تقريبًا بنفس الأمان الذي تتمتع به السلسلة الرئيسية (مضمون أن العقدة يمكنها مراقبة أحدث حالة ويمكن نشر أحدث حالة على السلسلة بشكل طبيعي). ومع ذلك، بعد تطبيق القيود، يمكن أن تكون بعض أفكار تصميم القنوات الحكومية الجديدة أكثر قوة أو مرونة أعلى الشبكة المسرّعة. من بين الأشياء الأكثر شهرة Eltoo وArk وما إلى ذلك.
يعد Eltoo (المعروف أيضًا باسم LN-Symmetry) أحد الأمثلة الأكثر شيوعًا. هذا الحل التقني متجانس مع "L2" ويقترح طبقة تنفيذ لشبكة Lightning التي تسمح لأي حالة قناة لاحقة باستبدال الحالة السابقة دون الحاجة إلى آلية عقابية، لذلك يمكنها أيضًا تجنب الحاجة إلى الحفظ المماثل لـ Lightning عقد الشبكة حالات سابقة متعددة لمنع خصمك من فعل الشر. من أجل تحقيق التأثير المذكور أعلاه، اقترح Eltoo طريقة التوقيع SIGHASH_NOINPUT، وهي APO (BIP-118).
تهدف Ark إلى تقليل صعوبة السيولة الواردة وإدارة القنوات للشبكة المسرّعة. إنه نموذج مشترك للبروتوكول. يمكن لعدة مستخدمين قبول مزود الخدمة كطرف مقابل خلال فترة زمنية معينة وإجراء معاملات UTXO (vUTXO) الافتراضية خارج السلسلة، ولكنهم يشاركون UTXO على السلسلة لتقليل التكاليف. على غرار القبو، يمكن أيضًا تنفيذ Ark على شبكة Bitcoin الحالية، ومع ذلك، بعد فرض القيود، يمكن لـ Ark تقليل مقدار التفاعل المطلوب استنادًا إلى قوالب المعاملات وتحقيق خروج أحادي الجانب أكثر ثقة.
نظرة عامة على تكنولوجيا المواثيق
كما يتبين من التطبيقات المذكورة أعلاه، بند تقييد العهد هو أشبه بتأثير وليس تقنية معينة، لذلك هناك العديد من الطرق التقنية لتنفيذه. إذا تم تصنيفها، فيمكن أن تتضمن:
النوع:النوع العام، النوع الخاص
< p style="text-align: left;">
طريقة التنفيذ: استنادًا إلى كود التشغيل، بناءً على التوقيعمتكرر:متكرر وغير متكرر
ومن بينها يعني التكرار: أن هناك بعض القيود على التنفيذ، وهي ويمكن أيضًا تنفيذه من خلال القيود باستخدام مخرج واحد للحد من المخرج التالي، ويمكن أن يتجاوز الحد المضاف معاملة واحدة ويصل إلى عمق معاملة أعلى.
تتضمن بعض تصميمات الجمل المقيدة السائدة ما يلي:
تصميم بنود تقييد العهد
يمكن رؤيته من السابق مقدمة، يحد نص Bitcoin الحالي بشكل أساسي من شروط إلغاء القفل، ولا يحد من كيفية إنفاق UTXO بشكل أكبر. لتنفيذ القيود، علينا أن نفكر بشكل عكسي:لماذا لا يستطيع نص Bitcoin الحالي تنفيذ قيود العهد؟
السبب الرئيسي هو أن نص Bitcoin الحالي لا يمكنه قراءة محتوى المعاملة نفسها، أي "استبطان" الصفقة .
إذا تمكنا من تنفيذ فحص المعاملات - فحص أي محتوى للمعاملة (بما في ذلك المخرجات)، فيمكننا تنفيذ شروط التقييد.
لذلك، تركز الأفكار التصميمية للجمل المقيدة بشكل أساسي على كيفية تحقيق الاستبطان.
المستند إلى كود التشغيل مقابل المستند إلى التوقيع
إن الفكرة الأبسط والأكثر بدائية هي إضافة واحد أو أكثر من أكواد التشغيل (أي كود تشغيل واحد + معلمات متعددة، أو أكواد تشغيل متعددة بوظائف مختلفة) لقراءة محتوى المعاملة مباشرة. هذه هي الفكرة المبنية على رموز التشغيل.
هناك طريقة أخرى للتفكير وهي أنه بدلاً من القراءة المباشرة والتحقق من محتوى المعاملة نفسها في البرنامج النصي، يمكنك استخدام تجزئة محتوى المعاملة - إذا تم توقيع التجزئة، لذلك طالما تم تعديل OP_CHECKSIG في البرنامج النصي للتحقق من التوقيع، يمكن تنفيذ استبطان المعاملة والقيود بشكل غير مباشر. تعتمد هذه الفكرة على تصميم التوقيع. بما في ذلك بشكل أساسي APO وOP_CSFS، وما إلى ذلك.
APO
SIGHASH_ANYPREVOUT (APO) هو طريقة التوقيع المقترحة للبيتكوين. إن أبسط طريقة للتوقيع هي الالتزام بكل من مدخلات ومخرجات المعاملة، ولكن لدى Bitcoin أيضًا طريقة أكثر مرونة، وهي SIGHASH، والتي تلتزم بشكل انتقائي بإدخال أو إخراج المعاملة.
نطاق التوقيع الحالي لـ SIGHASH ومجموعاته لإدخال المعاملات ومخرجاتها (المصدر "Mastering Bitcoin, 2nd"
كما هو موضح في الشكل أعلاه، باستثناء أنه ينطبق على جميع البيانات، بالإضافة إلى الكل، تنطبق طريقة التوقيع NONE فقط على جميع المدخلات وليس على المخرجات؛ ويعتمد SINGLE على ذلك وينطبق فقط على المخرجات التي لها نفس رقم تسلسل الإدخال، بالإضافة إلى ذلك، يمكن أن يكون SIGHASH أيضًا أخيرًا، يتم دمجه وتركيبه مع مُعدِّل ANYONECANPAY، وهو ينطبق فقط على إدخال واحد يمكن إرفاق المعاملات الموقعة في وضع APO بأي UTXO يستوفي الشروط
هذه المرونة هي الأساس النظري لـ APO لتنفيذ البنود المقيدة:
يمكن إنشاء معاملة واحدة أو أكثر مسبقًا
يمكن إنشاء توقيع واحد فقط من خلال معلومات المفتاح العام لهذه المعاملات< /p>
بحيث لا يمكن إنفاق أي أصول مرسلة إلى عنوان المفتاح العام هذا إلا من خلال معاملات تم إنشاؤها مسبقًا
تجدر الإشارة إلى أنه نظرًا لأن هذا المفتاح العام لا يحتوي على مفتاح خاص مطابق، فيمكن التأكد من أنه لا يمكن إنفاق هذه الأصول إلا من خلال المعاملات التي تم إنشاؤها مسبقًا. وبعد ذلك، يمكننا استخدام هذه المعاملات التي تم إنشاؤها مسبقًا لتحديد مكان وجودها من الأصول لتنفيذ القيود
يمكننا أن نفهم بشكل أكبر من خلال مقارنة العقود الذكية لـ Ethereum: من خلال العقود الذكية، ما يمكننا تحقيقه هو ذلك فقط من خلال اجتياز شروط معينة، يمكننا سحب الأموال من عنوان العقد، بدلاً من إنفاقها بشكل تعسفي بتوقيع EOA. ومن وجهة النظر هذه، يمكن للبيتكوين تحقيق هذا التأثير من خلال تحسين آلية التوقيع.
لكن المشكلة في العملية المذكورة أعلاه هي أن هناك تبعيات دائرية في الحساب، لأن محتوى الإدخال يجب أن يكون معروفًا للتوقيع المسبق وإنشاء المعاملة .
APO وSIGHASH_NOINPUT تكمن أهمية تنفيذ طريقة التوقيع هذه في أنها يمكن أن تحل مشكلة التبعية الدائرية هذه، عند الحساب، ما عليك سوى معرفة (تحديد). جميع المعاملات مجرد إخراج.
OP_CTV
OP_CHECKTEMPLATEEVERIFY (CTV)، هذا هو BIP-119، الذي يتبنى طريقة لتحسين كود التشغيل. يأخذ تجزئة الالتزام كمعلمة ويتطلب أن تحتوي أي معاملة تنفذ كود التشغيل على مجموعة من المخرجات التي تطابق هذا الالتزام. من خلال CTV، سيتم السماح لمستخدمي Bitcoin بالحد من كيفية استخدامهم للبيتكوين.
تم إطلاق الاقتراح في البداية تحت اسم OP_CHECKOUTPUTSHASHVERIFY (COSHV) وكان تركيزه المبكر على القدرة على إنشاء معاملات التحكم في الازدحام، لذلك هناك اهتمام قوي بالانتقادات الموجهة إلى الاقتراح أيضًا على حقيقة أنه ليس عامًا بدرجة كافية ومحددًا جدًا لحالات استخدام التحكم في الازدحام.
في حالة استخدام التحكم في الازدحام المذكورة أعلاه، يمكن للمرسل Alice إنشاء 10 مخرجات وتجزئة هذه المخرجات العشرة، واستخدام الملخص الذي تم إنشاؤه لإنشاء برنامج نصي لصفحة Tapleaf يحتوي على COSHV. يمكن لأليس أيضًا استخدام المفاتيح العامة للمشاركين لتشكيل مفاتيح Taproot الداخلية، مما يسمح لهم بالتعاون في الإنفاق دون الكشف عن مسار البرنامج النصي Taproot.
تقوم أليس بعد ذلك بإعطاء كل مستلم نسخة من جميع المخرجات العشرة حتى يتمكن كل منهم من التحقق من معاملة إعداد أليس. وعندما يرغبون لاحقًا في إنفاق الدفعة، يمكن لأي منهما إنشاء معاملة تحتوي على المخرجات الموعودة.
طوال العملية، عندما تقوم Alice بإنشاء معاملة الإعداد وإرسالها، يمكنها إرسالها عبر طرق الاتصال غير المتزامنة الحالية، مثل البريد الإلكتروني أو محركات الأقراص السحابية 10 نسخ الإخراج. وهذا يعني أن المستلمين لا يحتاجون إلى الاتصال بالإنترنت أو التفاعل مع بعضهم البعض.
(المصدر: https://bitcoinops.org/en/newsletters/2019/05/29/#proposed-transaction-output-commitments)
على غرار APO، يمكن أيضًا إنشاء العناوين بناءً على ظروف الإنفاق، ويمكن إنشاء "الأقفال" بطرق مختلفة، بما في ذلك إضافة مفاتيح أخرى، وأقفال زمنية، ومنطق قابل للدمج.
(المصدر: https://twitter .com/OwenKemeys/status/1741575353716326835)
اقترحت CTV على هذا الأساس أنه يمكنها التحقق مما إذا كانت المعاملة التي تم إنفاقها بعد التجزئة متسقة مع المطابقة المحددة تستخدم بيانات المعاملة كمفتاح لفتح "القفل".
يمكننا توسيع المثال أعلاه لـ 10 أجهزة استقبال، ويمكن لجهاز الاستقبال أيضًا ضبط مفتاح العنوان الخاص به على التوقيع ولكن لا يتم إرسال إرسال الإرسال إلى الدفعة التالية من عناوين المستلمين، وهكذا، تشكل بنية شجرة كما هو موضح في الشكل أدناه. تستطيع أليس إنشاء تغيير في رصيد الحساب يشمل عدة مستخدمين باستخدام مساحة كتلة utxo واحدة فقط في السلسلة.
المصدر: https://twitter.com/OwenKemeys/status/1741575353716326835
وإذا كانت إحدى الأوراق قناة البرق هل هي تخزين بارد أم طرق دفع أخرى؟ ثم ستتوسع هذه الشجرة من شجرة إنفاق أحادية البعد ومتعددة المستويات إلى شجرة إنفاق متعددة الأبعاد ومتعددة المستويات، وستكون السيناريوهات التي يمكنها دعمها أكثر ثراءً وأكثر مرونة.
المصدر: https://twitter.com/OwenKemeys/status/1741575353716326835
شهدت قناة CTV عام 2019 منذ أن تم اقتراحها تمت إعادة تسميتها من COSHV في عام 2020، وتم تعيينها BIP-119 في عام 2020، ويبدو أنها تُستخدم لإنشاء لغة برمجة تدعم عقود CTV، Sapio في عامي 2022 و23، وقد تلقت الكثير من المناقشات والتحديثات والمناقشات حولها خطة التنشيط الخاصة بها من المجتمع حاليًا لا تزال واحدة من مقترحات ترقية الشوكة الناعمة التي تمت مناقشتها كثيرًا في المجتمع.
OP_CAT
OP_CAT كما تم تقديمه في البداية، فهو هو أيضًا اقتراح ترقية يجذب الكثير من الاهتمام حاليًا، وهو ينفذ وظيفة تسلسل (متسلسل) عنصرين في المكدس. على الرغم من أن الأمر يبدو بسيطًا، إلا أن OP_CAT يمكن أن يكون مرنًا جدًا لتنفيذ العديد من الوظائف في البرامج النصية.
المثال الأكثر مباشرة هو العمليات المتعلقة بأشجار Merkle. يمكن فهم شجرة Merkle على أنها عنصران يتم ربطهما أولاً ثم تجزئتهما. حاليًا، توجد رموز عمليات تجزئة مثل OP_SHA256 في البرامج النصية للبيتكوين، لذلك إذا كان من الممكن استخدام OP_CAT لربط عنصرين، فيمكن تنفيذ وظيفة التحقق الخاصة بشجرة Merkle في البرنامج النصي، وإلى حد ما، يتم توفير التحقق الخفيف من العميل . قدرة.
تتضمن أسس التنفيذ الأخرى أيضًا تحسينات على توقيعات Schnorr: يمكن ضبط شروط توقيع إنفاق البرنامج النصي على الربط بين المفتاح العام للمستخدم والمفتاح العام، ثم if يريد الموقع التوقيع على معاملة أخرى لإنفاق الأموال في مكان آخر، وعليه استخدام نفس الرقم وتسريب المفتاح الخاص. أي أن الالتزام بالـ nonce يتحقق من خلال OP_CAT، وبالتالي ضمان صحة المعاملة الموقعة.
تتضمن سيناريوهات التطبيق الأخرى لـ OP_CAT: التدفق الثنائي، وتوقيع الشجرة، وتوقيع لامبورت المقاوم للكم، والقبو، وما إلى ذلك.
OP_CAT بحد ذاتها ليست ميزة جديدة، فقد كانت موجودة في الإصدار الأول من Bitcoin، ولكن قد يتم استغلالها من خلال الهجمات 2010. على سبيل المثال، إعادة استخدام OP_DUP وOP_CAT يمكن أن يؤدي بسهولة إلى انفجار حزمة العقدة الكاملة عند معالجة مثل هذه البرامج النصية، راجع هذا العرض التوضيحي.
ولكن ألن تحدث مشكلة انفجار المكدس المذكورة أعلاه إذا تمت إعادة تمكين OP_CAT الآن؟ نظرًا لأن اقتراح OP_CAT الحالي يتضمن فقط تمكينه في برنامج Tapscript، مما يحد من حجم كل عنصر مكدس بما لا يزيد عن 520 بايت، فلن تنشأ مشكلة انفجار المكدس السابقة. يعتقد بعض المطورين أيضًا أن الحظر المباشر الذي فرضه ساتوشي على OP_CAT قد يكون قاسيًا للغاية. ومع ذلك، نظرًا لمرونة OP_CAT، لا يمكن حاليًا استنفاد بعض سيناريوهات التطبيق التي قد تؤدي إلى ثغرات أمنية.
لذا بالنظر إلى سيناريوهات التطبيق والمخاطر المحتملة، فقد حظيت OP_CAT بالكثير من الاهتمام مؤخرًا، كما أنها خضعت لمراجعة العلاقات العامة، وهي واحدة من مقترحات الترقية الأكثر شيوعًا حالياً.
الاستنتاج
"الانضباط الذاتي يجلب الحرية"، كما يتبين من المقدمة أعلاه،يمكن تنفيذ شروط التقييد مباشرة في نصوص Bitcoin للحد من الإنفاق الإضافي للمعاملات، وبالتالي تحقيق قواعد المعاملات المشابهة لتأثيرات العقود الذكية. مقارنة بالطرق خارج السلسلة مثل BitVM، يمكن التحقق من طريقة البرمجة هذه بشكل أصلي على Bitcoin، ويمكنها أيضًا تحسين التطبيقات على السلسلة الرئيسية (التحكم في الازدحام)، والتطبيقات خارج السلسلة (قناة الحالة) وغيرها من التطبيقات الجديدة. توجيهات التطبيق (توقيع العقوبات، وما إلى ذلك).
إذا كان من الممكن دمج تقنية تنفيذ شروط التقييد مع بعض الترقيات الأساسية، فسيؤدي ذلك إلى إطلاق العنان لإمكانات قابلية البرمجة. على سبيل المثال، يمكن دمج مقترح مشغل 64 بت الذي تمت مراجعته مؤخرًا مع OP_TLUV المقترح أو القيود الأخرى التي يمكن برمجتها بناءً على عدد مخرجات ساتوشي بواسطة المعاملة.
ومع ذلك، قد تؤدي المصطلحات المقيدة أيضًا إلى بعض حالات إساءة الاستخدام أو الثغرات غير المخطط لها، لذلك يكون المجتمع أيضًا أكثر حذرًا بشأن هذا الأمر. بالإضافة إلى ذلك، تتطلب ترقية شروط التقييد أيضًا ترقية شوكة ناعمة لقواعد الإجماع. نظرًا للموقف أثناء ترقية الجذر الرئيسي، قد تستغرق الترقيات المرتبطة بالقيود بعض الوقت أيضًا حتى تكتمل. ص>