شراء العملة
الأسواق
فوري
العقود
الأرباح
الأنشطة
المزيد
reward-centerمنطقة المبتدئين
تحليل التقريرالتفاصيل
بحوث الصناعة

هجوم دورة الاستبدال في شبكة البرق

CoinEx logo
تم النشر بتاريخ 2023-12-25

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

إحدى المزايا الرئيسية لشبكة البرق هي سرعتها وقلة تكلفتها. فهي تمكّن المستخدمين من إرسال واستلام المدفوعات الصغيرة عبر شبكة البيتكوين بطريقة بسيطة وفعالة من حيث التكلفة. من خلال إنشاء شبكة من قنوات الدفع بين المستخدمين، تمكّن شبكة البرق من إجراء المعاملات دون بث كل معاملة إلى سلسلة الكتل. وهذا يقلل من الازدحام على سلسلة كتل البيتكوين ويحسن من قابلية توسع المعاملات.

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

آلية شبكة البرق

تستفيد شبكة البرق البيتكوين من آلية التوقيع المتعدد لضمان أمان قنوات الدفع. يحتاج المشاركون إلى حجز الأموال وإنشاء قنوات الدفع. يمكن للمشاركين إجراء مدفوعات سريعة ومنخفضة التكلفة داخل القناة، دون الحاجة إلى تقديم المعاملات إلى سلسلة كتل البيتكوين في كل مرة. قناة الدفع هي مجرد علاقة بين المشاركين خارج سلسلة كتل البيتكوين، والتي يتم تحقيقها من خلال توقيع سلسلة من المعاملات داخل القناة والتي يتم نشرها فقط بين طرفي القناة دون إشراك إجماع شبكة البيتكوين بأكملها.

فيما يتعلق بالعملية المحددة، عند فتح قناة دفع، يحتاج المشاركون إلى إنشاء نص برمجي متعدد التوقيعات يتطلب من كل طرف في القناة تقديم مفتاحه العام، مع تحديد عدد التوقيعات المطلوبة، على سبيل المثال، تحديد نص برمجي يحتوي على مفاتيح عامة متعددة ومنطق التحقق من التوقيع. عند إنشاء العنوان متعدد التوقيعات، سيتم تحويل هذا النص البرمجي إلى عنوان بيتكوين، مشكلاً البنية التحتية لقناة الدفع.

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

الشكل 1: مخطط قناة الحالة

State Channel Diagram

المصدر: https://cypherpunks-core.github.io/bitcoinbook/images/mbc2_1204.png

آلية HTLC

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

العقد الزمني المشفر (HTLC) هو عقد زمني مشفر، وهو أحد المكونات الهامة لتنفيذ المعاملات عبر السلاسل على سلسلة الكتل. لـ HTLC تطبيقان شائعان: التبادلات الذرية عبر السلاسل وقنوات الدفع في شبكة البرق. يمكن لـ HTLC قفل التحويل وتعيين شروط فك القفل، مثل توفير معلومات محددة خلال وقت محدد. هذا يضمن أنه يمكن سحب الأموال فقط من قبل المستلم عندما يتم استيفاء الشروط.

من الناحية التقنية، HTLC هو مخرج إضافي في معاملة الالتزام مع نص مخرج فريد. هذا هو نص البرنامج النصي الذي يحتوي على عمليات مثل OP_HASH160، OP_EQUALVERIFY، إلخ، المستخدمة لقفل الأموال بحيث لا يمكن فك قفلها إلا بتوفير قيمة الصورة الأولية R. يحتوي هذا النص البرمجي على مسارين محتملين. المسار الأول (المحدد في OP IF) يرسل الأموال إلى بوب إذا كان بوب قادرًا على توفير R. المسار الثاني هو فرض قفل زمني باستخدام nLockTime في معاملة الدفع، مما يسمح باسترداد الأموال إلى أليس بعد انتهاء صلاحية القفل.

OP_IF

OP_HASH160 <Hash160 (R)> OP_EQUALVERIFY

2 <Alice2> <Bob2> OP_CHECKMULTISIG

OP_ELSE

2 <Alice1> <Bob1> OP_CHECKMULTISIG

OP_ENDIF

مثال على التوجيه

