تحليل أولي لحدث هجوم Balancer V2

في 3 نوفمبر، تعرض بروتوكول Balancer V2 ومشاريع fork الخاصة به لهجوم عبر عدة سلاسل، مما أدى إلى خسائر خطيرة تجاوزت 120 مليون دولار. قامت BlockSec بإصدار تحذير في الوقت المناسب [1]، وقدموا تحليلًا أوليًا يفيد بأن [2]. هذه حادثة هجوم معقدة للغاية. تشير تحليلاتنا الأولية إلى أن السبب الجذري هو أن المهاجمين قاموا بالتلاعب بالثوابت، مما أدى إلى تشويه حساب سعر BPT (رمز بركة Balancer ) – وهو أيضًا رمز LP لبركة – مما مكنهم من تحقيق الربح من خلال عملية batchSwap واحدة في بركة مستقرة.

المعرفة الخلفية

1. التحجيم (scaling) والتقريب (rounding)

لتوحيد عدد الأرقام العشرية لمختلف الرموز، ستقوم عقدة بالانسر بما يلي:

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

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

2. D و سعر BPT

تأثرت بروتوكولات Composable Stable Pool [3] و fork بهجوم هذا. تُستخدم Stable Pool للأصول التي من المتوقع أن تحافظ على نسبة تبادل قريبة من 1:1 (أو لتبادل الأصول بأسعار معروفة)، مما يسمح بإجراء تبادلات كبيرة دون أن تتسبب في صدمات سعرية كبيرة، وبالتالي تعزز بشكل كبير كفاءة استخدام الأموال بين الأصول المماثلة أو ذات الصلة.

  • تستخدم هذه المجموعة الرياضيات الثابتة (نموذج StableSwap القائم على Curve) ، حيث تمثل الثابت D “القيمة الإجمالية الافتراضية” للمجمع.
  • BPT (Pool رمز LP ) السعر تقريبا:

!

من المعادلة السابقة، يمكننا أن نرى أنه إذا تمكنا من جعل D أصغر على الورق (حتى لو لم تتدفق الأموال فعليًا)، فيمكننا جعل سعر BPT أرخص. BTP تمثل حصة من Pool، وتستخدم لحساب مقدار الاحتياطي في Pool الذي يمكن الحصول عليه عند سحب السيولة، لذلك إذا تمكن المهاجم من الحصول على المزيد من BPT، فسيتمكن في النهاية من تحقيق أرباح عند سحب السيولة.

تحليل الهجمات

كمثال على عملية هجوم في Arbitrum، يمكن تقسيم عملية batchSwap إلى ثلاث مراحل:

المرحلة الأولى: يقوم المهاجم بتحويل BPT إلى الأصول الأساسية، لضبط رصيد إحدى الرموز (cbETH) بدقة إلى نقطة الحدود المستديرة (الكمية = 9). تهيئ هذه الخطوة لمرحلة فقدان الدقة التالية.

المرحلة الثانية: يستخدم المهاجم كمية مصممة بعناية (= 8) للتبادل بين أصل أساسي آخر (wstETH) و cbETH. نظرًا لأنه تم التقريب للأسفل عند زيادة عدد الرموز، فإن Δx المحسوبة تكون أقل قليلاً (من 8.918 إلى 8)، مما يؤدي إلى تقدير Δy بشكل منخفض، ويجعل الثابت D (المستمد من نموذج StableSwap في Curve) أصغر. نظرًا لأن سعر BPT = D / totalSupply، يتم خفض سعر BPT بشكل مصطنع.

! [](https://img-cdn.gateio.im/webp-social/moments-96ff39a849dd22ebc8ef818e54def067.webp019283746574839201

المرحلة الثالثة: سيقوم المهاجم بتحويل الأصول الأساسية مرة أخرى إلى BPT، مع استعادة التوازن في المسبح، مستفيدًا من سعر BPT المنخفض لتحقيق الربح - الحصول على المزيد من رموز BPT.

أخيرًا، استخدم المهاجم صفقة ربح أخرى لسحب السيولة، وبالتالي الاستفادة من BPT المكتسب للحصول على الأصول الأساسية الأخرى في الـ Pool )cbETH و wstETH( لتحقيق الربح.

هجوم على الصفقة:

تداول الربح:

مرجع:

)

[1]

[2]

BPT-6.67%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • تعليق
  • إعادة النشر
  • مشاركة
تعليق
0/400
لا توجد تعليقات
  • Gate Fun الساخنعرض المزيد
  • القيمة السوقية:$4.34Kعدد الحائزين:2
    0.00%
  • القيمة السوقية:$4.35Kعدد الحائزين:1
    0.00%
  • القيمة السوقية:$4.36Kعدد الحائزين:1
    0.00%
  • القيمة السوقية:$4.25Kعدد الحائزين:1
    0.00%
  • القيمة السوقية:$4.56Kعدد الحائزين:2
    0.00%
  • تثبيت