كتبه روبن لينكس المترجم: مجموعة دنلينك لترجمة المجتمع
ملخص
BitVM هو نموذج حوسبة يستخدم للتعبير عن عقود Bitcoin الكاملة ل Turing. هذا لا يتطلب أي تغييرات على قواعد الإجماع لشبكة Bitcoin. على عكس إجراء العمليات الحسابية على Bitcoin ، يتم التحقق منها ببساطة ، على غرار عمليات التجميع المتفائلة. يعلن البروفير أن وظيفة معينة تقيم مدخلات معينة لمخرجات معينة. إذا كان الادعاء خاطئا ، فيمكن للمدقق تقديم دليل موجز على الاحتيال ومعاقبة المتظاهرين. باستخدام هذه الآلية ، يمكن التحقق من أي وظيفة قابلة للحساب على Bitcoin.
يتطلب الوعد ببرنامج كبير على عنوان Taproot الكثير من الحوسبة والاتصالات خارج السلسلة ، لكن بصمته على السلسلة صغيرة. طالما أن الطرفين يعملان معا ، فيمكنهما إجراء حسابات معقدة بشكل تعسفي وحالة خارج السلسلة دون ترك أي آثار على السلسلة. الإنفاذ على السلسلة مطلوب فقط في حالة النزاع.
1 مقدمة
حسب التصميم ، تقتصر وظيفة العقد الذكي ل Bitcoin على العمليات الأساسية مثل التوقيعات وأقفال الوقت وأقفال التجزئة. تنشئ BitVM مساحة تصميم جديدة لعقود Bitcoin أكثر تعبيرا والحوسبة خارج السلسلة. تشمل التطبيقات المحتملة ألعابا مثل الشطرنج أو Go أو البوكر ، بالإضافة إلى التحقق من إثبات الصلاحية في عقود Bitcoin. بالإضافة إلى ذلك ، قد يكون من الممكن ربط Bitcoin بالسلاسل الخارجية ، أو بناء أسواق التنبؤ ، أو محاكاة رموز التشغيل الجديدة.
العيب الرئيسي للنموذج المقدم هنا هو أنه يعمل فقط مع إعدادين ، البروفير والمدقق. هناك قيد آخر وهو أنه بالنسبة للمثبتين والمدققين ، يلزم إجراء الكثير من الحسابات والاتصالات خارج السلسلة لتنفيذ البرنامج. ومع ذلك ، يبدو أن هذه القضايا واعدة لمعالجتها بمزيد من البحث. في هذا العمل ، نركز فقط على المكونات الرئيسية ل BitVM ثنائي الطرف.
2 مخطط
مع التراكمات المتفائلة 1[2] [3] واقتراح MATT (Merkelize All The Things) 2 وبالمثل ، تعتمد أنظمتنا على بروتوكولات إثبات الاحتيال والاستجابة للتحدي. ومع ذلك ، لا يتطلب BitVM أي تغييرات على قواعد إجماع Bitcoin. الأوليات الأساسية بسيطة نسبيا. يعتمد بشكل أساسي على أقفال التجزئة وأقفال الوقت وأشجار الجذر الكبيرة.
يقدم البروفير البرنامج شيئا فشيئا إلى السلسلة ، ولكن التحقق من صحة كل شيء على السلسلة سيستهلك موارد حوسبة مفرطة ، لذلك يقوم المدقق بإجراء سلسلة من التحديات المعقدة لتزوير ادعاءات المدقق الكاذبة بإيجاز. معا ، يوقع المدقق والمدقق مسبقا على سلسلة من التحديات - الاستجابة للمعاملات من أجل حل أي نزاعات لاحقا.
يهدف النموذج ببساطة إلى توضيح أن هذا النهج يسمح بحساب عالمي على Bitcoin. بالنسبة للتطبيقات العملية ، يجب أن نفكر في نماذج أكثر كفاءة.
البروتوكول بسيط: أولا ، يقوم المدقق والمدقق بتجميع البرنامج في دائرة ثنائية عملاقة. يرسل البروفير الدائرة إلى عنوان Taproot مع نص نصي لكل بوابة منطقية في هذا العنوان. بالإضافة إلى ذلك ، يقومون بالتوقيع المسبق على سلسلة من المعاملات لدعم ألعاب الاستجابة للتحدي بين المثبتين والمدققين. الآن بعد أن تبادلوا جميع البيانات المطلوبة ، يمكنهم نقل إيداعهم على السلسلة إلى عنوان Taproot الذي تم إنشاؤه.
يؤدي هذا إلى تنشيط العقد ويمكنهم البدء في تبديل البيانات خارج السلسلة لإحداث تغييرات في الحالة في الدائرة. إذا قدم البروفير أي ادعاءات كاذبة ، فيمكن للمدقق أن يأخذ إيداعه. هذا يضمن أن المهاجمين سيفقدون ودائعهم دائما.
التزام بقيمة 3 بت
الالتزام بقيمة البت هو المكون الأساسي لهذا النظام. يسمح للبروفير بتعيين قيمة بت معين على "0" أو "1". على وجه الخصوص ، يسمح للبروفير بتعيين قيمة متغير بين البرامج النصية المختلفة و UTXOs. هذا أمر بالغ الأهمية لأنه يوسع نطاق وقت تشغيل التنفيذ عن طريق تقسيم وقت تنفيذ الجهاز الظاهري ل Bitcoin إلى معاملات متعددة.
يحتوي الوعد على قيمتي تجزئة ، hash0 و hash1. في مرحلة لاحقة ، يقوم البروفير بتعيين قيمة البت إلى "0" عن طريق الكشف عن preimage0 (الصورة الأولية ل hash0) أو إلى "1" عن طريق الكشف عن preimage1 (الصورة الأولية للتجزئة 1). إذا كشفوا ، في مرحلة ما ، عن كل من preimage0 و preimage1 ، فيمكن للمدقق استخدامها كدليل على الاحتيال وأخذ وديعة prover. وهذا ما يسمى بيان متناقض. إن القدرة على معاقبة التصريحات المتناقضة هي ما يجعل الالتزام ملزما - إنه "التزام قائم على الحوافز".
يتيح الجمع بين وعود قيمة البت والأقفال الزمنية للمدققين إجبار المدقق على اتخاذ قرار بشأن قيمة بت معين خلال إطار زمني معين.
الشكل 1: تنفيذ التزام بقيمة البتالشكل 1: تنفيذ التزام بقيمة 1 بت. لإلغاء قفل هذا البرنامج النصي ، يجب أن يكشف البروفير عن إحدى الصور المسبقة ل hash0 أو hash1. في تنفيذ المثال هذا ، يكشف prover hash1 ويعين قيمة البت إلى "1". يمكننا تكرار هذا الوعد لفرض قيمة محددة في نصوص مختلفة.
للتبسيط ، من هنا ، لنفترض أن هناك رمز تشغيل يسمى OP BITCOMMITMENT ، وهو اختصار للنص أعلاه. يستهلك رمز التشغيل تجزئتين وصورة مسبقة مجزأة واحدة. استنادا إلى التجزئة التي تطابق الصورة المسبقة ، فإنها تضع قيمة بت على المكدس.
4 وعود بوابة المنطق
يمكن تمثيل أي دالة قابلة للحساب كدائرة منطقية. بوابة NAND هي بوابة منطقية عالمية ، لذلك يمكن أن تتكون أي دالة منطقية منها. للحفاظ على بساطة نموذجنا ، نوضح كيف يعمل نهجنا مع بوابات NAND البسيطة. بالإضافة إلى ذلك ، نوضح كيفية الجمع بين الأبواب بشكل تعسفي. كل هذا يثبت أن BitVM يمكن أن يمثل أي دائرة.
إن تحقيق وعد بوابة NAND أمر بسيط. يحتوي على وعود بتتين تمثلان مدخلين والتزام بت واحد يمثل المخرجات. يحسب البرنامج النصي قيمة NAND للمدخلين للتأكد من أنها تتطابق مع بتات الإخراج الموعودة.
الشكل 2: التزام البوابة لعمليات NAND الشكل 2: التزام البوابة لعمليات NAND. يحتاج تنفيذ هذا البرنامج النصي إلى الكشف عن قيم وعود البت A و B و C بحيث يكون A NAND B = C صحيحا.
(هنا ، من أجل البساطة ، لنفترض وجود رمز تشغيل باسم OP NAND.) في الواقع ، إنه غير موجود ، ولكن يمكن تنفيذه بسهولة باستخدام OP BOOLAND و OP NOT. )
5 وعود الدائرة الثنائية
في القسم السابق، حددنا التزام بوابة NAND. يمكننا تمثيل أي دائرة من خلال الجمع بين وعود البوابة. يتم ارتكاب كل خطوة من خطوات الإعدام في Tapleaf. يتم دمجها جميعا في نفس عنوان Taproot بحيث يمكن للبروفير تنفيذ أي بوابة في الدائرة. يتطلب تنفيذ البوابة من البروفير فتح وعد البوابة المقابل وتعيين قيم بتات الإدخال والإخراج الخاصة به.
قد تصبح Taptree ضخمة ولديها مليار نص Tapleaf ، لكن بصمتها على السلسلة صغيرة.
الشكل 3: دائرة مثال عشوائي الشكل 3: دائرة نموذجية عشوائية بها 8 بوابات NAND مختلفة و 4 مداخل A و B و C و D. باستخدام مليارات البوابات ، يمكن تعريف أي وظيفة بشكل أساسي.
الشكل 4الشكل 4: لكل بوابة ، يحتوي عنوان Taproot الخاص ب prover على نص برمجي مع وعد البوابة المقابل. يسمح هذا للبروفير بتعيين قيم إدخال الدائرة في أي وقت (هنا A و B و C و D).
6 التحديات والاستجابات
لا يكفي الالتزام بدائرة. من أجل دحض الادعاءات الخاطئة ، يجب أن يكون المدقق قادرا على الطعن في بيان المدقق. يمكن تحقيق ذلك عن طريق التوقيع المسبق على سلسلة من المعاملات أثناء الإعداد. تستجيب هذه المعاملات للتحديات → →→ تستجيب → ... طريقة مرتبطة. إذا توقف أحد الطرفين عن المشاركة ، فبعد فترة مهلة ، يفوز الطرف الآخر بالتحدي ويمكنه أخذ ودائع الطرفين. طالما أن كلا الطرفين يعملان معا ، فيمكنهما العمل معا لحل أي عقد من خلال توقيع 2 من 2. الآليات التالية مطلوبة فقط في حالة حدوث احتيال.
الشكل 5: سلسلة من المعاملات الموقعة مسبقاالشكل 5: سلسلة من المعاملات الموقعة مسبقا لأداء جولات متعددة من التحديات والاستجابات. يتم إنشاء هذا التسلسل أثناء الإعداد.
تختار فيكي تحديا عن طريق فتح قفل تجزئة في ورقة الصنبور الخاصة بها. سيؤدي هذا إلى فتح نقرة محددة لبول وإجباره على تنفيذها. يجبر السيناريو بول على الكشف عن وعد الباب لتحدي فيكي. من خلال تكرار هذه العملية لعدة جولات من الاستعلامات ، يمكنك دحض أي ادعاءات غير متسقة بسرعة.
إذا توقف المدقق عن التعاون خارج السلسلة مع المدقق ، يحتاج المدقق إلى طريقة لإجبار المدقق على التصرف على السلسلة. يحقق المدقق ذلك عن طريق إلغاء قفل التجزئة: لا يمكن إنفاق كل NAND Tapleaf في UTXO الخاص ب prover إلا إذا كان البروفير يعرف الصورة المسبقة التي يحتفظ بها المصدق. وبالتالي ، يمكن للبروفير إثبات أن Tapleaf معين يعمل بشكل صحيح من خلال الكشف عن مدخلاته ومخرجاته ، ولكن فقط إذا قام المدقق "بإلغاء قفله" من خلال الكشف عن الصورة المسبقة للتجزئة التي تحمي Tapleaf. من خلال تطبيق بحث ثنائي ، يمكن للمدققين تحديد خطأ prover بسرعة بعد بضع جولات فقط من التحديات والاستجابات.
الشكل 6: بعد كل رد ، يمكن لفيكي معاقبة السلوك الغامض. إذا كشف بول قيمتين متعارضتين لمتغير ، تفوز فيكي على الفور بالتحدي ويسمح لها بأخذ وديعته. تثبت فيكي غموض بول من خلال الكشف عن أي من الصورتين الأوليتين اللتين وعدت بهما بتاته.
7 المدخلات والمخرجات
يمكن للبروفير تعيين الإدخال من خلال الكشف عن وعد البت المقابل. من الناحية المثالية ، فإنها تكشف عن التزامات خارج السلسلة لتقليل الإشغال على السلسلة. في حالة غير متعاونة ، يمكن للمدققين إجبار المدققين على الكشف عن مدخلاتهم على السلسلة.
يمكن معالجة كميات كبيرة من البيانات عن طريق تبادل التشفير مقدما. بهذه الطريقة ، يمكن للبروفير الكشف عن مفتاح فك التشفير في وقت لاحق.
المدخلات متعددة الأطراف ممكنة أيضا. يمكن أن يكون للأبواب التزامات صغيرة من كلا الجانبين.
8 القيود والتوقعات
من غير الفعال تمثيل الوظائف في دوائر NAND البسيطة. باستخدام أكواد تشغيلية أكثر تقدما ، يمكن تمثيل البرامج بشكل أكثر كفاءة. على سبيل المثال ، يدعم Bitcoin Script إضافة أرقام 32 بت ، لذلك لا نحتاج إلى دوائر ثنائية. يمكننا أيضا الحصول على وعود بت أكبر ، على سبيل المثال ، 32 بت في تجزئة واحدة. بالإضافة إلى ذلك ، يمكن أن يصل حجم البرنامج النصي إلى حوالي 4 ميغابايت. وبالتالي ، يمكننا تنفيذ أكثر من تعليمات NAND واحدة في كل نص ورقة.
يقتصر النموذج المقدم هنا على طرفين. ومع ذلك ، قد يكون من الممكن وجود قنوات ثنائية الاتجاه وربطها معا لتشكيل شبكة مشابهة لشبكة Lightning. يمكن أن يؤدي استكشاف كلا الإعدادين إلى إمكانيات تعميم مثيرة للاهتمام. على سبيل المثال ، يمكننا استكشاف طوبولوجيا نجمية من 1 إلى n لشبكة. سؤال بحثي آخر هو ما إذا كان بإمكاننا تطبيق نموذجنا على إعداد n-to-n وإنشاء مصانع قنوات أكثر تعقيدا. بالإضافة إلى ذلك ، يمكننا دمج أنظمتنا مع بروتوكولات مختلفة خارج السلسلة مثل شبكة Lightning أو Rollups.
تشمل اتجاهات البحث الأخرى الذاكرة عبر التطبيقات ، وكيفية الإدلاء ببيانات حول البيانات التعسفية المحفورة على السلسلة ، أو الدوائر القابلة للبرمجة خارج السلسلة ، أي الأجهزة الافتراضية خارج السلسلة. يمكن أيضا تطبيق تقنيات أخذ عينات أكثر تطورا ، على غرار STARKs ، لفحص الدوائر في دورة واحدة.
المعلم الكبير التالي هو الانتهاء من تصميم وتنفيذ BitVM ملموس ، بالإضافة إلى Tree ++ ، وهي لغة عالية المستوى لكتابة وتصحيح عقود Bitcoin.
9 استنتاج
Bitcoin هو Turing-complete بمعنى ما ، حيث تتحقق أدلة الاحتيال المشفرة في Taptrees الكبيرة من تنفيذ أي برنامج. أحد القيود الرئيسية لهذا النموذج هو أنه يعمل فقط في حالة كلا الطرفين. ومن المأمول أن يتم التعميم في مزيد من العمل.
شكر وتقدير
شكر خاص ل Super Testnet و Sam Parker ، الذين اعتقدوا دائما أن Bitcoin لن يكتمل Turing.
المراجع
[1] أبحاث إيثريوم. تراكمات متفائلة. 2022.
[2] سالفاتوري إنغالا. Merkleize كل الأشياء. , 2022.
موارد
[1] فريق الترجمة:
[2] التراكمات المتفائلة 1:
[3] MATT 提案(Merkelize All The Things)2:
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
BitVM: احسب أي شيء على البيتكوين
كتبه روبن لينكس المترجم: مجموعة دنلينك لترجمة المجتمع
ملخص
BitVM هو نموذج حوسبة يستخدم للتعبير عن عقود Bitcoin الكاملة ل Turing. هذا لا يتطلب أي تغييرات على قواعد الإجماع لشبكة Bitcoin. على عكس إجراء العمليات الحسابية على Bitcoin ، يتم التحقق منها ببساطة ، على غرار عمليات التجميع المتفائلة. يعلن البروفير أن وظيفة معينة تقيم مدخلات معينة لمخرجات معينة. إذا كان الادعاء خاطئا ، فيمكن للمدقق تقديم دليل موجز على الاحتيال ومعاقبة المتظاهرين. باستخدام هذه الآلية ، يمكن التحقق من أي وظيفة قابلة للحساب على Bitcoin.
يتطلب الوعد ببرنامج كبير على عنوان Taproot الكثير من الحوسبة والاتصالات خارج السلسلة ، لكن بصمته على السلسلة صغيرة. طالما أن الطرفين يعملان معا ، فيمكنهما إجراء حسابات معقدة بشكل تعسفي وحالة خارج السلسلة دون ترك أي آثار على السلسلة. الإنفاذ على السلسلة مطلوب فقط في حالة النزاع.
1 مقدمة
حسب التصميم ، تقتصر وظيفة العقد الذكي ل Bitcoin على العمليات الأساسية مثل التوقيعات وأقفال الوقت وأقفال التجزئة. تنشئ BitVM مساحة تصميم جديدة لعقود Bitcoin أكثر تعبيرا والحوسبة خارج السلسلة. تشمل التطبيقات المحتملة ألعابا مثل الشطرنج أو Go أو البوكر ، بالإضافة إلى التحقق من إثبات الصلاحية في عقود Bitcoin. بالإضافة إلى ذلك ، قد يكون من الممكن ربط Bitcoin بالسلاسل الخارجية ، أو بناء أسواق التنبؤ ، أو محاكاة رموز التشغيل الجديدة.
العيب الرئيسي للنموذج المقدم هنا هو أنه يعمل فقط مع إعدادين ، البروفير والمدقق. هناك قيد آخر وهو أنه بالنسبة للمثبتين والمدققين ، يلزم إجراء الكثير من الحسابات والاتصالات خارج السلسلة لتنفيذ البرنامج. ومع ذلك ، يبدو أن هذه القضايا واعدة لمعالجتها بمزيد من البحث. في هذا العمل ، نركز فقط على المكونات الرئيسية ل BitVM ثنائي الطرف.
2 مخطط
مع التراكمات المتفائلة 1[2] [3] واقتراح MATT (Merkelize All The Things) 2 وبالمثل ، تعتمد أنظمتنا على بروتوكولات إثبات الاحتيال والاستجابة للتحدي. ومع ذلك ، لا يتطلب BitVM أي تغييرات على قواعد إجماع Bitcoin. الأوليات الأساسية بسيطة نسبيا. يعتمد بشكل أساسي على أقفال التجزئة وأقفال الوقت وأشجار الجذر الكبيرة.
يقدم البروفير البرنامج شيئا فشيئا إلى السلسلة ، ولكن التحقق من صحة كل شيء على السلسلة سيستهلك موارد حوسبة مفرطة ، لذلك يقوم المدقق بإجراء سلسلة من التحديات المعقدة لتزوير ادعاءات المدقق الكاذبة بإيجاز. معا ، يوقع المدقق والمدقق مسبقا على سلسلة من التحديات - الاستجابة للمعاملات من أجل حل أي نزاعات لاحقا.
يهدف النموذج ببساطة إلى توضيح أن هذا النهج يسمح بحساب عالمي على Bitcoin. بالنسبة للتطبيقات العملية ، يجب أن نفكر في نماذج أكثر كفاءة.
البروتوكول بسيط: أولا ، يقوم المدقق والمدقق بتجميع البرنامج في دائرة ثنائية عملاقة. يرسل البروفير الدائرة إلى عنوان Taproot مع نص نصي لكل بوابة منطقية في هذا العنوان. بالإضافة إلى ذلك ، يقومون بالتوقيع المسبق على سلسلة من المعاملات لدعم ألعاب الاستجابة للتحدي بين المثبتين والمدققين. الآن بعد أن تبادلوا جميع البيانات المطلوبة ، يمكنهم نقل إيداعهم على السلسلة إلى عنوان Taproot الذي تم إنشاؤه.
يؤدي هذا إلى تنشيط العقد ويمكنهم البدء في تبديل البيانات خارج السلسلة لإحداث تغييرات في الحالة في الدائرة. إذا قدم البروفير أي ادعاءات كاذبة ، فيمكن للمدقق أن يأخذ إيداعه. هذا يضمن أن المهاجمين سيفقدون ودائعهم دائما.
التزام بقيمة 3 بت
الالتزام بقيمة البت هو المكون الأساسي لهذا النظام. يسمح للبروفير بتعيين قيمة بت معين على "0" أو "1". على وجه الخصوص ، يسمح للبروفير بتعيين قيمة متغير بين البرامج النصية المختلفة و UTXOs. هذا أمر بالغ الأهمية لأنه يوسع نطاق وقت تشغيل التنفيذ عن طريق تقسيم وقت تنفيذ الجهاز الظاهري ل Bitcoin إلى معاملات متعددة.
يحتوي الوعد على قيمتي تجزئة ، hash0 و hash1. في مرحلة لاحقة ، يقوم البروفير بتعيين قيمة البت إلى "0" عن طريق الكشف عن preimage0 (الصورة الأولية ل hash0) أو إلى "1" عن طريق الكشف عن preimage1 (الصورة الأولية للتجزئة 1). إذا كشفوا ، في مرحلة ما ، عن كل من preimage0 و preimage1 ، فيمكن للمدقق استخدامها كدليل على الاحتيال وأخذ وديعة prover. وهذا ما يسمى بيان متناقض. إن القدرة على معاقبة التصريحات المتناقضة هي ما يجعل الالتزام ملزما - إنه "التزام قائم على الحوافز".
يتيح الجمع بين وعود قيمة البت والأقفال الزمنية للمدققين إجبار المدقق على اتخاذ قرار بشأن قيمة بت معين خلال إطار زمني معين.
الشكل 1: تنفيذ التزام بقيمة البتالشكل 1: تنفيذ التزام بقيمة 1 بت. لإلغاء قفل هذا البرنامج النصي ، يجب أن يكشف البروفير عن إحدى الصور المسبقة ل hash0 أو hash1. في تنفيذ المثال هذا ، يكشف prover hash1 ويعين قيمة البت إلى "1". يمكننا تكرار هذا الوعد لفرض قيمة محددة في نصوص مختلفة.
للتبسيط ، من هنا ، لنفترض أن هناك رمز تشغيل يسمى OP BITCOMMITMENT ، وهو اختصار للنص أعلاه. يستهلك رمز التشغيل تجزئتين وصورة مسبقة مجزأة واحدة. استنادا إلى التجزئة التي تطابق الصورة المسبقة ، فإنها تضع قيمة بت على المكدس.
4 وعود بوابة المنطق
يمكن تمثيل أي دالة قابلة للحساب كدائرة منطقية. بوابة NAND هي بوابة منطقية عالمية ، لذلك يمكن أن تتكون أي دالة منطقية منها. للحفاظ على بساطة نموذجنا ، نوضح كيف يعمل نهجنا مع بوابات NAND البسيطة. بالإضافة إلى ذلك ، نوضح كيفية الجمع بين الأبواب بشكل تعسفي. كل هذا يثبت أن BitVM يمكن أن يمثل أي دائرة.
إن تحقيق وعد بوابة NAND أمر بسيط. يحتوي على وعود بتتين تمثلان مدخلين والتزام بت واحد يمثل المخرجات. يحسب البرنامج النصي قيمة NAND للمدخلين للتأكد من أنها تتطابق مع بتات الإخراج الموعودة.
الشكل 2: التزام البوابة لعمليات NAND الشكل 2: التزام البوابة لعمليات NAND. يحتاج تنفيذ هذا البرنامج النصي إلى الكشف عن قيم وعود البت A و B و C بحيث يكون A NAND B = C صحيحا.
(هنا ، من أجل البساطة ، لنفترض وجود رمز تشغيل باسم OP NAND.) في الواقع ، إنه غير موجود ، ولكن يمكن تنفيذه بسهولة باستخدام OP BOOLAND و OP NOT. )
5 وعود الدائرة الثنائية
في القسم السابق، حددنا التزام بوابة NAND. يمكننا تمثيل أي دائرة من خلال الجمع بين وعود البوابة. يتم ارتكاب كل خطوة من خطوات الإعدام في Tapleaf. يتم دمجها جميعا في نفس عنوان Taproot بحيث يمكن للبروفير تنفيذ أي بوابة في الدائرة. يتطلب تنفيذ البوابة من البروفير فتح وعد البوابة المقابل وتعيين قيم بتات الإدخال والإخراج الخاصة به.
قد تصبح Taptree ضخمة ولديها مليار نص Tapleaf ، لكن بصمتها على السلسلة صغيرة.
الشكل 3: دائرة مثال عشوائي الشكل 3: دائرة نموذجية عشوائية بها 8 بوابات NAND مختلفة و 4 مداخل A و B و C و D. باستخدام مليارات البوابات ، يمكن تعريف أي وظيفة بشكل أساسي.
6 التحديات والاستجابات
لا يكفي الالتزام بدائرة. من أجل دحض الادعاءات الخاطئة ، يجب أن يكون المدقق قادرا على الطعن في بيان المدقق. يمكن تحقيق ذلك عن طريق التوقيع المسبق على سلسلة من المعاملات أثناء الإعداد. تستجيب هذه المعاملات للتحديات → →→ تستجيب → ... طريقة مرتبطة. إذا توقف أحد الطرفين عن المشاركة ، فبعد فترة مهلة ، يفوز الطرف الآخر بالتحدي ويمكنه أخذ ودائع الطرفين. طالما أن كلا الطرفين يعملان معا ، فيمكنهما العمل معا لحل أي عقد من خلال توقيع 2 من 2. الآليات التالية مطلوبة فقط في حالة حدوث احتيال.
تختار فيكي تحديا عن طريق فتح قفل تجزئة في ورقة الصنبور الخاصة بها. سيؤدي هذا إلى فتح نقرة محددة لبول وإجباره على تنفيذها. يجبر السيناريو بول على الكشف عن وعد الباب لتحدي فيكي. من خلال تكرار هذه العملية لعدة جولات من الاستعلامات ، يمكنك دحض أي ادعاءات غير متسقة بسرعة.
إذا توقف المدقق عن التعاون خارج السلسلة مع المدقق ، يحتاج المدقق إلى طريقة لإجبار المدقق على التصرف على السلسلة. يحقق المدقق ذلك عن طريق إلغاء قفل التجزئة: لا يمكن إنفاق كل NAND Tapleaf في UTXO الخاص ب prover إلا إذا كان البروفير يعرف الصورة المسبقة التي يحتفظ بها المصدق. وبالتالي ، يمكن للبروفير إثبات أن Tapleaf معين يعمل بشكل صحيح من خلال الكشف عن مدخلاته ومخرجاته ، ولكن فقط إذا قام المدقق "بإلغاء قفله" من خلال الكشف عن الصورة المسبقة للتجزئة التي تحمي Tapleaf. من خلال تطبيق بحث ثنائي ، يمكن للمدققين تحديد خطأ prover بسرعة بعد بضع جولات فقط من التحديات والاستجابات.
7 المدخلات والمخرجات
يمكن للبروفير تعيين الإدخال من خلال الكشف عن وعد البت المقابل. من الناحية المثالية ، فإنها تكشف عن التزامات خارج السلسلة لتقليل الإشغال على السلسلة. في حالة غير متعاونة ، يمكن للمدققين إجبار المدققين على الكشف عن مدخلاتهم على السلسلة.
يمكن معالجة كميات كبيرة من البيانات عن طريق تبادل التشفير مقدما. بهذه الطريقة ، يمكن للبروفير الكشف عن مفتاح فك التشفير في وقت لاحق.
المدخلات متعددة الأطراف ممكنة أيضا. يمكن أن يكون للأبواب التزامات صغيرة من كلا الجانبين.
8 القيود والتوقعات
من غير الفعال تمثيل الوظائف في دوائر NAND البسيطة. باستخدام أكواد تشغيلية أكثر تقدما ، يمكن تمثيل البرامج بشكل أكثر كفاءة. على سبيل المثال ، يدعم Bitcoin Script إضافة أرقام 32 بت ، لذلك لا نحتاج إلى دوائر ثنائية. يمكننا أيضا الحصول على وعود بت أكبر ، على سبيل المثال ، 32 بت في تجزئة واحدة. بالإضافة إلى ذلك ، يمكن أن يصل حجم البرنامج النصي إلى حوالي 4 ميغابايت. وبالتالي ، يمكننا تنفيذ أكثر من تعليمات NAND واحدة في كل نص ورقة.
يقتصر النموذج المقدم هنا على طرفين. ومع ذلك ، قد يكون من الممكن وجود قنوات ثنائية الاتجاه وربطها معا لتشكيل شبكة مشابهة لشبكة Lightning. يمكن أن يؤدي استكشاف كلا الإعدادين إلى إمكانيات تعميم مثيرة للاهتمام. على سبيل المثال ، يمكننا استكشاف طوبولوجيا نجمية من 1 إلى n لشبكة. سؤال بحثي آخر هو ما إذا كان بإمكاننا تطبيق نموذجنا على إعداد n-to-n وإنشاء مصانع قنوات أكثر تعقيدا. بالإضافة إلى ذلك ، يمكننا دمج أنظمتنا مع بروتوكولات مختلفة خارج السلسلة مثل شبكة Lightning أو Rollups.
تشمل اتجاهات البحث الأخرى الذاكرة عبر التطبيقات ، وكيفية الإدلاء ببيانات حول البيانات التعسفية المحفورة على السلسلة ، أو الدوائر القابلة للبرمجة خارج السلسلة ، أي الأجهزة الافتراضية خارج السلسلة. يمكن أيضا تطبيق تقنيات أخذ عينات أكثر تطورا ، على غرار STARKs ، لفحص الدوائر في دورة واحدة.
المعلم الكبير التالي هو الانتهاء من تصميم وتنفيذ BitVM ملموس ، بالإضافة إلى Tree ++ ، وهي لغة عالية المستوى لكتابة وتصحيح عقود Bitcoin.
9 استنتاج
Bitcoin هو Turing-complete بمعنى ما ، حيث تتحقق أدلة الاحتيال المشفرة في Taptrees الكبيرة من تنفيذ أي برنامج. أحد القيود الرئيسية لهذا النموذج هو أنه يعمل فقط في حالة كلا الطرفين. ومن المأمول أن يتم التعميم في مزيد من العمل.
شكر وتقدير
شكر خاص ل Super Testnet و Sam Parker ، الذين اعتقدوا دائما أن Bitcoin لن يكتمل Turing.
المراجع
[1] أبحاث إيثريوم. تراكمات متفائلة. 2022.
[2] سالفاتوري إنغالا. Merkleize كل الأشياء. , 2022.
موارد
[1] فريق الترجمة:
[2] التراكمات المتفائلة 1:
[3] MATT 提案(Merkelize All The Things)2: