تحلیل فنی: هک Balancer به ارزش ۱۲۰ میلیون دلار چگونه رخ داد و آسیبپذیری کجا بود؟
عنوان مقاله اصلی: "تحلیل فنی آسیبپذیری هک ۱۲۰ میلیون دلاری 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 را برای مبادله توکن فراخوانی میکند.

از دیدگاه پارامترها و محدودیتهای تابع، میتوان اطلاعات زیر را به دست آورد:
۱. مهاجم باید این تابع را از طریق 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 را نشان نمیدهد.
ممکن است شما نیز علاقهمند باشید

معمای ۱۷ ساله حل خواهد شد، ساتوشی ناکاموتو کیست؟

۵ دقیقه برای تبدیل هوش مصنوعی به مغز دوم شما

یونیسواپ در یک معضل نوآوری گرفتار شده است

کلید رقابت در بانکداری رمزارزی چیست؟

Untitled
معرفی کلیدهای اصلی میانگین افزایش قیمت توکن BNKR: قیمت توکن BNKR به بالاترین حد خود در تاریخ ۲۶…

جریان استیبلکوینها و اثرات سرایتی در بازار ارز خارجی

پس از دو سال، اولین دسته مجوزهای استیبلکوین هنگ کنگ سرانجام صادر شد: اچاسبیسی و استاندارد چارترد انتخاب شدند

شخصی که به TAO کمک کرد تا 90% افزایش یابد، اکنون به تنهایی قیمت را دوباره امروز به شدت کاهش داده است

راهنمای ۳ دقیقهای برای شرکت در عرضه اولیه سهام اسپیس ایکس در بیتگت

چگونه قبل از فصل آلت کوین ها در سال 2026، با USDT بیکار 15000 دلار درآمد کسب کنیم؟
آیا میخواهید بدانید که آیا فصل آلت کوینها در سال ۲۰۲۶ فرا میرسد؟ آخرین بهروزرسانی بازار را دریافت کنید و یاد بگیرید که چگونه استیبل کوینهای بیکار خود را که منتظر ورود هستند به پاداشهای اضافی تا سقف ۱۵۰۰۰ USDT تبدیل کنید.

۵ ارز دیجیتال برتر برای خرید در سه ماهه اول سال ۲۰۲۶: تحلیل عمیق ChatGPT
5 ارز دیجیتال برتر برای خرید در سه ماهه اول 2026 شامل BTC، ETH، SOL، TAO و ONDO را بررسی کنید. چشماندازهای قیمت، روایتهای کلیدی و کاتالیزورهای نهادی که حرکت بعدی بازار را شکل میدهند، ببینید.

آیا میتوانید در Joker Returns بدون حجم بالای معاملات برنده شوید؟ 5 اشتباه که بازیکنان جدید در فصل 2 WEEX Joker Returns مرتکب میشوند
آیا معاملهگران کوچک میتوانند بدون حجم زیاد در WEEX Joker Returns 2026 برنده شوند؟ بله—اگر از این 5 اشتباه پرهزینه اجتناب کنید. یاد بگیرید چگونه حداکثر استفاده را از کشیدن کارتها ببرید، از جوکرها بهخوبی استفاده کنید و سپردههای کوچک را به جوایز 15,000 USDT تبدیل کنید.

آیا فصل آلت کوینها در سال ۲۰۲۶ از راه خواهد رسید؟ ۵ نکته برای شناسایی فرصتهای ۱۰۰ برابری بعدی در حوزه ارزهای دیجیتال
آیا فصل آلت کوینها در سال ۲۰۲۶ فرا خواهد رسید؟ ۵ مرحله چرخش، سیگنالهای اولیه که معاملهگران هوشمند به آنها توجه میکنند و بخشهای کلیدی ارزهای دیجیتال که ممکن است فرصتهای ۱۰۰ برابری آلتکوین بعدی در آنها پدیدار شود را کشف کنید.

فصل آلتکوین 2026: 4 مرحله برای سود (قبل از اینکه جمعیت وارد شود)
فصل آلتکوین 2026 در حال شروع است — 4 مرحله کلیدی چرخش سرمایه (از ETH به PEPE) را کشف کنید و نحوه موقعیتگیری قبل از اوج را بیاموزید. یاد بگیرید کدام توکنها هر مرحله را رهبری خواهند کرد و از دست دادن رالی را اجتناب کنید.

بازار خرسی فرا رسیده است و صادرکنندگان ETF ارزهای دیجیتال نیز وارد عمل شدهاند.

ثروتمندترین مرد با رئیس سابق خود دچار مشاجره شد

پاداش کسب خودکار ۲۰۲۶: WEEX در مقابل Binance در مقابل Bybit در مقابل OKX در مقابل Kraken (فقط یک مورد هزینه اضافی پرداخت میکند)
درآمد خودکار ۲۰۲۶: بایننس؟ بای بیت؟ بدون پاداش اضافی. فقط WEEX نرخ بهره سالانه (APR) +0.5% + 300% برای معرفیکنندگان ارائه میدهد. مدت محدود. دقیقاً ببینید چقدر بیشتر میتوانید درآمد کسب کنید.

درآمد خودکار ۲۰۲۶: WEEX 0.5٪ اضافه + 300٪ پاداش سالانه ارائه میدهد - بیشتر از Binance و Bybit؟
بیشتر صرافیها قابلیت کسب درآمد خودکار (Auto Earn) را ارائه میدهند، اما فقط WEEX در سال ۲۰۲۶، ۰.۵٪ پاداش اضافی روی رشد موجودی + ۳۰۰٪ پاداش ارجاع سالانه (APR) اضافه میکند . در اینجا نحوه مقایسه WEEX با Binance، Bybit، OKX و Kraken آورده شده است - و اینکه چرا ممکن است با یک تغییر ساده، درآمد بیشتری کسب کنید.
معمای ۱۷ ساله حل خواهد شد، ساتوشی ناکاموتو کیست؟
۵ دقیقه برای تبدیل هوش مصنوعی به مغز دوم شما
یونیسواپ در یک معضل نوآوری گرفتار شده است
کلید رقابت در بانکداری رمزارزی چیست؟
Untitled
معرفی کلیدهای اصلی میانگین افزایش قیمت توکن BNKR: قیمت توکن BNKR به بالاترین حد خود در تاریخ ۲۶…