في شبكة البرق، تريد أليس أن تدفع 1 بيتكوين لإريك، ولكن لا يوجد قناة دفع مباشرة بين أليس وإريك. لذلك تقوم أليس بتوجيه الدفع من خلال العقد الوسيطة في شبكة قنوات الدفع (بوب، كارول، ديانا) لبناء مسار دفع آمن، مما يسمح لها بدفع 1 بيتكوين لإريك بشكل غير مباشر. يستخدم توجيه الدفع HTLCs - فقط من خلال توفير "السر" الصحيح خلال نافذة زمنية محددة يمكن فك قفل الأموال، مما يضمن أمان الدفع.

في هذا المثال، في الخطوة 1، يقوم إريك بإنشاء سر R (الحل) ويحسب قيمة التجزئة H (اللغز)، ثم يعطي قيمة التجزئة H لأليس.

الخطوات 2-5: يقوم كل من أليس وبوب وكارول وديانا وإريك بإنشاء HTLCs في أزواج، مما يتطلب توفير R (الحل) خلال فترة زمنية معينة لاسترداد الأموال المقفلة من الطرف الأعلى.

الخطوات 6-9: يقدم إريك R (الحل) لديانا لاسترداد 1 بيتكوين. ثم تسترد ديانا البيتكوين من كارول باستخدام R، ويتم تمرير R للخلف بهذه الطريقة حتى يتم استرداد 1.003 بيتكوين الخاصة بأليس (0.003 بيتكوين منها هي رسوم الخدمة للعقد الوسيطة).

في هذا المثال، إذا لم يقدم إريك R (الحل) في الخطوة 6 خلال الوقت المحدد، فبعد انتهاء الوقت، ستنفتح الأموال المقفلة في الخطوات 2-5 مباشرة وتعود.

الشكل 2: مثال على التوجيه

مثال على التوجيه

المصدر: https://cypherpunks-core.github.io/bitcoinbook/images/mbc2_1210.png

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

تشير آلية استبدال المعاملات في البيتكوين إلى أنه عندما يتم وضع علامة على معاملة على أنها قابلة للاستبدال، فيمكن استبدال المعاملة بمعاملة أخرى في الشبكة برسوم أعلى قبل تأكيدها في كتلة. إذا تم دفع رسوم مطلقة أعلى ومعدل رسوم أعلى لمعاملة، فيمكنها استبدال المعاملات المعلقة غير المؤكدة التي تتعارض مباشرة معها. بعد تلقي معاملة الاستبدال، ستقوم العقد بإزالة المعاملة الأصلية ذات معدل الرسوم الأقل من مجموعة الذاكرة والاحتفاظ بمعاملة الاستبدال فقط. تسمح آلية استبدال المعاملات بتعديل رسوم المعاملات أو المعلمات الأخرى قبل تأكيد المعاملة. ولكن يمكن استخدام هذه الآلية أيضًا لتنفيذ هجمات حرمان الخدمة للمعاملات، مثل استبدال معاملة حرجة بشكل متكرر، مما يتسبب في فشل تأكيدها. لذلك، توفر آلية استبدال المعاملات راحة لتعديل المعاملات، ولكنها تقدم أيضًا مخاطر إساءة الاستخدام.

وفقًا لبريد إلكتروني من مطور بيتكوين كور أنطوان ريارد، فإن هجوم دورة الاستبدال يتعلق بشكل رئيسي بقنوات الدفع في شبكة البرق الخاصة بالبيتكوين. يقوم المهاجم ببث معاملة HTLC-preimage برسوم مطلقة وسعر رسوم أعلى لاستبدال معاملة HTLC-timeout الخاصة بالعقدة الصادقة. أثناء الاستبدال، يمكن للمهاجم إضافة مدخلات أو مخرجات إضافية لضمان قبول معاملة الاستبدال بنجاح من قبل الشبكة. قد تؤدي طريقة الهجوم هذه إلى إنفاق مزدوج للأموال في قنوات الدفع، أي أنه بعد بث العقدة الصادقة لمعاملة HTLC-timeout، ينجح المهاجم في استرداد الأموال من خلال الاستبدال. يمكننا إعطاء مثال بسيط للتوضيح، مشابه للمثال السابق، بافتراض أن المسار مبسط ليشمل فقط أليس وبوب وإريك، وأن أليس وإريك يتواطآن لسرقة البيتكوين الخاص ببوب.

