المؤلف: سيمون شيه، المصدر: MetaTrust Labs
مراجعة المقدمة
المقالة السابقة في "جولة خطة التوسع البيئي للبيتكوين (1): إلى أين تذهب مع النقش"، نحن تمت مناقشة المبادئ التقنية والقضايا الأمنية المحتملة لبيئة النقوش الشائعة، وتم ذكر إمكانية استخدام النقوش العودية لتنفيذ العقود الذكية. ومع ذلك، نظرًا للقيود التي فرضها Luke على نصوص Taproot، يبدو أن الكتابة العودية تواجه بعض العوائق، فهل هناك إمكانيات أخرى لتنفيذ العقود الذكية على شبكة Bitcoin؟
نشر روبن لينوس، المؤسس المشارك لمطور blockchain ZeroSync، مقالًا في 9 أكتوبر 2023 بعنوان "BitVM: Compute Anything on Bitcoin")"، والذي يقترح خطة لجلب العقود الذكية إلى Bitcoin blockchain.
تطرح هذه الورقة فكرة مثيرة للاهتمام للغاية، والتي يمكن استخدامها لإكمال ما يقرب من كل شيء باستخدام حسابات جذرية عشوائية واستخدام تلك الحسابات للتحقق مما يحدث خارج سلسلة البيتكوين. الحيلة هي إبقاء كل المنطق خارج السلسلة وتحدي النتائج غير النزيهة على السلسلة من خلال بضع خطوات حسابية عندما يؤكدها الآخرون.
بمعنى آخر، الهدف هو وضع منطق أداة التحقق في شبكة Bitcoin، واستخدام الأمان القوي المتوافق مع Bitcoin لتصبح طرفًا ثالثًا موثوقًا به لأي طبقة حوسبة كاملة تورينج، ثم استخدام Optimistic مبدأ التجميعات لتحقيق التحقق من نتائج الحساب خارج السلسلة.
فكيفية وضع جزء من منطق التحقق في شبكة البيتكوين؟ من أجل تكرار "النقش" في القسم السابق، أود أن أسميها تقنية دوائر "النقش" على شبكة البيتكوين.
دوائر البوابات المنطقية
في جهاز الكمبيوتر أو الهاتف الخلوي، تقوم الكهرباء بجميع وظائف الكمبيوتر عن طريق تمرير سلسلة من الآحاد والأصفار. ويتم تحقيق ذلك من خلال ملايين المكونات الصغيرة التي تسمى البوابات المنطقية. هذه البوابات المنطقية هي اللبنات الأساسية لرقائق الكمبيوتر.
تستقبل كل بوابة منطقية "بت" أو "بتين" من المعلومات، وتكون كل بت إما 1 أو 0. بعد ذلك، تقوم البوابة المنطقية بتنفيذ عملية منطقية بسيطة وفقًا للقواعد المحددة، مثل عمليات "AND" أو "OR" أو "NOT". نتيجة هذه العمليات هي أيضا قليلا، وهي إما 1 أو 0. بعد الانتهاء من العملية، يتم تمرير النتيجة إلى البوابة المنطقية التالية.
لقد ألهم هذا النظام القائم على العمليات المنطقية البسيطة: حتى الحسابات والوظائف الأكثر تعقيدًا يمكن تحقيقها من خلال الجمع بين عدد كبير من العمليات المنطقية البسيطة. يعد هذا المزيج والتعاون بين البوابات المنطقية الأساس لأجهزة الكمبيوتر والأجهزة الإلكترونية الحديثة لتكون قادرة على أداء المهام المعقدة. من خلال هذه العمليات المنطقية الأساسية، يمكن لأجهزة الكمبيوتر التعامل مع العمليات الحسابية المعقدة، وتخزين البيانات، وتقديم الصور وغيرها من المهام.
الصورة أدناه عبارة عن بوابة منطقية خاصة جدًا تسمى "بوابة NAND". يمكنها بناء أي نوع من دوائر البوابات المنطقية. بالطبع، لا يمكن أن تكون فعالة مثل أنواع البوابات المتخصصة الأخرى. ولكن لا يزال من الممكن القيام به. تتكون دائرة البوابة المنطقية لـ BitVM من بوابات NAND.
كيفية حفر بوابة NAND على البيتكوين< / h2>
يمكن إنشاء بوابة NAND أعلى نصوص Bitcoin الموجودة من خلال الجمع بين قفل التجزئة واثنين من رموز التشغيل التي قد لا تكون معروفة جيدًا: OP_BOOLAND وOP_NOT.
أولاً، يمكن استخدام قفل التجزئة لإنشاء برنامج نصي فرعي يمكن إنفاقه بإحدى الطريقتين: إما تلبية قفل التجزئة أو تلبية قفل التجزئة ب. بهذه الطريقة، يُخرج المسار A 1 إلى المكدس، بينما يُخرج المسار B 0 إلى المكدس.
من خلال تلبية قفل تجزئة محدد، يمكنك "فتح" الجزء الذي يعمل كأحد مدخلات بوابة NAND التي سنقوم بإنشائها. نظرًا لأنه لا يمكنك سوى تلبية متطلبات أحد المسارات، فإن هذا الأسلوب يسمح للمستخدم فقط بإرسال بت واحد في كل مرة.
منطق بوابة NAND هو استقبال بتتين كإدخال وإخراج بت واحد. إذا كانت كلا بتات الإدخال 1، فإن الإخراج هو 0؛ إذا كانت المدخلات عبارة عن مجموعات أخرى، فإن الإخراج هو 1. باستخدام حيلتين لقفل التجزئة، يمكنك إرسال هذين المدخلين والتحقق من صحة المخرجات، وهذا هو الغرض من OP_BOOLAND وOP_NOT.
يعمل OP_BOOLAND بشكل عكسي مع بوابة NAND: إذا كان كلا المدخلين 1، فإن الإخراج هو 1؛ وأي مجموعة أخرى من المدخلات تنتج 0. يقوم OP_NOT بإخراج القيمة المعاكسة للإدخال. لذلك، من خلال الجمع بين هذين الكودين التشغيليين، يمكنك أخذ مدخلين وإجراء المجموع العكسي في مكدس البرنامج النصي. أخيرًا، يمكن استخدام OP_EQUALVERIFY مع خدعة قفل التجزئة للتحقق من مخرجات التأكيد. إذا كانت نتائج عملية NAND الفعلية على المكدس غير متوافقة مع الإخراج الذي أكده المستخدم، فسيفشل البرنامج النصي في التحقق من الصحة.
وبهذه الطريقة، يتم "حفر" دائرة بوابة NAND في نص Bitcoin، مما يفرض فعليًا تشغيل بوابة NAND الافتراضية من خلال نص Bitcoin.
كيفية حفر الدوائر واسعة النطاق
< /h2>
على الرغم من أن فكرة استخدام البرامج النصية Taproot لتحقيق حفر الدوائر أمر رائع، ناهيك عن الدوائر واسعة النطاق مثل أجهزة الكمبيوتر، وحتى لتنفيذ أي مجموعة من الحسابات، هناك حاجة إلى الآلاف من دوائر بوابة NAND فكيف يمكن تغطية الحسابات المعقدة في مساحة البرنامج النصي Taproot المحدودة للبيتكوين؟
اقترحت BitVM طريقة شجرة البرامج النصية Taproot (شجرة Taproot). من أجل تنفيذ العمليات الحسابية المعقدة في نصوص البيتكوين، يمكن للمرء بناء دوائر حسابية عن طريق ربط البوابات المنطقية في سلسلة. في هذا المخطط، يتم استخدام أقفال التجزئة لربط الأبواب الفردية لتحقيق التنفيذ المتسلسل للعمليات المنطقية. على وجه التحديد، إذا كان البرنامج النصي الخاص بالبوابة ينتج نتيجة إخراج مختلفة C1 أو C2 استنادًا إلى مدخلات صورة تجزئة مختلفة (قيمة نص عادي للتجزئة)، فستستخدم البوابة التالية قيمة قفل التجزئة المطابقة كمدخل لها.
يمكن لهذه الطريقة تنفيذ آلية جزائية، أي إذا حاولت الكذب بشأن نتيجة الباب السابق، فيمكنك فقط الكشف عن الصورة الأصلية لقفل التجزئة الآخر. يمكن استخدام هذه الآلية للحوسبة التفاعلية بين مستخدمين، حيث يتفقان مسبقًا على المشاركة في مهمة حوسبة محددة، ومن ثم تحلل عملية الحوسبة إلى دوائر تتكون من بوابات NAND فقط. يجب عليهم اختيار قفل التجزئة المناسب لكل بوابة في الدائرة وترميزه في شجرة البرامج النصية التي تقفل UTXO.
ثم يتم استخدام عناوين متعددة لتشكيل مصفوفة عنوان Taproot، ثم يتم حفر الدائرة المنطقية في البرنامج النصي Taproot لسلسلة من معاملات UTXO المتصلة في بنية شجرة من خلال طريقة Taproot Tree، وأخيرًا يتم تشكيل برنامج نصي يمكنه التعامل مع حسابات معينة، دائرة منطقية "تشبه العقد" للمهام.
تحدي الاحتيال
يعد تحدي الاحتيال جوهر تقنية OP (مجموعة التفاؤل) (على الرغم من عدم تنفيذها حتى الآن~)، والفكرة هو تنفيذها على دفعات قبل تقديم المعاملات على دفعات، يبدأ المنافس تحدي الاحتيال (التعهد مقابل الرهان) على المعاملة التي يعتقد أنها خاطئة. سيحكم عقد التحقق على الشبكة الرئيسية على ما إذا كان المرسل قد قام أم لا فعل الشر بناءً على التغيرات في جذر الدولة بعد التنفيذ، ومن ثم تخصيص الأموال المرهونة من أصول الطرفين.
في bitVM، تم تصميم شجرة النص إلى دائرتين. بالإضافة إلى السماح للمُثبِّت بالخضوع إلى دائرة واحدة، يحتاج المنافس أيضًا إلى أن يكون قادرًا على تحدي بيان المُثبِّت. ويمكن تحقيق ذلك من خلال التوقيع المسبق على سلسلة من المعاملات. ترتبط هذه المعاملات الموقعة مسبقًا من خلال "التحدي ->الاستجابة ->التحدي ->...". إذا توقف أحد الطرفين لفترة من الوقت، فإن الطرف الآخر سيفوز بالتحدي ويسترد ودائع الطرفين.
توضح الصورة أعلاه سلسلة من المعاملات الموقعة مسبقًا:
< p>• التحدي: يطلق فيكي (المتحدي/المحقق) صورة أولية في مسار البرنامج النصي (هذه الصور الأولية معروفة للمتحدي فقط)، وتستخدم كتحدي للإثبات؛
• الرد: ينفذ بول (المثل) البوابة المنطقية المقابلة ويرسل الأموال مرة أخرى إلى النص الأولي؛
يمكن دحض أي عبارة غير متسقة بسرعة بعد عدة جولات من الاستفسارات. إذا توقف المُمثل عن التعاون مع المنافس خارج السلسلة، فسوف يجبر المُنافس المُثبت على التعاون في السلسلة: في كل مرة يفتح فيها المُنافس قفل التجزئة، فإن عقدة Taproot الورقية المقابلة لكل بوابة NAND في UTXO الخاص بالمُثِّل سيكون لها فقط It لا يمكن إنفاقه إلا إذا كان المُثبِّت يعرف الصورة الأولية التي يحملها المنافس. يمكن للمبرهنة إثبات أن عقدة Taproot Leaf معينة يتم تنفيذها بشكل صحيح من خلال الكشف عن مدخلاتها ومخرجاتها. الفرضية هي أن المنافس يفتح الصورة الأصلية للتجزئة المقابلة لـ Tapleaf من خلال الكشف عنها، ومن خلال البحث الثنائي، يمكن للمنافس قفل خطأ المُثبت بعد جولة محدودة (O(logn)) من التحديات والاستجابات.
تتضمن العملية بأكملها جولات متعددة من التفاعلات لضمان إمكانية تسوية العقد بشكل صحيح. يمكن للمنافس أن يستمر في تحدي المثل حتى يؤكد المثل النتيجة الصحيحة لكل بوابة، أو يمكن للمنافس سحب الأموال بعد وقت معين في حالة فشل المثل في الرد على التحدي. في عالم مثالي، تتم جميع العمليات خارج السلسلة ويتعاون الطرفان لإكمال التسوية، ولكن إذا انهار التعاون، يمكن لكلا الطرفين ضمان حل العقد بشكل صحيح من خلال لعبة التحدي على السلسلة.
سقوط الحواجز وقضايا السلامة
يتضمن هذا الاقتراح معالجة وإنشاء كمية كبيرة جدًا من البيانات. قد تحتوي شجرة البرامج النصية Taproot المستخدمة على مليارات العقد الورقية، وقد يستغرق وقت معالجة المعاملات الموقعة مسبقًا المرتبطة عدة ساعات على الأقل لضمان التسوية الدقيقة. يتطلب تنفيذ شروط إلغاء القفل المحددة مسبقًا لكل عنوان Taproot رسوم تعدين، وبالتالي كلما زاد عدد مجموعات العناوين، زادت التكلفة.
أحد القيود الرئيسية لهذا المخطط هو أنه يعمل فقط من أجل التفاعلات بين اثنين من المشاركين: يعمل أحدهما كمثبت، ويثبت دقة تنفيذه؛ ويعمل الآخر كمحقق، ويتحدى بيان الأول. في حين أن الدراسات المستقبلية قد تجد طرقًا لضم المزيد من المشاركين، إلا أنه لا يبدو أن هناك حلًا واضحًا في الوقت الحالي.
في سيناريو التسوية التعاونية، يجب أن يكون جميع المشاركين متصلين بالإنترنت، مما يفرض قيودًا معينة على التطبيق العملي وملاءمة البروتوكول.
فيما يتعلق بالأمان، هناك بشكل أساسي المخاطر الأمنية التالية:
1. نظرًا لقيود التكلفة، يجب تنفيذ قدر كبير من أعمال الحساب خارج السلسلة وخارجها. حسابات السلسلة هناك بعض المخاطر الأمنية الشائعة للخدمات المركزية.
2. يتم تخزين كمية كبيرة من البيانات خارج السلسلة، ويعد توفر البيانات وأمن البيانات أيضًا من نقاط الخطر التي يجب أخذها في الاعتبار.
3. ما إذا كانت هناك ثغرات منطقية في تعتبر الدائرة المحفورة نفسها أيضًا مصدر قلق، وبالنسبة للمخاطر الأمنية، نظرًا لعدم إمكانية قراءة الدائرة، يلزم المزيد من تكاليف التدقيق أو تكاليف التحقق الرسمي.
ساعدت Metatrust Uniswap في إجراء أعمال التحقق الرسمية الشاملة، ولديها خبرة غنية جدًا في تدقيق دوائر ZK والتحقق الرسمي، والتي يمكن أن توفر ضمانًا للتنفيذ الآمن لنظام BitVM البيئي.
الحلول الواردة في المقالتين السابقتين هي حلول تقنية أصبحت شائعة هذا العام، وفي المقالة التالية، سنقدم حلاً أقدم وأكثر "تقليدية"، وهو نسخة مطورة من الشبكة المسرّعة— —< قوي> أصول تابروت .