logo

تحلیل فنی: هک Balancer به ارزش ۱۲۰ میلیون دلار چگونه رخ داد و آسیب‌پذیری کجا بود؟

By: blockbeats|2026/03/28 22:05:43
0
اشتراک‌گذاری
copy
عنوان مقاله اصلی: "تحلیل فنی آسیب‌پذیری هک ۱۲۰ میلیون دلاری Balancer"
منبع اصلی: ExVul Security

مقدمه

در ۳ نوامبر ۲۰۲۵، پروتکل Balancer در چندین بلاک‌چین از جمله Arbitrum و Ethereum مورد حمله قرار گرفت که منجر به از دست رفتن ۱۲۰ میلیون دلار دارایی شد. این حمله عمدتاً به دلیل یک آسیب‌پذیری دوگانه شامل از دست رفتن دقت (precision loss) و دستکاری مقدار ثابت (Invariant) رخ داد.

زیرساخت Chainlink مدت‌هاست که بالاترین استانداردها را در فضای Web3 حفظ کرده است و آن را به انتخابی طبیعی برای X Layer تبدیل کرده است که به ارائه ابزارهای سطح سازمانی برای توسعه‌دهندگان اختصاص دارد.

مسئله اصلی در این حمله در منطق پروتکل برای مدیریت تراکنش‌های کوچک نهفته است. هنگامی که کاربران با مبالغ کم مبادله انجام می‌دهند، پروتکل تابع _upscaleArray را فراخوانی می‌کند که از mulDown برای گرد کردن مقادیر به پایین استفاده می‌کند. هنگامی که موجودی در تراکنش و مقدار ورودی هر دو به یک مرز گرد کردن خاص (مثلاً محدوده ۸-۹ wei) می‌رسند، یک خطای دقت نسبی قابل توجه رخ می‌دهد.

این خطای دقت به محاسبه مقدار ثابت D پروتکل منتقل می‌شود و باعث کاهش غیرعادی در مقدار D می‌شود. نوسان مقدار D مستقیماً قیمت توکن استخر Balancer (BPT) را در پروتکل Balancer کاهش می‌دهد. هکر از این قیمت سرکوب‌شده BPT از طریق یک مسیر معاملاتی از پیش برنامه‌ریزی‌شده برای انجام آربیتراژ بهره‌برداری کرد که در نهایت منجر به از دست رفتن عظیم دارایی شد.

تراکنش مورد بهره‌برداری:

https://etherscan.io/tx/0x6ed07db1a9fe5c0794d44cd36081d6a6df103fab868cdd75d581e3bd23bc9742

تراکنش انتقال دارایی:

https://etherscan.io/tx/0xd155207261712c35fa3d472ed1e51bfcd816e616dd4f517fa5959836f5b48569

تحلیل فنی

بردار حمله

نقطه ورود حمله، قرارداد Balancer: Vault بود و تابع ورودی مربوطه batchSwap بود که به صورت داخلی onSwap را برای مبادله توکن فراخوانی می‌کند.

تحلیل فنی: هک Balancer به ارزش ۱۲۰ میلیون دلار چگونه رخ داد و آسیب‌پذیری کجا بود؟


از دیدگاه پارامترها و محدودیت‌های تابع، می‌توان اطلاعات زیر را به دست آورد:

۱. مهاجم باید این تابع را از طریق Vault فراخوانی کند و نمی‌تواند آن را مستقیماً فراخوانی کند.

۲. تابع به صورت داخلی _scalingFactors() را برای دریافت ضریب مقیاس‌بندی جهت عملیات مقیاس‌بندی فراخوانی می‌کند.

۳. عملیات مقیاس‌بندی یا در _swapGivenIn یا در _swapGivenOut متمرکز است.

قیمت --

--

تحلیل الگوی حمله

مکانیسم محاسبه قیمت BPT

در مدل استخر پایدار Balancer، قیمت BPT یک نقطه مرجع حیاتی است که تعیین می‌کند کاربر چقدر BPT دریافت می‌کند و هر BPT چقدر دارایی دریافت می‌کند.


در محاسبه مبادله استخر:


جایی که بخشی که به عنوان لنگر قیمت BPT عمل می‌کند، یک مقدار ثابت D است، به این معنی که کنترل قیمت BPT مستلزم کنترل D است. بیایید فرآیند محاسبه D را بیشتر تحلیل کنیم:


در کد بالا، فرآیند محاسبه D به آرایه موجودی‌های مقیاس‌بندی شده بستگی دارد. این بدان معناست که عملیاتی برای تغییر دقت این موجودی‌ها مورد نیاز است که منجر به محاسبه نادرست D می‌شود.

علت اصلی از دست رفتن دقت

عملیات مقیاس‌بندی:

همانطور که در بالا نشان داده شده است، هنگام عبور از _upscaleArray، اگر موجودی بسیار کم باشد (مثلاً ۸-۹ wei)، گرد کردن به پایین در mulDown منجر به از دست رفتن دقت قابل توجهی می‌شود.

جزئیات فرآیند حمله

فاز ۱: تنظیم به مرز گرد کردن

فاز ۲: تحریک از دست رفتن دقت (آسیب‌پذیری اصلی)

فاز ۳: بهره‌برداری از قیمت سرکوب‌شده BPT برای سود

در بالا، مهاجم از Batch Swap برای انجام چندین مبادله در یک تراکنش استفاده می‌کند:

