هل شبكة البرق معرضة للخطر على المال؟ تشرح هذه المقالة مبادئها وطرق علاجها

أصلي | أوداي بلانيت ديلي

*المؤلف | نان فنغ *

! [هل شبكة البرق معرضة للخطر على الأموال؟] مقال يشرح مبادئها وطرق علاجها] (https://piccdn.0daily.com/202310/21153903/6kk6vnwj6zp8nyzo.png!webp)

مقدمة

في 20 أكتوبر ، أعلن مطور Bitcoin Core الأساسي / dev / fd0 على منصة X أنه سيتوقف عن المشاركة في تطوير شبكة Lightning وتنفيذها ، بما في ذلك تنسيق التعامل مع مشكلات الأمان على مستوى البروتوكول.

/ dev / fd0 يعني أن كل عقدة Bitcoin لها تجمع ذاكرة خاص بها. يتم إعادة توجيه المعاملات من قبل الأقران. إذا تم استخدام عقد Lightning Network لفتح القنوات وقبول إعادة توجيه HTLC ، فهي عرضة لهجمات ركوب الدراجات البديلة.

سيتم الكشف عن ما يشير إليه المطور على أنه "هجوم حلقة بديل" وكيف يمكن تنفيذه في هذه المقالة.

شبكة البرق

تحتوي شبكة Bitcoin على TPS يبلغ حوالي 7 فقط ورسوم عالية ، وتم إنشاء شبكة Lightning Network لحل احتياجات المدفوعات الصغيرة.

شبكة Lightning هي حل تحجيم من الطبقة 2 لعملة البيتكوين والعملات المشفرة الأخرى المصممة لمعالجة قابلية التوسع وسرعة المعاملات لشبكات العملات المشفرة.

يمكن تبسيط مبدأ التنفيذ إلى:

  1. ينشئ طرفا المعاملة A و B "قناة معاملة" (في الواقع محفظة multisig)
  2. A و B أعلى A1 و B1 على التوالي (هذه الخطوة على السلسلة)
  3. A و B لديهما أي معاملة خارج السلسلة ، و A لديه صافي تحويل X (على سبيل المثال ، ينقل A 1 يوان إلى B 100 مرة ، وينقل B 99 مرة إلى A مقابل 1 يوان ، وأخيرا A لديه صافي تدفق خارجي قدره 1 يوان)
  4. ** تحديث معاملات A1-X و B1 + X على السلسلة **

من خلال العملية المذكورة أعلاه ، بغض النظر عن عدد المعاملات التي تجريها A و B خارج السلسلة ، فإنها تحتاج فقط إلى دفع رسومين على السلسلة ، وتوفير الكثير من الوقت.

عقد قفل وقت التجزئة (HTLC)

يقتصر النموذج الموضح أعلاه على قناة معاملة مباشرة بين A و B ، وتظهر عقد الترحيل للمدفوعات عبر القنوات ، وتنقل عقد الترحيل المعاملات بين الاثنين من أجل إجراء مدفوعات عبر القنوات ، ويمكن لعقد الترحيل جمع الإكراميات.

لكن هذا يواجه مشكلة: ** تحتاج إلى التأكد من أن كل مشارك داخل كل قناة صادق وجدير بالثقة ** ، وأنه آمن من خلال روابط متعددة القنوات.

ومن هنا ظهور HTLC (عقد قفل وقت التجزئة) ، يمكن تبسيط معاملة الدفع مع HTLC إلى:

  1. A يعد سر R ويحسب قيمة التجزئة H
  2. A يحدد حدا زمنيا T
  3. يرسل A معاملة دفع مع HTLC إلى B ، ولن يتم إنهاء المعاملة إلا إذا تم استيفاء الشرطين التاليين
  • B يجيب على الرمز R (تم التحقق منه بواسطة H)
  • إجابات B داخل T (على سبيل المثال ، الإجابة في غضون 10 كتل)
  1. إذا كان B لا يعرف الرمز ، أو إذا كانت الإجابة هي مهلة ، يتم إرجاع الأموال إلى A

عملية المعاملة العادية

مع HTLC الموصوف أعلاه ، تكون الدفعة التي تتضمن عقدة ترحيل كما يلي:

  1. يوفر المستلم النهائي C الرمز للمرسل A
  2. يبدأ A دفع HTLC باستخدام التجزئة H (لاحظ أن ** الأموال ليست في أيدي B في هذا الوقت **)
  3. يتلقى B معلومات الدفع ويبدأ دفع HTLC إلى C بقيمة التجزئة H
  4. ** C من أجل تلقي الأموال ، أجب على الرمز ، استلم الأموال. B يعرف أيضا الرمز في هذا الوقت **
  5. يستخدم B الرمز للحصول على الدفعة التي بدأها A ، ويتلقى الأموال ، وتكتمل المعاملة

! [هل شبكة البرق معرضة للخطر على الأموال؟] شرح مبدأه وطريقة علاجه] (https://piccdn.0daily.com/202310/21153901/f5wdnvckblw5uctb.png!webp)

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

إذا لم تتلق عقدة الترحيل الرمز R ** (المنزل التالي لا يجيب ، يتم الحكم على الحد الزمني من خلال عقدة الترحيل نفسها) ** ، يمكن لعقدة الترحيل اختيار إغلاق القناة ، ** إذا نجحت السلسلة ، ** سيتم "إبطال" الدفع الذي بدأه B ولا توجد خسارة في الأموال. **

هجمات بديلة دورية

بالعودة إلى المبدأ الأساسي ل HTLC ، بالإضافة إلى الإجابة على الكود ، تحتاج عقدة الترحيل إلى تلبية شرط آخر "تجيب عقدة الترحيل داخل T" ، ويستهدف المهاجم الضار هذه النقطة للهجوم:

  1. يتواطأ A و C بشكل ضار ، والضحية هي عقدة الترحيل B (يطلب B الإجابة في غضون 3 كتل)
  2. يبدأ A دفعة إلى B (بافتراض أن ارتفاع الكتلة هو 1000 في هذا الوقت) ويطلب إجابة قبل الكتلة 1020
  3. يبدأ B دفعة إلى C (ارتفاع الكتلة 1005)
  4. عندما يكون ارتفاع الكتلة 1008 ، يرى B أن C لا يجيب ويقرر إغلاق القناة ، والتي ستدخل حيز التنفيذ في الكتلة 1009
  5. يبدأ C معاملة بغاز مرتفع (1) (كتلة 1008) ، مما يجعل من المستحيل على المعاملة التي بدأها B الدخول إلى mempool
  6. يبدأ C معاملة بغاز مرتفع (2) (كتلة 1009) ، ولا يزال B غير قادر على الدخول إلى mempool
  7. C يعمل في حلقة لا نهائية حتى كتلة 1020 ، ويعطي العلامة السرية R ، ويسحب الأموال

** ليس لدى B وقت للرد على الدفع الذي بدأه A ، ويتم إرجاع الأموال إلى A ، ويتم إنشاء الدفع إلى C ، وأخيرا يتم تنفيذ "هجوم الاستبدال الدائري" **. بالإضافة إلى ذلك ، يمكن ل A و C أيضا تحقيق إنفاق مزدوج من خلال التواطؤ لتكرار صفقة إغلاق الهجوم B.

خاتمة

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

المستقبل مشرق ، والطريق متعرج ، وهذا العام ولدت سلسلة من الأشياء الجديدة مثل Ordinals و BRC-20 و Taproot Asset وما إلى ذلك على شبكة Bitcoin.

المراجع

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