جولة حول خطط التوسع البيئي لـ BTC: BitVM، فن النقش

كيف يتم تنفيذ العقود الذكية على شبكة البيتكوين؟

** بقلم : سيمون شيه **

مراجعة المقدمة

في المقالة السابقة “جولة في خطط التوسع البيئي لـ BTC: إلى أين تذهب للنقوش”، ناقشنا المبادئ التقنية والقضايا الأمنية المحتملة لبيئة النقوش الشائعة، وذكرنا إمكانية استخدام النقوش المتكررة لتنفيذ العقود الذكية. ومع ذلك، نظرًا للقيود التي فرضها Luke على نصوص Taproot، يبدو أن الكتابة العودية تواجه بعض العوائق، فهل هناك إمكانيات أخرى لتنفيذ العقود الذكية على شبكة Bitcoin؟

نشر روبن لينوس، المؤسس المشارك لمطور blockchain ZeroSync، ورقة بحثية بعنوان “BitVM: Compute Anything on Bitcoin” في 9 أكتوبر 2023، والتي اقترح فيها إطلاق خطة لجلب العقود الذكية إلى Bitcoin blockchain.

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

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

إذن، كيف يمكن وضع جزء من منطق التحقق في شبكة البيتكوين؟ من أجل تكرار “النقش” في القسم السابق، أود أن أسميها تقنية دوائر “النقش” على شبكة البيتكوين.

دائرة البوابة المنطقية

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

تستقبل كل بوابة منطقية “بت” أو “بتين” من المعلومات، وتكون كل بت إما 1 أو 0. بعد ذلك، تقوم البوابة المنطقية بتنفيذ عملية منطقية بسيطة وفقًا للقواعد المحددة، مثل عمليات “AND” أو “OR” أو “NOT”. وتكون نتيجة هذه العمليات أيضًا قليلاً، إما 1 أو 0. بعد الانتهاء من العملية، يتم تمرير النتيجة إلى البوابة المنطقية التالية.

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

الصورة أدناه عبارة عن بوابة منطقية خاصة جدًا تسمى “بوابة NAND”. يمكنها بناء أي نوع من دوائر البوابة المنطقية. بالطبع، لا يمكن أن تكون فعالة مثل الأنواع المتخصصة الأخرى من البوابات، ولكن لا يزال من الممكن القيام بذلك. . تتكون دائرة البوابة المنطقية لـ BitVM من بوابات NAND.

كيفية حفر بوابة NAND على البيتكوين

يمكن إنشاء بوابة 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.

كيفية حفر دوائر واسعة النطاق

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

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

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

ثم يتم استخدام عناوين متعددة لتشكيل مصفوفة عنوان Taproot، ثم يتم حفر الدائرة المنطقية في البرنامج النصي Taproot لسلسلة من معاملات UTXO المتصلة في بنية شجرة من خلال طريقة Taproot Tree، وتشكيل منطق “يشبه العقد” في النهاية يمكنه التعامل مع بعض مهام الحوسبة.

تحدي الاحتيال

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

في bitVM، تم تصميم شجرة النصوص إلى دائرتين، بالإضافة إلى السماح للمُثبِّت بالخضوع إلى دائرة واحدة، يحتاج المنافس أيضًا إلى أن يكون قادرًا على تحدي بيان المُثبِّت. ويمكن تحقيق ذلك من خلال التوقيع المسبق على سلسلة من المعاملات. ترتبط هذه المعاملات الموقعة مسبقًا من خلال “التحدي->الاستجابة->التحدي->…”. إذا توقف أحد الطرفين لفترة من الوقت، فإن الطرف الآخر سيفوز بالتحدي ويسترد ودائع الطرفين.

توضح الصورة أعلاه سلسلة من المعاملات الموقعة مسبقًا:

  • التحدي: يُصدر فيكي (المتحدي/المُحقق) صورة مسبقة في مسار البرنامج النصي (هذه الصور المسبقة معروفة للمتحدي فقط)، والتي تُستخدم للطعن في الإثبات؛
  • الإجابة: ينفذ بول (المثل) البوابة المنطقية المقابلة ويرسل الأموال مرة أخرى إلى النص الأولي؛

يمكن دحض أي بيان غير متناسق بسرعة بعد بضع جولات من التحقيق. إذا توقف المُمثل عن التعاون مع المنافس خارج السلسلة، فسوف يجبر المُنافس المُثبت على التعاون في السلسلة: في كل مرة يفتح فيها المُنافس قفل التجزئة، فإن عقدة Taproot الورقية المقابلة لكل بوابة NAND في UTXO الخاص بالمُثِّل سيكون لها فقط It لا يمكن إنفاقه إلا إذا كان المُثبِّت يعرف الصورة الأولية التي يحملها المنافس. يمكن للمبرهنة إثبات أن عقدة Taproot Leaf معينة يتم تنفيذها بشكل صحيح من خلال الكشف عن مدخلاتها ومخرجاتها. الفرضية هي أن المنافس يفتح الصورة الأصلية للتجزئة المقابلة لـ Tapleaf من خلال الكشف عنها، ومن خلال البحث الثنائي، يمكن للمنافس قفل خطأ المُثبِّت بعد جولة محدودة (O(logn)) من التحديات والاستجابات.

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

عقبات الهبوط وقضايا السلامة

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

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

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

فيما يتعلق بالأمن، هناك بشكل رئيسي المخاطر الأمنية التالية:

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

  2. يتم تخزين كمية كبيرة من البيانات خارج السلسلة، ويعد توفر البيانات وأمن البيانات أيضًا من نقاط الخطر التي يجب مراعاتها.

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

ساعدت Metatrust Uniswap في إجراء أعمال التحقق الرسمية الشاملة، ولديها خبرة غنية جدًا في تدقيق دوائر ZK والتحقق الرسمي، والتي يمكن أن توفر ضمانًا للتنفيذ الآمن لنظام BitVM البيئي.

الحلول الواردة في المقالتين السابقتين هي حلول تقنية أصبحت شائعة هذا العام، وفي المقالة التالية، سنقدم حلًا أقدم وأكثر “تقليدية”، وهو نسخة مطورة من الشبكة المسرّعة - أصول Taproott.

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • تعليق
  • إعادة النشر
  • مشاركة
تعليق
0/400
لا توجد تعليقات
  • تثبيت