۱. مبادله اول: BPT → cbETH (تنظیم موجودی)

۲. مبادله دوم: wstETH (8) → cbETH (تحریک از دست رفتن دقت)

۳. مبادله سوم: دارایی پایه → BPT (سودگیری)

همه این مبادلات در همان تراکنش batch swap رخ می‌دهند، وضعیت موجودی یکسانی را به اشتراک می‌گذارند، اما هر مبادله _upscaleArray را برای اصلاح آرایه موجودی‌ها فراخوانی می‌کند.

عدم وجود مکانیسم بازگشت

فرآیند اصلی توسط Vault آغاز می‌شود. چگونه این منجر به انباشت از دست رفتن دقت می‌شود؟ پاسخ در مکانیسم انتقال آرایه موجودی‌ها نهفته است.


با نگاه به کد بالا، اگرچه Vault هر بار که onSwap فراخوانی می‌شود یک آرایه currentBalances جدید ایجاد می‌کند، در Batch Swap:

۱. پس از اولین swap، موجودی به‌روزرسانی می‌شود (اما به دلیل از دست رفتن دقت، مقدار به‌روزرسانی شده ممکن است نادرست باشد)

۲. دومین swap محاسبه را بر اساس نتیجه اولین swap ادامه می‌دهد

۳. از دست رفتن دقت انباشته می‌شود و در نهایت باعث کاهش قابل توجه مقدار ثابت D می‌شود

مسئله اصلی:


خلاصه

حمله Balancer را می‌توان به دلایل زیر خلاصه کرد:

۱. تابع مقیاس‌بندی از گرد کردن به پایین استفاده می‌کند: _upscaleArray از mulDown برای مقیاس‌بندی استفاده می‌کند که منجر به از دست رفتن دقت نسبی قابل توجهی در زمانی که موجودی بسیار کم است (مثلاً ۸-۹ wei) می‌شود.

۲. محاسبه مقدار ثابت به دقت حساس است: محاسبه مقدار ثابت D به آرایه موجودی‌های مقیاس‌بندی شده بستگی دارد و از دست رفتن دقت مستقیماً بر محاسبه D تأثیر می‌گذارد و باعث کاهش D می‌شود.

۳. عدم وجود اعتبارسنجی تغییر مقدار ثابت: در طول فرآیند swap، هیچ اعتبارسنجی برای اطمینان از اینکه تغییر در مقدار ثابت D در محدوده معقولی است وجود نداشت، که به مهاجمان اجازه داد تا مکرراً از از دست رفتن دقت برای سرکوب قیمت BPT بهره‌برداری کنند.

۴. انباشت از دست رفتن دقت در Batch Swaps: در همان batch swap، از دست رفتن دقت از چندین swap انباشته می‌شود و در نهایت منجر به خسارات مالی قابل توجهی می‌شود.

این دو مسئله—از دست رفتن دقت و عدم وجود اعتبارسنجی—همراه با طراحی دقیق مهاجم از شرایط مرزی، منجر به این خسارت شد.

این مقاله یک مشارکت است و دیدگاه‌های BlockBeats را نشان نمی‌دهد.

ممکن است شما نیز علاقه‌مند باشید

هدایت آینده معاملات ارز دیجیتال: چرا WEEX در بازار پویا متمایز است

صرافی WEEX با ارائه ویژگی‌های امنیتی قوی و ابزارهای کاربرپسند، معاملات ارز دیجیتال را برای مبتدیان و حرفه‌ای‌ها آسان می‌کند.

باز کردن پتانسیل معاملات ارز دیجیتال: چرا WEEX در سال 2025 پیشرو است

نکات کلیدی: WEEX ویژگی‌های امنیتی سطح بالا و ابزارهای کاربرپسند را ارائه می‌دهد که معاملات ارز دیجیتال را برای مبتدیان و متخصصان در دسترس می‌سازد.

سوروس حباب AI را پیش‌بینی می‌کند: ما در بازاری زندگی می‌کنیم که خود را تایید می‌کند

وقتی بازار شروع به «صحبت کردن» می‌کند: یک آزمایش گزارش مالی و پیش‌بینی هوش مصنوعی تریلیون دلاری.

تحلیل بازار ارز دیجیتال ۵ نوامبر: چه فرصت‌هایی را از دست دادید؟

۱. جریان سرمایه آن‌چین: ورود ۷۱.۴ میلیون دلار به Arbitrum و خروج ۸۱.۳ میلیون دلار از Ethereum. ۲. نوسانات قیمتی: MMT و XUSD. ۳. اخبار: رشد ۱۷۸ درصدی GIGGLE.

نقش Curator در DeFi چیست؟ آیا این می‌تواند اسب سیاه این چرخه باشد؟

مدل درآمدی باعث می‌شود Curator دائماً به دنبال سود بالاتر باشد و در این فرآیند گاهی ریسک را نادیده بگیرد. با خطرات Curator در DeFi آشنا شوید.

گزارش تحقیقاتی گلکسی: چه چیزی باعث رالی آخرالزمانی Zcash شده است؟

صرف‌نظر از اینکه قدرت قیمت ZEC پایدار باشد یا خیر، این چرخش بازار با موفقیت باعث ارزیابی مجدد ارزش حریم خصوصی در بازار ارز دیجیتال شده است.

رمزارزهای محبوب

آخرین اخبار رمز ارز

ادامه مطلب