الخطوة 1: تنوي أليس دفع 1 بيتكوين إلى إريك عبر بوب. تقوم أليس\بوب وبوب\إريك كل منهما ببناء HTLC. يحتاج إريك إلى تقديم R (الحل) إلى بوب قبل الكتلة 1020 (بافتراض أن الارتفاع الحالي هو 1000)، وإلا فيمكن لبوب استرداد 1 بيتكوين المقفلة؛ وبالمثل، يحتاج بوب إلى الرد على أليس قبل الكتلة 1080، وإلا فيمكن لأليس استرداد 1 بيتكوين الخاصة بها.

الخطوة 2: لم يقدم إريك R (الحل) إلى بوب قبل الكتلة 1020. سيقوم بوب ببث معاملة تحتوي على HTLC-timeout. سيتم إعادة الأموال في هذه المعاملة إلى بوب.

الخطوة 3: يراقب إريك معاملة HTLC-timeout الخاصة ببوب ويستبدلها بمعاملة HTLC-preimage ذات معدل رسوم أعلى. ثم يبدأ إريك معاملة أخرى لإخراج HTLC-preimage السابقة من مجمع الذاكرة.

الخطوة 4: ستقوم عقدة بوب بإعادة بث معاملة HTLC-timeout حتى الكتلة 1080. يمكن لإريك بدء الاستبدال في كل مرة. حتى الكتلة 1080، يتم تأكيد معاملة الطرف الآخر في القناة أليس، وتسترد أليس البيتكوين المقفلة.

الخطوة 5: يحصل إريك على تأكيد HTLC-preimage الخاص به، وبالتالي يتم تحويل 1 بيتكوين المقفلة من قبل بوب إلى إريك.

وهكذا، تم تحويل 1 بيتكوين الخاصة ببوب إلى إريك، بينما لم يتلق البيتكوين المستحق من أليس أيضًا.

ملخص

اعتبارًا من نوفمبر 2023، تضم شبكة البرق أكثر من 16,000 عقدة برق و5,000 بيتكوين. على الرغم من عدم تأكيد حالات هجوم دورة الاستبدال الفعلية، إلا أن ذلك يبرز ضرورة إجراء البحوث الأمنية والتحسينات المستمرة لشبكة البرق. اقترح أنطوان ريارد أيضًا العديد من الإجراءات لتجنب أو تخفيف هجمات دورة الاستبدال، مثل مراقبة تجمع الذاكرة المحلي والمعاملات المنقولة، وبناء شبكات متراكبة بين عمال المناجم وعقد البرق، وإعادة تشغيل معاملات مهلة HTLC بنشاط لزيادة تكاليف المهاجم. ولكن في الوقت نفسه، أعلن عن وقف المشاركة في شبكة البرق وعمل تنفيذها، بما في ذلك تنسيق الحلول للثغرات الأمنية على مستوى البروتوكول.

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

حول CoinEx

تأسست CoinEx في عام 2017، وهي بورصة عملات مشفرة عالمية ملتزمة بجعل التداول أسهل. توفر المنصة مجموعة من الخدمات، بما في ذلك التداول الفوري والهامشي، والعقود الآجلة، والمبادلات، وحساب صنع السوق الآلي (AMM)، وخدمات الإدارة المالية لأكثر من 5 ملايين مستخدم في أكثر من 200 دولة ومنطقة. منذ تأسيسها، التزمت CoinEx بثبات بمبدأ خدمة "العميل أولاً". بنية صادقة لرعاية بيئة تداول عادلة ومحترمة وآمنة للعملات المشفرة، تمكن CoinEx المستخدمين من الوصول بسهولة إلى عالم العملات المشفرة من خلال تقديم منتجات وخدمات سهلة الاستخدام.

المراجع

https://cypherpunks-core.github.io/bitcoinbook/

https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-October/022032.html

https://lightning.network/lightning-network-paper.pdf

https://github.com/ariard/mempool-research/blob/2023-10-replacement-paper/replacement-cycling.pdf