إثبات الاحتراق ( PoB ) بروتوكول: حل جديد في نظام Cardano البيئي
مؤخراً، ظهرت حل لمواجهة التحدي الذي طرحه تشارلز هوسكينسون. هذا الحل يقدم بروتوكول إثبات الحرق (PoB) لنظام Cardano البيئي. ستتناول هذه المقالة هذا الحل الجديد، بما في ذلك:
نظرة عامة على آلية إثبات الاحتراق وتطبيقاتها
إن حل PoB هذا يتضمن تنفيذ العقود الذكية وآلية التشغيل على شبكة Cardano
نشر واختبار العقود الذكية ( على الشبكة التجريبية )
تنفيذ بروتوكول PoB عن طريق إرسال الرموز إلى عنوان "الثقب الأسود"
1. إثبات الحرق وتطبيقاته
إحراق الرموز ( هو ممارسة شائعة، في الأساس يتم إرسال الرموز إلى عنوان "ثقب أسود" غير قابل للوصول. هذا العنوان ليس لديه أي مفتاح خاص لاسترجاع الرموز المحترقة. يمكن للجمهور التحقق من أن الإحراق قد حدث بالفعل، لكنهم يعرفون فقط قيمة "التعهد السري". تم تصميم هذه الآلية لضمان عدم مراجعة الأموال المحترقة من قبل وسطاء.
آلية الحرق لها استخدامات متعددة، يمكن أن تزيد من قيمة الرموز المتبقية، أو كدليل على الالتزام ببروتوكول blockchain. يمكن أن يتسبب حرق الرموز على نطاق واسع في ضغوط انكماش، لأنه يقلل من إجمالي عدد الرموز المتداولة. على الرغم من أن معاملات الحرق شائعة، إلا أنها لا تزال بحاجة إلى قبول المعدنين. على الرغم من فوائد هذه الآليات، إلا أن هناك معارضين لحرق الرموز. في ضوء ذلك، تكرس بعض الفرق جهودها لتقديم بروتوكول حرق رموز لا يمكن رقابته. هذا الإجراء الخاص جذب انتباه Charles Hoskinson.
أمان إثبات الحرق وأمان معاملات تحويل الرموز يعتمد على نفس الآلية - دوال التجزئة التشفيرية. هذه الدوال سهلة الحساب، ولكن من الصعب عكسها. في الأساس، السبب في صعوبة عكسها هو أن تغيير بت واحد في الإدخال يؤدي إلى تغيير عشوائي في كل بت من المخرجات. هذا يعني أنه بدءًا من مخرجات دالة التجزئة التشفيرية، فإن عكس الحساب سيستغرق وقتًا طويلاً جدًا. باختصار، عكس أقل بت ذو قيمة في دالة التجزئة التشفيرية يمكن أن ينشئ عنوان ثقب أسود. أي شيء يُرسل إلى هذا العنوان سيصبح من الصعب استعادته أو غير قابل للاسترداد.
أمان المعاملات المشفرة يعتمد بالكامل على علم التشفير ومبادئ التشفير: "في كل مرة يتم فيها إرسال الأموال، يتم إنشاء مخرجات معاملات غير مستخدمة جديدة )UTxO(." هذا UTxO يسجل كمية الأموال وهاش التشفير لمفتاح المستلم العام. إذا أراد المستلم استخدام هذه الأموال، يجب عليه توقيع معاملة إنفاق جديدة بنفس المفتاح العام.
لماذا يجب عكس أقل بت في ناتج دالة التجزئة، بدلاً من استخدام هاش 0x0 مباشرة؟ السبب هو أن استخدام قيمة معروفة سيجعل عملية الاحتراق مرئية على الفور. ومع ذلك، فإن تصور البروتوكول هو أنه يجب أولاً حرق الأموال، ثم في خطوة منفصلة ) إثبات أنه تم حرقها (. لتحقيق ذلك، يجب أن نبدأ أولاً من هاش القيمة الملتزمة التي تم إنشاؤها. بعد ذلك، تشير القيمة الملتزمة إلى أنه تم إنشاء عنوان ثقب أسود.
2. إثبات الحرق على شبكة Cardano ) PoB ( العقد الذكي
ستشرح هذه الفقرة آلية إثبات الحرق في العقود الذكية لـ Cardano. العقود الذكية لـ Cardano هي برامج تعمل على شبكة Cardano، مما يسمح لمطوري العقود بتنفيذ المعاملات المالية ) وفقًا لقواعد معينة. تهدف العقود الذكية إلى إنشاء معاملات شفافة وقابلة للتحقق بين الأطراف المختلفة. في الآونة الأخيرة، أدت زيادة خدمات التمويل اللامركزي والمنظمات اللامركزية إلى نمو كبير في تطبيقات العقود الذكية.
العقود الذكية التقليدية على نمط الإيثيريوم تتكون من حالة مسجلة على دفتر الأستاذ وبرامج تستدعي هذه الحالة بشكل غير متزامن. نظرًا لأن الحالة على دفتر الأستاذ تعود للعقد الذكي، لا يمكن تغييرها إلا من خلال البرامج، ويمكن استنتاج جميع عمليات الحالة المسموح بها من شفرة البرنامج وتسجيلها على blockchain.
يتبنى نظام Cardano البيئي هيكلًا مختلفًا، مما يسمح للمستخدمين بمحاكاة كل معاملة في محافظهم الخاصة، مما يجعل هجوم ( على شبكة ) أكثر صعوبة. يتم التحقق من التغييرات الناتجة من خلال عقد blockchain، ثم يتم تسجيلها. لهذا الغرض، تحتوي عقود Cardano الذكية على ثلاثة مكونات:
نص استرداد: يسمح أو يمنع إنفاق eUTxOs
سكربت المحفظة: يمثل المستخدمين الذين ينفذون لاسترداد الأموال وإنشاء eUTxOs جديدة
eUTxOs: كل eUTxO يحمل أموالًا ونقطة بيانات (datum)، يستخدمها المسترد لتحديد الشروط التي يمكن إعادة استخدام هذه الأموال فيها.
هذا يعني أن عقود Cardano الذكية ليس لديها حالة مركزية على السجل. كل eUTxO له حالة مستقلة (datum)، مرتبطة بأمواله غير القابلة للتقسيم. وهذا يؤدي إلى أربع عمليات محتملة:
حرق: إرسال الأموال إلى عنوان الثقب الأسود الذي يحمل قيمة الالتزام السري
تم إتلافه: تم التحقق من أن حرق قيمة الالتزام المحددة قد حدث بالفعل
قفل: إرسال الأموال إلى عنوان يحتوي على مفتاح
استرداد: استرداد الأموال المقفلة سابقًا
من المهم ملاحظة أن النقاط النهائية تعمل في محفظة المستخدم. بعد انتهاء تشغيل سكربت النقطة النهائية في المحفظة، سيتم نقل المعاملة الناتجة إلى البلوكشين. في حالتنا هذه، ستقوم هذه المعاملة بنقل الأموال إلى سكربت الاسترداد. يقوم هذا السكربت بالتحقق من أن الأموال يمكن الوصول إليها فقط من قبل عنوان الهدف الذي يمتلك قيمة التجزئة.
في عملية القفل، قد تكون قيمة الهاش هي عنواننا الخاص. في عملية الحرق، تشير قيمة الهاش إلى عنوان الثقب الأسود. نحن نحقق ذلك من خلال إعطاء الهاش قيمة تعهد سرية، ثم نقوم بعكسها. نظرًا لأننا نستخدم دالة الهاش التشفيرية، فمن شبه المستحيل العثور على قيمة هاش مطابقة لها.
تنبيه: flipCommitment يقوم فقط بعكس أقل بت فاعل في قيمة الهاش (LSB).
لا يمكن للوسيط الذي يقبل الصفقة معرفة ما إذا كانت هذه صفقة حرق أو قفل. من خلال استخدام هذا البرنامج النصي، لا يمكن للوسيط مراجعة أي صفقة حرق بشكل انتقائي. يستخدم الحرق والقفل نفس تنسيق المسترد، فقط مُinitiator الصفقة يعرف ما إذا كانت حرقًا أو قفلًا. يمكن التحقق من قيمة الحرق من خلال استخدام نقطة نهاية تم تدميرها ذات قيمة التزام معينة. قبل نشر قيمة الالتزام، لا يعرف أحد كمية الأموال التي تم تدميرها. إذا كنت مهتمًا بالشيفرة، ستتم مناقشة مستودع الشيفرة بمزيد من التفصيل في القسم التالي.
!
3. نشر العقود الذكية ( في الشبكة التجريبية )
لتشغيل عقد اختبار الشبكة مع المحفظة، تحتاج إلى عبارة استرداد وكلمة مرور عشوائية. يمكنك نشر العقد الذكي من خلال تنفيذ الخطوات التالية:
( 1. تثبيت مجموعة أدوات Haskell
) 2. بناء سكريبت Plutus
3. بدء تشغيل حاويات اتصال بروتوكول Cardano ومحفظة Cardano
4. استعادة المحفظة وإخراج معرف المحفظة ### الخطوات التالية تحتاج إلى ###، تشغيل الكود التالي ( لإنشاء عبارة استرداد عشوائية للاختبار )
( 5. تشغيل حرق الرموز
) 6. تشغيل، التحقق من الاحتراق
من خلال تنفيذ الخطوات المذكورة أعلاه، لا يمكن للجهات الخارجية معرفة ما إذا كانت هذه صفقة حرق أو قفل. ومع ذلك، بعد نشر هذا البرنامج النصي، قد يحاول الناس تجميع رفض المسترد، مما يتوافق مع هاش برنامج المسترد المقترح. يتطلب ذلك جهدًا كبيرًا، ولكن يمكن أن يؤدي إلى مراجعة بعض عمليات الحرق. لمنع حدوث ذلك، وجعل الانتهاكات أكثر صعوبة، ستناقش القسم التالي كيفية جعل هذا الحل أكثر أمانًا.
باستخدام حقيقة أن معظم عمليات العقود الذكية تحدث في محافظ المستخدمين، فإن إنشاء مخططات تستخدم المحافظ فقط قد يجعل العقود الذكية غير ضرورية. ومع ذلك، قد يكون لهذه الطريقة ميزة عملية، وهي أنه لا يمكن منع معاملات العقود الذكية المتطابقة بشكل انتقائي. لكن، يمكن للمراجعين الذين يرغبون في منع جميع عمليات الاحتراق تحقيق هدفهم عن طريق منع جميع السكريبتات. باستخدام المحافظ فقط، فإن الطريقة الوحيدة لمراجعة الاحتراق هي مراجعة جميع معاملات Cardano. هذه مقاومة نهائية للمراجعة.
لتحقيق ذلك، نحتاج إلى استبدال تجزئة المفتاح العمومي بتجزئة قيمة الالتزام، وعكس أقل بت في قيمة الالتزام. لكن هذا ليس كافياً. تمنع Cardano أخطاء الإدخال في العناوين من خلال فحص الهيكل ورمز CRC. لذلك، فإن أسهل طريقة لإنشاء عنوان من الالتزام هي استخدام النص البرمجي ومكتبة واجهة برمجة تطبيقات Cardano التالية.
لمعرفة كيفية عملها، يمكنك استخدام الكود التالي لإنشاء عنوان الاحتراق:
ثم يمكنك استخدام الرمز التالي لتقديم المعاملة إلى سلسلة كتلة Cardano:
للتحقق من الاحتراق، تحتاج إلى استخدام الكود التالي لرؤية المعاملات المرسلة إلى عنوان الاحتراق:
!
خاتمة
تقوم هذه المقالة بتقسيم تنفيذ بروتوكول إثبات الاحتراق إلى طريقتين: عقود ذكية أو معاملات محفظة. ومع ذلك، فإن عقود Alonzo الذكية تفتقر حالياً إلى البنية التحتية الضرورية، مثل مكتبة PAB. لذلك، نقترح استخدام نصوص المحفظة. على أي حال، سيتم تنفيذ مكتبة PAB في المستقبل القريب لتطوير التطبيقات المستندة إلى Cardano، وبالاشتراك مع نصوص المحفظة، قد يكون الحل المعقد لعقد ذكي أكثر جدوى لإنشاء بيئة قادرة على مقاومة الرقابة المحتملة. إذا كنت ترغب في معرفة المزيد عن هذا الحل، يمكنك الاطلاع على جميع المعلومات ذات الصلة على GitHub.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
تسجيلات الإعجاب 8
أعجبني
8
4
مشاركة
تعليق
0/400
MetaMisery
· منذ 10 س
ada يمكن أن ترتفع الآن، أليس كذلك؟
شاهد النسخة الأصليةرد0
MetamaskMechanic
· منذ 10 س
واو، هذا حار جداً!
شاهد النسخة الأصليةرد0
OldLeekMaster
· منذ 10 س
فليحترق، كم يمكن أن يهبط إلى عدة قروش
شاهد النسخة الأصليةرد0
FalseProfitProphet
· منذ 10 س
ما التأثير الذي يمكن أن يحدثه هذا المستوى من الاحتراق؟
Cardano يقدم بروتوكول إثبات الاحتراق: تفاصيل حل PoB
إثبات الاحتراق ( PoB ) بروتوكول: حل جديد في نظام Cardano البيئي
مؤخراً، ظهرت حل لمواجهة التحدي الذي طرحه تشارلز هوسكينسون. هذا الحل يقدم بروتوكول إثبات الحرق (PoB) لنظام Cardano البيئي. ستتناول هذه المقالة هذا الحل الجديد، بما في ذلك:
1. إثبات الحرق وتطبيقاته
إحراق الرموز ( هو ممارسة شائعة، في الأساس يتم إرسال الرموز إلى عنوان "ثقب أسود" غير قابل للوصول. هذا العنوان ليس لديه أي مفتاح خاص لاسترجاع الرموز المحترقة. يمكن للجمهور التحقق من أن الإحراق قد حدث بالفعل، لكنهم يعرفون فقط قيمة "التعهد السري". تم تصميم هذه الآلية لضمان عدم مراجعة الأموال المحترقة من قبل وسطاء.
آلية الحرق لها استخدامات متعددة، يمكن أن تزيد من قيمة الرموز المتبقية، أو كدليل على الالتزام ببروتوكول blockchain. يمكن أن يتسبب حرق الرموز على نطاق واسع في ضغوط انكماش، لأنه يقلل من إجمالي عدد الرموز المتداولة. على الرغم من أن معاملات الحرق شائعة، إلا أنها لا تزال بحاجة إلى قبول المعدنين. على الرغم من فوائد هذه الآليات، إلا أن هناك معارضين لحرق الرموز. في ضوء ذلك، تكرس بعض الفرق جهودها لتقديم بروتوكول حرق رموز لا يمكن رقابته. هذا الإجراء الخاص جذب انتباه Charles Hoskinson.
أمان إثبات الحرق وأمان معاملات تحويل الرموز يعتمد على نفس الآلية - دوال التجزئة التشفيرية. هذه الدوال سهلة الحساب، ولكن من الصعب عكسها. في الأساس، السبب في صعوبة عكسها هو أن تغيير بت واحد في الإدخال يؤدي إلى تغيير عشوائي في كل بت من المخرجات. هذا يعني أنه بدءًا من مخرجات دالة التجزئة التشفيرية، فإن عكس الحساب سيستغرق وقتًا طويلاً جدًا. باختصار، عكس أقل بت ذو قيمة في دالة التجزئة التشفيرية يمكن أن ينشئ عنوان ثقب أسود. أي شيء يُرسل إلى هذا العنوان سيصبح من الصعب استعادته أو غير قابل للاسترداد.
أمان المعاملات المشفرة يعتمد بالكامل على علم التشفير ومبادئ التشفير: "في كل مرة يتم فيها إرسال الأموال، يتم إنشاء مخرجات معاملات غير مستخدمة جديدة )UTxO(." هذا UTxO يسجل كمية الأموال وهاش التشفير لمفتاح المستلم العام. إذا أراد المستلم استخدام هذه الأموال، يجب عليه توقيع معاملة إنفاق جديدة بنفس المفتاح العام.
لماذا يجب عكس أقل بت في ناتج دالة التجزئة، بدلاً من استخدام هاش 0x0 مباشرة؟ السبب هو أن استخدام قيمة معروفة سيجعل عملية الاحتراق مرئية على الفور. ومع ذلك، فإن تصور البروتوكول هو أنه يجب أولاً حرق الأموال، ثم في خطوة منفصلة ) إثبات أنه تم حرقها (. لتحقيق ذلك، يجب أن نبدأ أولاً من هاش القيمة الملتزمة التي تم إنشاؤها. بعد ذلك، تشير القيمة الملتزمة إلى أنه تم إنشاء عنوان ثقب أسود.
! [])https://img-cdn.gateio.im/webp-social/moments-e942fc679d8ef7e55f3db32648b24d99.webp(
2. إثبات الحرق على شبكة Cardano ) PoB ( العقد الذكي
ستشرح هذه الفقرة آلية إثبات الحرق في العقود الذكية لـ Cardano. العقود الذكية لـ Cardano هي برامج تعمل على شبكة Cardano، مما يسمح لمطوري العقود بتنفيذ المعاملات المالية ) وفقًا لقواعد معينة. تهدف العقود الذكية إلى إنشاء معاملات شفافة وقابلة للتحقق بين الأطراف المختلفة. في الآونة الأخيرة، أدت زيادة خدمات التمويل اللامركزي والمنظمات اللامركزية إلى نمو كبير في تطبيقات العقود الذكية.
العقود الذكية التقليدية على نمط الإيثيريوم تتكون من حالة مسجلة على دفتر الأستاذ وبرامج تستدعي هذه الحالة بشكل غير متزامن. نظرًا لأن الحالة على دفتر الأستاذ تعود للعقد الذكي، لا يمكن تغييرها إلا من خلال البرامج، ويمكن استنتاج جميع عمليات الحالة المسموح بها من شفرة البرنامج وتسجيلها على blockchain.
يتبنى نظام Cardano البيئي هيكلًا مختلفًا، مما يسمح للمستخدمين بمحاكاة كل معاملة في محافظهم الخاصة، مما يجعل هجوم ( على شبكة ) أكثر صعوبة. يتم التحقق من التغييرات الناتجة من خلال عقد blockchain، ثم يتم تسجيلها. لهذا الغرض، تحتوي عقود Cardano الذكية على ثلاثة مكونات:
هذا يعني أن عقود Cardano الذكية ليس لديها حالة مركزية على السجل. كل eUTxO له حالة مستقلة (datum)، مرتبطة بأمواله غير القابلة للتقسيم. وهذا يؤدي إلى أربع عمليات محتملة:
من المهم ملاحظة أن النقاط النهائية تعمل في محفظة المستخدم. بعد انتهاء تشغيل سكربت النقطة النهائية في المحفظة، سيتم نقل المعاملة الناتجة إلى البلوكشين. في حالتنا هذه، ستقوم هذه المعاملة بنقل الأموال إلى سكربت الاسترداد. يقوم هذا السكربت بالتحقق من أن الأموال يمكن الوصول إليها فقط من قبل عنوان الهدف الذي يمتلك قيمة التجزئة.
في عملية القفل، قد تكون قيمة الهاش هي عنواننا الخاص. في عملية الحرق، تشير قيمة الهاش إلى عنوان الثقب الأسود. نحن نحقق ذلك من خلال إعطاء الهاش قيمة تعهد سرية، ثم نقوم بعكسها. نظرًا لأننا نستخدم دالة الهاش التشفيرية، فمن شبه المستحيل العثور على قيمة هاش مطابقة لها.
تنبيه: flipCommitment يقوم فقط بعكس أقل بت فاعل في قيمة الهاش (LSB).
لا يمكن للوسيط الذي يقبل الصفقة معرفة ما إذا كانت هذه صفقة حرق أو قفل. من خلال استخدام هذا البرنامج النصي، لا يمكن للوسيط مراجعة أي صفقة حرق بشكل انتقائي. يستخدم الحرق والقفل نفس تنسيق المسترد، فقط مُinitiator الصفقة يعرف ما إذا كانت حرقًا أو قفلًا. يمكن التحقق من قيمة الحرق من خلال استخدام نقطة نهاية تم تدميرها ذات قيمة التزام معينة. قبل نشر قيمة الالتزام، لا يعرف أحد كمية الأموال التي تم تدميرها. إذا كنت مهتمًا بالشيفرة، ستتم مناقشة مستودع الشيفرة بمزيد من التفصيل في القسم التالي.
!
3. نشر العقود الذكية ( في الشبكة التجريبية )
لتشغيل عقد اختبار الشبكة مع المحفظة، تحتاج إلى عبارة استرداد وكلمة مرور عشوائية. يمكنك نشر العقد الذكي من خلال تنفيذ الخطوات التالية:
( 1. تثبيت مجموعة أدوات Haskell
) 2. بناء سكريبت Plutus
3. بدء تشغيل حاويات اتصال بروتوكول Cardano ومحفظة Cardano
4. استعادة المحفظة وإخراج معرف المحفظة ### الخطوات التالية تحتاج إلى ###، تشغيل الكود التالي ( لإنشاء عبارة استرداد عشوائية للاختبار )
( 5. تشغيل حرق الرموز
) 6. تشغيل، التحقق من الاحتراق
من خلال تنفيذ الخطوات المذكورة أعلاه، لا يمكن للجهات الخارجية معرفة ما إذا كانت هذه صفقة حرق أو قفل. ومع ذلك، بعد نشر هذا البرنامج النصي، قد يحاول الناس تجميع رفض المسترد، مما يتوافق مع هاش برنامج المسترد المقترح. يتطلب ذلك جهدًا كبيرًا، ولكن يمكن أن يؤدي إلى مراجعة بعض عمليات الحرق. لمنع حدوث ذلك، وجعل الانتهاكات أكثر صعوبة، ستناقش القسم التالي كيفية جعل هذا الحل أكثر أمانًا.
! []###https://img-cdn.gateio.im/webp-social/moments-7777b1db89195a287d84464f2b80b5e9.webp###
4. من العقود الذكية إلى نصوص المحفظة
باستخدام حقيقة أن معظم عمليات العقود الذكية تحدث في محافظ المستخدمين، فإن إنشاء مخططات تستخدم المحافظ فقط قد يجعل العقود الذكية غير ضرورية. ومع ذلك، قد يكون لهذه الطريقة ميزة عملية، وهي أنه لا يمكن منع معاملات العقود الذكية المتطابقة بشكل انتقائي. لكن، يمكن للمراجعين الذين يرغبون في منع جميع عمليات الاحتراق تحقيق هدفهم عن طريق منع جميع السكريبتات. باستخدام المحافظ فقط، فإن الطريقة الوحيدة لمراجعة الاحتراق هي مراجعة جميع معاملات Cardano. هذه مقاومة نهائية للمراجعة.
لتحقيق ذلك، نحتاج إلى استبدال تجزئة المفتاح العمومي بتجزئة قيمة الالتزام، وعكس أقل بت في قيمة الالتزام. لكن هذا ليس كافياً. تمنع Cardano أخطاء الإدخال في العناوين من خلال فحص الهيكل ورمز CRC. لذلك، فإن أسهل طريقة لإنشاء عنوان من الالتزام هي استخدام النص البرمجي ومكتبة واجهة برمجة تطبيقات Cardano التالية.
لمعرفة كيفية عملها، يمكنك استخدام الكود التالي لإنشاء عنوان الاحتراق:
ثم يمكنك استخدام الرمز التالي لتقديم المعاملة إلى سلسلة كتلة Cardano:
للتحقق من الاحتراق، تحتاج إلى استخدام الكود التالي لرؤية المعاملات المرسلة إلى عنوان الاحتراق:
!
خاتمة
تقوم هذه المقالة بتقسيم تنفيذ بروتوكول إثبات الاحتراق إلى طريقتين: عقود ذكية أو معاملات محفظة. ومع ذلك، فإن عقود Alonzo الذكية تفتقر حالياً إلى البنية التحتية الضرورية، مثل مكتبة PAB. لذلك، نقترح استخدام نصوص المحفظة. على أي حال، سيتم تنفيذ مكتبة PAB في المستقبل القريب لتطوير التطبيقات المستندة إلى Cardano، وبالاشتراك مع نصوص المحفظة، قد يكون الحل المعقد لعقد ذكي أكثر جدوى لإنشاء بيئة قادرة على مقاومة الرقابة المحتملة. إذا كنت ترغب في معرفة المزيد عن هذا الحل، يمكنك الاطلاع على جميع المعلومات ذات الصلة على GitHub.
!