استبدال دورة الهجوم في شبكة البرق | أكادمية منصة CoinEx
تعد شبكة Bitcoin Lightning Network بمثابة حل توسيع من الطبقة الثانية للبيتكوين، يهدف إلى معالجة تحديات قابلية التوسع في blockchain الخاص بالبيتكوين. فهو يتيح معاملات البيتكوين الفورية ومنخفضة التكلفة، مما يجعلها أكثر كفاءة ويمكن الوصول إليها للمستخدمين.
بالمقارنة مع المعاملات عبر البيتكوين، فإن المعاملات على الشبكة المسرّعة تكون خاصة، وتحدث خارج السلسلة، ويتم تسجيل النتيجة الإجمالية فقط.
إحدى المزايا الرئيسية لشبكة Lightning Network هي سرعتها والقدرة على تحمل تكاليفها. فهو يمكّن المستخدمين من إرسال واستقبال دفعات صغيرة عبر شبكة Bitcoin بطريقة بسيطة وفعالة من حيث التكلفة. من خلال إنشاء شبكة من قنوات الدفع بين المستخدمين، تتيح شبكة Lightning Network المعاملات دون بث كل معاملة إلى blockchain. وهذا يقلل من الازدحام على blockchain Bitcoin ويحسن قابلية التوسع للمعاملات.
ومع ذلك، تجدر الإشارة إلى أن الشبكة المسرّعة لا تزال قيد التطوير وتواجه بعض المخاطر الأمنية ومخاطر المركزية. في أكتوبر من هذا العام، تم اكتشاف ثغرة أمنية تسمى “هجوم دورة الاستبدال” حديثًا في الشبكة المسرّعة، والتي تتضمن آلية استبدال المعاملات وقد تؤدي إلى خسارة أموال القناة في الشبكة المسرّعة. وقد أثار ظهور طريقة الهجوم هذه مخاوف بشأن أمان الشبكة المسرّعة ودفع إلى إجراء المزيد من البحث والتحسينات على بروتوكولاتها وتطبيقاتها.
آلية شبكة البرق
تستفيد شبكة Bitcoin Lightning من آلية Multisig لضمان أمان قنوات الدفع. يحتاج المشاركون إلى تأمين الأموال وإنشاء قنوات الدفع. يمكن للمشاركين إجراء مدفوعات سريعة ومنخفضة التكلفة داخل القناة، دون الحاجة إلى إرسال المعاملات إلى blockchain Bitcoin في كل مرة. قناة الدفع هي مجرد علاقة بين المشاركين خارج سلسلة Bitcoin blockchain، والتي يتم تحقيقها من خلال توقيع سلسلة من المعاملات داخل القناة والتي يتم نشرها فقط بين طرفي القناة دون إشراك إجماع شبكة Bitcoin بأكملها.
فيما يتعلق بالعملية المحددة، عند فتح قناة دفع، يحتاج المشاركون إلى إنشاء برنامج نصي متعدد التوقيع يتطلب من كل طرف في القناة تقديم مفتاحه العام، مع تحديد العدد المطلوب من التوقيعات، على سبيل المثال، تحديد برنامج نصي يحتوي على مفاتيح عامة متعددة ومنطق التحقق من التوقيع. عند إنشاء عنوان متعدد التوقيع، سيتم تحويل هذا البرنامج النصي إلى عنوان Bitcoin، مما يشكل البنية التحتية لقناة الدفع.
على سبيل المثال،
كما هو موضح في الشكل 1، قام بوب وأليس أولاً بإنشاء عنوان بيتكوين متعدد التوقيع 2 من 2 على السلسلة كصندوق مشترك. داخل القناة، يمكنهم إجراء معاملات التزام غير محدودة خارج السلسلة لتسجيل الحالة الحالية لتخصيص الأموال. يمكن للطرفين التفاوض والتوقيع على معاملات التزام جديدة لتحديث حالة القناة، دون بث هذه التحديثات إلى شبكة البيتكوين بأكملها.
عندما يقررون إغلاق القناة، ستقوم معاملة التسوية النهائية عبر السلسلة بتوزيع الأموال وفقًا لآخر تخصيص تم التفاوض عليه. تتطلب معاملة التسوية هذه التوقيعات المشتركة لكل من بوب وأليس، مما يضمن تخصيص الأموال بالطريقة المتفق عليها نهائيًا. وبهذه الطريقة، تعمل الشبكة المسرّعة على تحسين كفاءة معاملات البيتكوين، وتقليل التكاليف، مع الاحتفاظ بخصائصها اللامركزية.
الشكل 1: مخطط قناة
آلية HTLC
تتبنى شبكة Bitcoin Lightning Network أيضًا قنوات دفع تعتمد على عقود Hashed Timelock (HTLCs) لتنفيذ نظام قنوات دفع قابل للتوجيه ومتعدد القفزات. في التنفيذ، تتطلب HTLCs برنامجًا نصيًا معقدًا للمعاملات محددًا في لغة البرمجة النصية لتلبية شرط التجزئة وشرط قفل الوقت.
سيتم استخدام هذا البرنامج النصي للتهيئة عند فتح قناة الدفع وتشغيله أثناء الدفع. وبهذه الطريقة، تحقق شبكة Bitcoin Lightning Network الكفاءة والأمان للمدفوعات عبر السلسلة.
HTLC (عقد Timelock المجزأ) هو عقد Timelock مجزأ، وهو أحد المكونات المهمة لتنفيذ المعاملات عبر السلسلة على blockchain. لدى HTLC تطبيقان شائعان:
المقايضة الذرية عبر السلسلة وقنوات الدفع في الشبكة المسرّعة. يمكن لـ HTLC قفل النقل وتعيين شروط إلغاء القفل، مثل توفير معلومات محددة خلال فترة زمنية محددة. وهذا يضمن أنه لا يمكن للمستلم سحب الأموال إلا عند استيفاء الشروط.
من الناحية الفنية، يعد HTLC مخرجًا إضافيًا في معاملة الالتزام باستخدام برنامج نصي فريد للمخرجات. هذا عبارة عن برنامج نصي يحتوي على عمليات مثل OP_HASH160، وOP_EQUALVERIFY، وما إلى ذلك، المستخدمة لحجز الأموال بحيث لا يمكن فتحها إلا من خلال توفير قيمة الصورة الأولية R.
يحتوي هذا البرنامج النصي على مسارين محتملين. يرسل المسار الأول (المحدد في OP IF) الأموال إلى Bob إذا كان بإمكان Bob توفير R. والمسار الثاني هو فرض قفل زمني باستخدام nLockTime في معاملة الدفع، مما يسمح بإعادة المبالغ المستردة إلى Alice بعد انتهاء صلاحية القفل.
OP_IF
OP_HASH160 <Hash160 (R)> OP_EQUALVERIFY
2 <Alice2> <Bob2> OP_CHECKMULTISIG
OP_ELSE
2 <Alice1> <Bob1> OP_CHECKMULTISIG
OP_ENDIF
مثال التوجيه
في الشبكة المسرّعة، تريد أليس أن تدفع 1 بيتكوين إلى إريك، لكن لا توجد قناة دفع مباشرة بين أليس وإريك. لذا، تقوم أليس بتوجيه الدفع من خلال العقد الوسيطة في شبكة قنوات الدفع (بوب، وكارول، وديانا) لإنشاء مسار دفع آمن، مما يسمح لها بدفع عملة بيتكوين واحدة إلى إريك بشكل غير مباشر. يستخدم توجيه الدفع HTLCs – فقط من خلال توفير “السر” الصحيح خلال فترة زمنية محددة يمكن فتح الأموال، مما يضمن أمان الدفع.
في هذا المثال، في الخطوة 1، يقوم إريك بإنشاء سر R (حل) ويحسب قيمة التجزئة H (اللغز)، ثم يعطي قيمة التجزئة H إلى Alice.
الخطوات من 2 إلى 5: يقوم كل من أليس وبوب وكارول وديانا وإريك ببناء HTLCs في أزواج، مما يتطلب توفير R (الحل) خلال فترة زمنية معينة لاسترداد الأموال المقفلة من الطرف الأعلى.
الخطوات من 6 إلى 9: يقدم إريك R (الحل) إلى Diana لاسترداد 1 BTC. تقوم Diana بعد ذلك باسترداد BTC من Carol باستخدام R، ويتم تمرير R للخلف مثل هذا حتى يتم استرداد 1.003 BTC الخاصة بـ Alice (0.003 BTC منها رسوم الخدمة للعقد الوسيطة).
في هذا المثال، إذا لم يقدم إريك في الخطوة 6 R (الحل) خلال الوقت المحدد، بعد انتهاء الوقت، سيتم فتح الأموال المقفلة في الخطوات من 2 إلى 5 مباشرة وإعادتها.
الشكل 2: مثال على التوجيه
هجوم الدراجات البديل
تشير آلية استبدال المعاملات في Bitcoin إلى أنه عندما يتم وضع علامة على المعاملة على أنها قابلة للاستبدال، فيمكن استبدال المعاملة بمعاملة أخرى في الشبكة برسوم أعلى قبل تأكيدها في الكتلة.
إذا تم دفع رسوم مطلقة أعلى للمعاملة ومعدل رسوم أعلى، فيمكن أن تحل محل المعاملات غير المؤكدة المعلقة التي تتعارض معها بشكل مباشر. بعد استلام المعاملة البديلة، ستقوم العقد بإزالة المعاملة الأصلية بسعر رسوم أقل من مجمع الذاكرة وتحتفظ فقط بالمعاملة البديلة.
تسمح آلية استبدال المعاملة بتعديل رسوم المعاملة أو المعلمات الأخرى قبل تأكيد المعاملة. ولكن يمكن أيضًا استخدام هذه الآلية لتنفيذ هجمات رفض الخدمة، مثل الاستبدال المتكرر للمعاملة المهمة، مما يؤدي إلى فشل التأكيد. ولذلك، فإن آلية استبدال المعاملات توفر الراحة لتعديل المعاملات، ولكنها تنطوي أيضًا على مخاطر إساءة الاستخدام.
وفقًا للبريد الإلكتروني الذي أرسله مطور Bitcoin Core Antoine Riard، فإن هجوم دورة الاستبدال يتضمن بشكل أساسي قنوات الدفع في شبكة Bitcoin Lightning Network. يبث المهاجم معاملة HTLC-preimage برسوم مطلقة ومعدل رسوم أعلى لتحل محل معاملة مهلة HTLC الخاصة بالعقدة الصادقة. أثناء الاستبدال، يمكن للمهاجم إضافة مدخلات أو مخرجات إضافية لضمان قبول معاملة الاستبدال بنجاح من قبل الشبكة.
قد تؤدي طريقة الهجوم هذه إلى إنفاق مزدوج للأموال في قنوات الدفع، أي أنه بعد أن تبث العقدة الصادقة معاملة مهلة HTLC، ينجح المهاجم في استرداد الأموال من خلال الاستبدال. يمكننا إعطاء مثال بسيط للتوضيح، مشابه للمثال السابق، بافتراض أن المسار مبسط إلى Alice وBob وEric فقط، وتواطؤ Alice وEric لسرقة BTC الخاصة ببوب.
الخطوة 1: تعتزم أليس دفع 1 بيتكوين إلى إريك من خلال بوب. يقوم كل من Alice\Bob وBob\Eric ببناء HTLC. يحتاج إريك إلى توفير R (الحل) لبوب قبل الكتلة 1020 (بافتراض أن الارتفاع الحالي هو 1000)، وإلا سيتمكن بوب من استرداد 1 BTC المقفلة؛ وبالمثل، يحتاج بوب إلى الرد على أليس قبل الكتلة 1080، وإلا ستتمكن أليس من استرداد 1 بيتكوين الخاصة بها.
الخطوة 2: لم يقدم إريك R (الحل) إلى Bob قبل الكتلة 1020. سيقوم Bob ببث معاملة تحتوي على مهلة HTLC. سيتم رد الأموال في هذه المعاملة إلى بوب.
الخطوة 3: يراقب إريك معاملة مهلة HTLC الخاصة بـ Bob ويستبدلها بمعاملة HTLC-preimage بمعدل رسوم أعلى. ثم يبدأ إريك معاملة أخرى لطرد صورة HTLC السابقة من مجمع الذاكرة.
الخطوة 4: ستعيد عقدة Bob بث معاملة مهلة HTLC حتى الكتلة 1080. يمكن لـ Eric بدء الاستبدال في كل مرة. حتى الكتلة 1080، يتم تأكيد معاملة أليس لطرف القناة الأخرى، وتقوم أليس باسترداد عملة البيتكوين المقفلة.
الخطوة 5: يتم تأكيد الصورة المسبقة لـ HTLC الخاصة بإريك، لذلك يتم نقل 1 BTC التي قفلها بوب إلى إريك.
وهكذا، تم تحويل 1 BTC الخاصة بـ Bob إلى Eric، بينما لم يتلق BTC المستحقة من Alice أيضًا.
ملخص
اعتبارًا من نوفمبر 2023، تضم شبكة Lightning Network أكثر من 16000 عقدة Lightning و5000 BTC. على الرغم من عدم تأكيد حالات هجوم دورة الاستبدال الفعلية، إلا أنها تسلط الضوء على ضرورة البحث الأمني المستمر والتحسينات للشبكة المسرّعة. اقترح أنطوان ريارد أيضًا عدة إجراءات لتجنب أو تخفيف هجمات دورة الاستبدال، مثل مراقبة مجمع الذاكرة المحلي والمعاملات المرحّلة،
وبناء شبكات متراكبة بين القائمين بالتعدين وعقد Lightning، وإعادة تشغيل معاملات مهلة HTLC بشكل نشط لزيادة تكاليف المهاجم. لكنه أعلن في الوقت نفسه عن وقف المشاركة في شبكة Lightning Network وأعمال تنفيذها، بما في ذلك تنسيق الحلول للثغرات الأمنية على مستوى البروتوكول.
مع توسع الشبكة المسرّعة، قد يصبح التهديد المحتمل لهجمات الدورة البديلة عقبة في مسار تطويرها، مما يجبر المجتمع على التركيز بشكل أكبر على الأبحاث والتحسينات الأمنية.
ومع ذلك، فمن خلال المعالجة الجادة للقضايا الأمنية وتحسينها على وجه التحديد، قد نشهد أن الشبكة المسرّعة تحل المخاطر المحتملة تدريجيًا في المستقبل، وتحقق نظامًا بيئيًا أكثر صحة وموثوقية.
نبذة عن كوين إكس
تأسست CoinEx في عام 2017، وهي عبارة عن بورصة عالمية للعملات المشفرة ملتزمة بجعل التداول أسهل. توفر المنصة مجموعة من الخدمات، بما في ذلك التداول الفوري والهامش، والعقود الآجلة، والمقايضات، وصناعة السوق الآلية (AMM)، وخدمات الإدارة المالية لأكثر من 5 ملايين مستخدم في أكثر من 200 دولة ومنطقة.
منذ تأسيسها، التزمت CoinEx بثبات بمبدأ الخدمة “المستخدم أولاً”. مع النية الصادقة المتمثلة في رعاية بيئة تداول العملات المشفرة العادلة والمحترمة والآمنة، تمكن CoinEx المستخدمين من الوصول بسهولة إلى عالم العملات المشفرة من خلال تقديم منتجات وخدمات سهلة الاستخدام.