رسم توضيحي لرمز غير قابل للاستبدال يُنقَذ من محفظة مخترقة قبل أن يستولي عليه روبوت كنس آلي

لسنوات، كانت الإجابة الصادقة على سؤال 'محفظتي استُنزفت، هل يمكنك استرداد أي شيء' هي 'لا' في الغالب. تغيّر ذلك بالنسبة لفئة محددة من الحالات: الأصول التي لا تزال تقنيًا موجودة في محفظة مخترقة لأن روبوت الكنس لم يتمكن من الوصول إليها بعد. فهم سبب وجود تلك الفجوة، وكيفية استغلالها، هو أساس تقنية استرداد مفيدة فعليًا.

لماذا يُترَك أي شيء أصلًا

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

المشكلة الجوهرية في محاولة استرداد عادية

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

كيف تتجاوز الحزمة الخاصة هذه المشكلة

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

  • تُعاد هندسة العقد المخترق من شيفرته المصدرية المنشورة لتحديد طريقة الاسترداد الدقيقة اللازمة.
  • يُحاكى تسلسل المعاملات الكامل مسبقًا لتقدير تكاليف الغاز بدقة.
  • تُقدَّم الحزمة، التمويل، والاسترداد، والتأكيد، بشكل خاص بدلًا من إرسالها إلى المجمّع العام للمعاملات المعلقة (mempool).
  • تتابع عملية مراقبة المحفظة المخترقة باستمرار بحيث يمكن نقل أي رصيد جديد فور فك قفله، مما يحرم المهاجم الأصلي من فرصة ثانية.
نقطة أساسية

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

ما القابل للاسترداد واقعيًا

تتبع كل من رموز ERC-20 والرموز غير القابلة للاستبدال ERC-721 واجهات موحَّدة قياسية، ما يعني أن طريقة استرداد مبنية للمعيار تعمل عمومًا مع أي رمز أو مجموعة تستخدمه، بما في ذلك نقل دفعة كبيرة من الرموز غير القابلة للاستبدال دفعة واحدة خارج محفظة مخترقة في معاملة واحدة. العملات المستقرة ورموز التخزين أو تزويد السيولة القياسية بسيطة بالمثل. أما البروتوكولات المخصصة ذات آليات القفل غير القياسية فتتطلب إعادة هندسة فردية وتستغرق وقتًا أطول، ويمتد الدعم حاليًا عبر إيثيريوم، وبوليغون، وسلاسل أخرى متوافقة مع بيئة إيثيريوم الافتراضية (EVM) مثل أفالانش وسلسلة BNB.

لماذا يهم هذا الضحايا

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

استرداد الرموز غير القابلة للاستبدالالمحافظ المخترقةروبوتات الكنساسترداد المحفظة

مقالات ذات صلة

كيف نكسر بالقوة الغاشمة محافظ Blockchain.info القديمة لاسترداد كلمات المرور المفقودة توقيعات "IncreaseAllowance" الخبيثة: كيف تُفرغ طلبات التطبيقات اللامركزية المزيفة محافظ الويب 3 العادة التي تستغرق خمس دقائق وتغلق مسار هجوم شائعًا في التمويل اللامركزي