شرح تفصيلي لشبكة Bitcoin Lightning وأصول Taproot
سيؤدي دمج العملات المستقرة في شبكة Lightning Network عبر بروتوكول Taproot Assets إلى إحداث ثورة في صناعات المدفوعات والتكنولوجيا المالية.
JinseFinanceالمؤلف: نيكتشياو، فاوست، شو وانغ المصدر: geekweb3
الملخص: مؤخرًا، أصدرت شركة Delphi Digital تقريرًا بحثيًا تقنيًا حول الطبقة الثانية من Bitcoin بعنوان "فجر برمجة Bitcoin: تمهيد الطريق للمجموعات". لقد قام النظام بفرز المفاهيم الأساسية المتعلقة بـ Bitcoin Rollup، مثل مجموعة BitVM، وقيود OP_CAT و Covenant، وطبقة Bitcoin DA البيئية، والجسر، وطبقات Bitcoin الرئيسية الأربع الثانية التي تستخدم BitVM، بما في ذلك Bitlayer وCitrea وYona وBob.
على الرغم من أن التقرير البحثي يُظهر بشكل عام الصورة العامة لتقنية الطبقة الثانية الخاصة بالبيتكوين، إلا أنه عمومًا عام نسبيًا ويفتقر إلى الأوصاف التفصيلية، مما يجعل من الصعب فهمه. أجرى Geek web3 عمليات تنقيب واسعة النطاق ومتعمقة استنادًا إلى تقرير بحث دلفي، في محاولة للسماح لمزيد من الأشخاص بفهم BitVM والتقنيات الأخرى بشكل منهجي.
نحن سنطلق بشكل مشترك سلسلة من الأعمدة تسمى "Approaching BTC" مع فريق أبحاث Bitlayer ومجتمع BitVM الصيني لنشر العلوم حول موضوعات رئيسية مثل BitVM وOP_CAT وBitcoin عبر السلاسل الملتزمة بتوفير المزيد من الأشخاص لفترة طويلة مع التقنيات ذات الصلة بالطبقة الثانية من Bitcoin للمساعدة في تمهيد الطريق لمزيد من المتحمسين.
بعد ذلك< قوي > شارك المزيد من الباحثين في تحسين BitVM، وأطلقوا على التوالي إصدارات متكررة مختلفة مثل BitVM1، وBitVM2، وBitVMX، وBitSNARK. الوضع العام هو كما يلي:
الورقة البيضاء الخاصة بتنفيذ BitVM والتي اقترحها Robin Linus لأول مرة العام الماضي هي يُطلق على تطبيق BitVM المبني على دوائر البوابة المنطقية الوهمية اسم BitVM0؛
اقترح Robin Linus أيضًا BitVM2، وهو بروتوكول غير تفاعلي لمنع الاحتيال في خطوة واحدة.
أصدر أعضاء Rootstock Labs وFairgate Labs الورقة البيضاء الخاصة بـ BitVMX. وعلى غرار BitVM1، يأملون في محاكاة تأثير وحدة المعالجة المركزية للأغراض العامة (خارج السلسلة) من خلال نصوص Bitcoin النصية.
الإنشاء الحالي للمطور ذي الصلة بـ BitVM أصبح من الواضح بشكل متزايد أن التحسين المتكرر للأدوات الطرفية أصبح مرئيًا للعين المجردة، مقارنة بالعام الماضي، أصبح نظام BitVM البيئي اليوم "مرئيًا بشكل غامض" من "القلعة في الهواء" الأولية، والتي اجتذبت أيضًا المزيد. والمزيد من المطورين ورأس المال الاستثماري يتنافسون في نظام البيتكوين البيئي.
لكن بالنسبة لمعظم الأشخاص بالنسبة للبشر، ليس من السهل فهم المصطلحات التقنية المتعلقة بـ BitVM والطبقة الثانية من Bitcoin، لأنه يجب عليك أولاً أن يكون لديك فهم منهجي للمعرفة الأساسية المحيطة به، وخاصة المعرفة الأساسية مثل برنامج Bitcoin وTaproot. إن المواد المرجعية المتاحة حاليًا على الإنترنت إما طويلة للغاية ومليئة بالهراء، أو أن التفسيرات ليست شاملة بما فيه الكفاية، مما يجعل الناس يبدون وكأنهم يفهمون ولكنهم لا يفهمون. نحن ملتزمون بحل المشكلات المذكورة أعلاه، ونسعى جاهدين لمساعدة المزيد من الأشخاص على فهم المعرفة المحيطة بالطبقة الثانية من Bitcoin بأوضح لغة ممكنة، و إنشاء فهم منهجي لنظام BitVM.
يمكن لـ MATT التعبير عن A سيتم إصدار البرنامج المعقد وآثار معالجة البيانات الخاصة به، ولكن لن يتم إصدار هذه البيانات مباشرة على سلسلة BTC لأن الحجم الإجمالي لهذه البيانات كبير جدًا. يقوم الحل الذي يستخدم MATT فقط بتخزين البيانات في شجرة Merkle خارج السلسلة، وينشر فقط الملخص العلوي (Merkle Root) لشجرة Merkle في السلسلة. تحتوي شجرة Merkle بشكل أساسي على ثلاثة محتويات أساسية:
الرمز النصي للعقد الذكي< /span
البيانات المطلوبة بموجب العقد< /p>
الآثار المتبقية أثناء تنفيذ العقد (العقود الذكية سجلات التغييرات في سجلات الذاكرة ووحدة المعالجة المركزية عند تنفيذها في الأجهزة الافتراضية مثل EVM)
(مخطط بسيط لشجرة Merkle يتم حساب جذر Merkle فيه من أجزاء البيانات الثمانية الموجودة أسفل الشكل من خلال التجزئة متعددة الطبقات)
< تمتد نمط = "font-family: Arial، Helvetica، sans-serif؛ حجم الخط: 18px؛">بموجب مخطط MATT، يتم تخزين جذر Merkle الصغير للغاية فقط في السلسلة On، والتي تحتوي على مجموعة البيانات الكاملة في Merkle Tree يتم تخزينه خارج السلسلة، والذي يستخدم فكرة تسمى "الالتزام". فيما يلي شرح لما هو "الالتزام".
الالتزام كما هو الحال مع العبارة الموجزة، يمكننا فهمها على أنها "بصمة" تم الحصول عليها بعد ضغط كمية كبيرة من البيانات. بشكل عام، فإن الشخص الذي يصدر "التزامًا" على السلسلة سيدعي أن بعض البيانات المخزنة خارج السلسلة دقيقة، ويجب أن تتوافق هذه البيانات خارج السلسلة مع بيان موجز، وهذا البيان هو "الالتزام".
في مرحلة ما، يمكن استخدام تجزئة البيانات بمثابة "التزام" للبيانات نفسها. تتضمن مخططات الالتزام الأخرى التزام KZG أو Merkle Tree. في بروتوكول Layer2 المعتاد المقاوم للاحتيال، يقوم ناشر البيانات بنشر مجموعة بيانات كاملة خارج السلسلة والالتزام بنشر مجموعة البيانات على السلسلة. إذا اكتشف شخص ما بيانات غير صالحة في مجموعة البيانات خارج السلسلة، فسيتم الطعن في التزام البيانات الموجودة على السلسلة.
من خلال الالتزام، يمكن للطبقة الثانية ضغط ومعالجة كميات كبيرة من البيانات ونشر "التزامها" فقط على سلسلة البيتكوين. بالطبع، من الضروري أيضًا التأكد من أن مجموعة البيانات الكاملة الصادرة خارج السلسلة يمكن مراقبتها من قبل العالم الخارجي.
1. تحليل البرنامج والالتزام: قم أولاً بتفكيكه ينقسم البرنامج المعقد إلى عدد كبير من رموز التشغيل الأساسية نسبيًا (التجميع)، ثم يتم تسجيل الآثار التي تم إنشاؤها بواسطة رموز التشغيل هذه أثناء تنفيذ محدد (بعبارة صريحة، عندما يتم تشغيل برنامج في وحدة المعالجة المركزية والذاكرة، فإن البرنامج بأكمله سجل تغيير الحالة، يسمى التتبع). بعد ذلك، نقوم بتنظيم جميع البيانات، بما في ذلك التتبعات وأكواد التشغيل، في مجموعة بيانات، ثم نقوم بإنشاء التزام لمجموعة البيانات تلك.
يمكن لخطة التزام محددة لها أشكال عديدة، مثل: شجرة ميركل، PIOPs (خوارزميات ZK المختلفة)، وظيفة التجزئة
3. إصدار البيانات والالتزام:البيانات ينشر المدقق الالتزام على السلسلة، ويتم نشر مجموعة البيانات الكاملة خارج السلسلة، ويقوم المدقق باسترداد مجموعة البيانات والتحقق من أي أخطاء. يرتبط كل جزء من مجموعة البيانات خارج السلسلة بالالتزام الموجود على السلسلة.
4 التحديات والعقوبات: بمجرد اكتشاف المدقق وجود خطأ في البيانات المقدمة من قبل ناشر البيانات، فإنه سيأخذ هذا الجزء من البيانات إلى السلسلة للتحقق المباشر (يجب قطع هذا الجزء من البيانات بدقة شديدة أولاً) وهو منطق التزوير. إذا أظهرت نتائج التحقق أن ناشر البيانات قد قدم بالفعل بيانات غير صالحة خارج السلسلة، فسيتم أخذ أصوله من قبل المدقق الذي يتحداه.
للتلخيص، تكشف أليس، ناشرة البيانات، عن جميع الآثار التي تم إنشاؤها أثناء تنفيذ معاملات الطبقة الثانية خارج السلسلة وتنشر الالتزامات المقابلة على السلسلة. إذا كنت تريد إثبات أن جزءًا معينًا من البيانات خاطئ، فأثبت أولاً لعقدة البيتكوين أن هذا الجزء من البيانات مرتبط بالالتزام على السلسلة، أي أثبت أن البيانات يتم الكشف عنها للعامة بواسطة أليس نفسها، ثم دع عقدة Bitcoin تؤكد أن هذا الجزء من البيانات خاطئ.
الآن بعد أن أصبح لدينا فهم عام للفكرة العامة لـ BitVM، لا يمكن لجميع متغيرات BitVM أن تنفصل عن النموذج أعلاه. بعد ذلك، دعونا نبدأ في تعلم وفهم بعض التقنيات المهمة المستخدمة في العملية المذكورة أعلاه، بدءًا من نصوص Bitcoin الأساسية وTaproot والتوقيع المسبق.
من الصعب فهم المعرفة المتعلقة بالبيتكوين مقارنة بالإيثيريوم. حتى سلوك النقل الأساسي يتضمن سلسلة من المفاهيم، بما في ذلك UTXO (مخرجات المعاملات غير المنفقة)، ونص القفل (يُسمى أيضًا ScriptPubKey) والنص البرمجي لإلغاء القفل (وتسمى أيضًا ScriptSig). دعونا أولا شرح هذه المفاهيم الرئيسية.
(مثال على كود البرنامج النصي Bitcoin الذي يتكون من أكواد تشغيل ذات مستوى أدنى من لغة عالية المستوى)
يحتوي Bitcoin UTXO على حقلين رئيسيين:
< span style="font-size: 18px;">سيحدد برنامج القفل، المعروف أيضًا باسم "ScriptPubKey"، شروط إلغاء القفل لـ UTXO.
تجدر الإشارة إلى أنه يتم التعبير عن ملكية Bitcoin UTXO من خلال برنامج قفل نصي. إذا كنت تريد نقل UTXO الخاص بك إلى Sam، فيمكنك بدء معاملة لتدمير أحد UTXOs الخاص بك ونقل UTXO الذي تم إنشاؤه حديثًا شرط فتح UTXO مكتوب على النحو التالي: "فقط Sam يمكنه فتح القفل".
بعد ذلك، إذا أراد Sam استخدام عملات البيتكوين هذه، فإنه يحتاج إلى إرسال برنامج نصي لإلغاء القفل (ScriptSig). في برنامج إلغاء القفل هذا، يحتاج Sam إلى تقديم توقيعه الرقمي لإثبات أنه Sam نفسه. إذا كان نص إلغاء القفل يتطابق مع نص القفل المذكور أعلاه، فيمكن لـ Sam فتح عملات البيتكوين ونقلها إلى الآخرين.
(يجب أن يتطابق البرنامج النصي لإلغاء القفل مع البرنامج النصي للقفل)
على سبيل المثال، في في إدخال المعاملة، تثبت أنك Sam، وتفتح العديد من UTXOs الممنوحة لك من قبل الآخرين، وتدمرها بشكل موحد، وتولد العديد من UTXOs الجديدة وتعلن أن xxx سيفتحها في المستقبل.
ليس لدى البيتكوين تصميم عالمي، وبيانات الأصول متناثرة ومخزنة في الكتل السابقة (أي بيانات UTXO غير المؤمنة والمخزنة بشكل منفصل في مخرجات كل معاملة).
عادةً ما يتم استخدام Bitcoin عندما باستخدام المحفظة، يمكنك التحقق بسرعة من رصيد البيتكوين المملوك لعنوان معين، ويرجع ذلك غالبًا إلى أن خدمة المحفظة نفسها تقوم بفهرسة جميع العناوين عن طريق مسح الكتل، مما يسهل علينا الاستعلام بسرعة.
مثير للاهتمام نعم، يتم حساب نتائج معاملات Bitcoin خارج السلسلة. عندما يقوم المستخدمون بإنشاء معاملات على أجهزتهم المحلية، يجب عليهم إنشاء كل من الإدخال والإخراج مباشرة، وهو ما يعادل حساب نتائج إخراج المعاملة. يتم بث المعاملات إلى شبكة Bitcoin ويتم التحقق منها بواسطة العقد قبل وضعها على السلسلة. يختلف نموذج "الحساب خارج السلسلة - التحقق عبر السلسلة" تمامًا عن Ethereum. في Ethereum، تحتاج فقط إلى توفير معلمات إدخال المعاملة، ويتم حساب نتائج المعاملة وإخراجها بواسطة عقدة Ethereum. .
أيضًابرنامج قفل UTXO قابل للتخصيص. يمكنك تعيين UTXO ليكون "قابلاً للفتح بواسطة مالك عنوان Bitcoin معين." يحتاج مالك العنوان إلى توفير توقيع رقمي ومفتاح عام (P2PKH). في نوع معاملة Pay-to-Script-Hash (P2SH)، يمكنك إضافة Script Hash في البرنامج النصي لقفل UTXO. من يمكنه إرسال الصورة الأصلية للبرنامج النصي المتوافقة مع هذا التجزئة واستيفاء البرنامج النصي UTXO يمكن فتحه بناءً على الظروف المحددة مسبقًا في الصورة الأصلية. يستخدم البرنامج النصي Taproot الذي يعتمد عليه BitVM ميزات مشابهة لـ P2SH.
في هذا الوقت، < strong>يجب أن تؤكد عقد البيتكوين أن المفتاح العام في البرنامج النصي لإلغاء القفل يتطابق مع تجزئة المفتاح العام المحدد في البرنامج النصي للقفل. وبعبارة أخرى، يجب التأكد من أن "المفتاح" وUTXO المقدم من أداة إلغاء القفل "الأقفال" الافتراضية تتطابق مع بعضها البعض.
علاوة على ذلك، في إطار نظام P2PKH، بعد أن تتلقى عقدة Bitcoin المعاملة، ستقوم بربط برنامج إلغاء القفل ScriptSig الذي قدمه المستخدم مع برنامج القفل ScriptPubkey الخاص بـ UTXO المراد إلغاء قفله، وتنفيذه في بيئة تنفيذ البرنامج النصي BTC. يوضح الشكل التالي نتيجة الربط قبل التنفيذ:
ربما لا يعرف القراء بيئة تنفيذ البرنامج النصي لـ BTC هنا سنقدمها باختصار. أولاً،يحتوي نص BTC النصي على عنصرين:
التقط الصورة أعلاه على سبيل المثال، الجانب الأيسر هو نص إلغاء القفل ScriptSig الذي تم تحميله بواسطة شخص ما، بما في ذلك توقيعه الرقمي ومفتاحه العام، ويحتوي نص القفل ScriptPubkey على الجانب الأيمن على رمز تشغيل تم تعيينه بواسطة منشئ UTXO عند الإنشاء UTXO والبيانات(لا نحتاج إلى فهم معنى كل كود تشغيل هنا، مجرد فهم تقريبي).
توسيط اليمين في الصورة أعلاه تعتبر DUP وHASH160 وEQUALVERIFY ورموز التشغيل الأخرى في برنامج القفل على اليسار مسؤولة عن تجزئة المفتاح العام الموجود في برنامج إلغاء القفل على اليسار ومقارنته بتجزئة المفتاح العام المعينة مسبقًا في برنامج القفل اثنان متساويان، فهذا يعني أن المفتاح العام الذي تم تحميله في البرنامج النصي لإلغاء القفل يتطابق مع تجزئة المفتاح العام المعينة مسبقًا في البرنامج النصي للقفل، والذي يجتاز التحقق الأول.
ومع ذلك، هناك تكمن المشكلة في أن محتوى نص قفل UTXO هو في الواقع عام على السلسلة. ويمكن لأي شخص مراقبة تجزئة المفتاح العام الموجودة فيه، ويمكن لأي شخص تحميل المفتاح العام المقابل والادعاء كذبًا بأنه الشخص "المعين". لذلك، بعد التحقق من المفتاح العام وتجزئة المفتاح العام، من الضروري أيضًا التحقق مما إذا كان بادئ المعاملة هو حقًا المتحكم الفعلي في المفتاح العام، الأمر الذي يتطلب التحقق من التوقيع الرقمي. يعد كود التشغيل CHECKSIG الموجود في برنامج القفل مسؤولاً عن التحقق من التوقيع الرقمي.
للتلخيص، في إطار نظام P2PKH، يحتوي البرنامج النصي لإلغاء القفل المقدم من بادئ المعاملة على المفتاح العام والتوقيع الرقمي. يجب أن يتطابق المفتاح العام مع تجزئة المفتاح العام المحدد في برنامج القفل، ويكون التوقيع الرقمي للمعاملة صحيحًا فقط عند استيفاء هذه الشروط يمكن فتح UTXO بسلاسة.
المصدر: https://learnmeabitcoin.com/technical/script )
بالطبع P2SH الحل بعد ذلك، يحتاج منشئو UTXO إلى السماح لأولئك الذين يفتحون UTXO في المستقبل بمعرفة محتوى البرنامج النصي المطابق لتجزئة البرنامج النصي مقدمًا وطالما أن كلا الطرفين يعرف محتوى هذا البرنامج النصي، فيمكننا تنفيذ منطق عمل أكثر تعقيدًا من منطق الأعمال المتعددة. إمضاء.
هنا للتوضيح، لا تسجل سلسلة (كتلة) Bitcoin بشكل مباشر أي UTXOs مرتبطة بالعناوين، فهي تسجل فقط تجزئة المفتاح العام/تجزئة البرنامج النصي التي يمكن فتح UTXO بها، ولكننا نستخدم تجزئة المفتاح العام/تجزئة البرنامج النصي لإلغاء القفل. يمكن حساب العنوان المقابل بسرعة (يبدو القسم المعروض على واجهة المحفظة كأحرف مشوهة).
< strong>
السبب وراء قدرتنا على رؤية مبلغ xx من Bitcoin تحت عنوان xx في متصفح الكتلة وواجهة المحفظة هو بسبب الحظر يساعدك مشروع المتصفح والمحفظة على تحليل هذه البيانات، ومسح جميع الكتل وحساب "العنوان" المقابل بناءً على تجزئة المفتاح العام/البرنامج النصي المعلن في برنامج القفل، ثم عرض عدد البتات الموجودة تحت عنوان xx.
المراجعة مسبقًا عندما اقرأ البرنامج النصي لإلغاء القفل والبرنامج النصي للقفل، بالإضافة إلى عملية إلغاء القفل UTXO، وستجد مشكلة: يتم تضمين التوقيع الرقمي للمعاملة في البرنامج النصي لإلغاء القفل، ولا يمكن الكتابة فوق البرنامج النصي لإلغاء القفل عند إنشاء التوقيع (المعلمات المستخدمة لإنشاء التوقيع لا يمكن أن يتضمن التوقيع نفسه). لذلكلا يمكن أن تغطي التوقيعات الرقمية سوى أجزاء أخرى غير البرنامج النصي لإلغاء القفل، أي أنه لا يمكن ربطها إلا بالجزء الرئيسي من بيانات المعاملة، ولا يمكنها تغطية المعاملة بالكامل. بيانات.
بهذه الطريقة،حتى لو تم التلاعب بالبرنامج النصي لإلغاء قفل المعاملة قليلاً بواسطة الوسيط، فلن يؤثر ذلك على نتيجة التحقق من التوقيع. على سبيل المثال، يمكن لعقد Bitcoin أو مجمعات التعدين إدراج بيانات أخرى في البرنامج النصي لفتح المعاملة، مما يتسبب في تغييرات طفيفة في بيانات المعاملة دون التأثير على التحقق من التوقيع ونتائج المعاملة، كما سيتغير تجزئة المعاملة المحسوبة النهائية / معرف المعاملة أيضًا . يُعرف هذا باسم مشكلة قابلية تطويع المعاملات.
هذا يجلب العيب هو أنه إذا كنت تخطط لبدء معاملات متعددة متتالية وكانت هناك تبعيات تسلسلية (على سبيل المثال، تشير المعاملة 3 إلى مخرجات المعاملة 2، وتشير المعاملة 2 إلى مخرجات المعاملة 1)، فيجب أن تشير المعاملات اللاحقة إلى المعاملات السابقة يمكن لمعرف المعاملة (التجزئة) أو أي وسيط مثل مجمع التعدين أو عقدة Bitcoin ضبط محتويات البرنامج النصي لإلغاء القفل بحيث لا يتوافق التجزئة بعد تحميل المعاملة مع ما توقعته سوف تفشل المعاملات المتعددة ذات الصلة بالتسلسل.
في الواقع، في جسر DLC وحلول BitVM2، سيتم إنشاء المعاملات ذات الارتباط التسلسلي على دفعات، وبالتالي فإن السيناريو المذكور أعلاه ليس غير شائع.
تم إطلاقه لاحقًا< strong > تعمل ترقية Witness/SegWit المنفصلة في الواقع على فصل معرف المعاملة وإلغاء تأمين البرنامج النصي بشكل كامل. ليست هناك حاجة لتضمين بيانات البرنامج النصي لإلغاء القفل عند حساب تجزئة المعاملة. سيقوم برنامج قفل UTXO الذي يتبع ترقية SegWit بتعيين رمز تشغيل يسمى "OP_0" في المقام الأول افتراضيًا، والذي يعمل كعلامة وتمت إعادة تسمية البرنامج النصي لإلغاء القفل المقابل من SigScript إلى Witness.
ولكن إذا كان محتوى البرنامج النصي الذي تريد تنفيذه كبيرًا بشكل خاص ويحتوي على الكثير من التعليمات البرمجية، فلا يمكن إرسال البرنامج النصي الكامل إلى سلسلة Bitcoin من خلال الطرق التقليدية (كل كتلة لها حد للحجم). ما يجب القيام به؟ يتطلب هذا من Taproot تبسيط محتوى البرنامج النصي على السلسلة، ويعتبر BitVM حلاً معقدًا مبنيًا على Taproot.
سيؤدي دمج العملات المستقرة في شبكة Lightning Network عبر بروتوكول Taproot Assets إلى إحداث ثورة في صناعات المدفوعات والتكنولوجيا المالية.
JinseFinanceقدّم بعض نقاط المعرفة المهمة حول أصول Taproot.
JinseFinanceTaproot Consensus هو حل BTC L2 مبني بالكامل على تقنية Bitcoin الأصلية، ومكوناته الأساسية هي Schnorr Signature وMAST Contract وSPV Node Network.
JinseFinanceلم يقدم أي تفسير لهذا الأمر ، وبدأ مجتمع العملات المشفرة في التكهن.
Beincryptoجلبت الحركة الهبوطية الدراماتيكية للرموز الرقمية شكوكًا في أذهان العديد من مستثمري العملات المشفرة وبيتكوين و ...
Bitcoinistيهدف أحدث إصدار من البرنامج ، المسمى lnd 0.15 beta (v0.15-beta) ، إلى تمكين المطورين من إنشاء حلول لمزيد من حالات الاستخدام من خلال الاستفادة من إمكانات شبكة Bitcoin.
Cointelegraph要想理解 Taproot 升级的内容和想象空间,我们得先了解一些比特币。
Cointelegraph