آیا ما از آسیب پذیری Curve Finance و DeFi در برابر حملات چیزی یاد گرفته ایم؟

Have we learned anything from Curve Finance and DeFi’s susceptibility to attacks?

1402-07-05
1 سال،10 ماه ها پیش

اخبار رمزارزها

آیا ما از آسیب پذیری Curve Finance و DeFi در برابر حملات چیزی یاد گرفته ایم؟

مشروح:

تجربه اخیر نزدیک به مرگ Curve Finance (و از انتشار آن جلوگیری شده است) ممکن است در آینه دید عقب Web3 مانند یک تاری به نظر برسد، اما در واقع چیزی است که همچنان در صنعت اتفاق می افتد. این اولین بار نیست که یک پروتکل مالی غیرمتمرکز - یا هر برنامه غیرمتمرکز برای آن موضوع - تحت تأثیر حمله ای قرار می گیرد که در کد خودش کاملاً قانونی است. علاوه بر این، در صورت وجود مدیریت ریسک در زنجیره، می‌توان از بحران جلوگیری کرد.

همه اینها به یک مشکل گسترده تر در Web3 اشاره دارد. این مشکل بیان و منابع محدود است که در محیط‌های توسعه آن وجود دارد و به طور کلی چگونه بر امنیت تأثیر می‌گذارد.

هک یا سوء استفاده؟

زمانی که مهاجم Curve Finance توانست 61.7 میلیون دلار دارایی را از قراردادهای هوشمند Curve Finance بازیابی کند، بسیاری از رسانه ها و مفسران این رویداد را "هک" نامیدند. اما این یک هک نبود - یک سوء استفاده بود. تفاوت اینجا کلیدی است.

در این زمینه، اگر مهاجم به نحوی یک اقدام امنیتی موجود را دور زده یا شکسته باشد، هک اتفاق می‌افتد. اما حمله به Curve یک سوء استفاده بود. هیچ چیز غیرعادی از نظر آنچه که کد Vyper پروتکل اجازه می دهد رخ نداده باشد. غارتگر به سادگی از نحوه عملکرد طراحی پروتکل استفاده کرد.

چه کسی در این مورد مقصر است؟ هیچکس. کد Vyper Curve، مانند بسیاری از کدهای (Solidity) که در برنامه‌های Web3 استفاده می‌شود، در توانایی خود برای بیان پیچیدگی فراتر از منطق تراکنش نسبتاً ساده به شدت محدود است.

این امر طراحی تدابیر امنیتی برای جلوگیری از این حمله یا هر حمله دیگری را برای هر کسی دشوار می کند. نگران‌کننده‌تر، طراحی مناسب ابزارها برای جلوگیری از گسترش آن‌ها در چشم‌انداز نقدینگی گسترده و قابل ترکیب DeFi را برای هر کسی دشوار می‌کند.

تحلیل ریسک روی زنجیره

اما این بدان معنا نیست که Curve هیچ کاری نمی‌توانست برای جلوگیری از این حمله و گسترش آن در سراسر DeFi انجام دهد. یک مثال ساده از یک راه حل، تحلیل ریسک روی زنجیره است.

نسخه تعمیم یافته یک الگوی مشکل ساز قابل حل را می توان در یک موقعیت فرضی مانند این خلاصه کرد:

  • بازیگر بد باب 5 میلیون دلار توکن $RISKY بسیار فرار را از طریق فلش وام خریداری می کند.

  • ارزش رمز $RISKY به طور موثر پس از خرید توسط باب پمپ می شود.

  • باب 100 میلیون دلار وام با حمایت $RISKY از Naive Finance می گیرد.

  • Naive Finance قیمت $RISKY را بررسی می‌کند و تأیید می‌کند که باب برای پول «خوب» است.

  • باب اجرا می‌شود.

  • وقتی Naive Finance $RISKY را نقد می‌کند، فقط 5 میلیون دلار ارزش دارد.

(نمونه دیگری از این الگوی کلی را می توان در هک اویلر از ماه مارس یافت.)

به طور سنتی، این مشکل با راه حل های تجزیه و تحلیل ریسک حل می شود که تعیین می کند یک دارایی چقدر می تواند تضمین کننده باشد. اگر آنها در زنجیره وجود داشتند، Naive Finance می‌توانست تخمین‌های آماری را بر اساس قیمت تاریخی توکن قبل از تأیید وام بررسی کند. پروتکل از طریق پمپ دیده می شد و باب 100 میلیون دلار را رد می کرد.

DeFi فاقد این نوع تحلیل و مدیریت ریسک در زنجیره است.

برگردیم به Curve Finance، اگر Aave و Frax زمانی که درصدی از عرضه در گردش توکن وثیقه را پشت سر می‌گذارند، محدودیت خودکار و زنجیره‌ای برای تاییدیه‌های وام داشتند، می‌توان از اسپرد جلوگیری کرد. این یک موقعیت امن تر و استرس زا کمتر برای همه خواهد بود.

بیان و منابع محدود

مشکل واقعی در اینجا این است که اکوسیستم های فعلی Web3 نمی توانند چیزی شبیه به این راه حل تحلیل ریسک روی زنجیره را پشتیبانی کنند. آنها توسط نوع کتابخانه ها و چارچوب هایی که در ماشین های مجازی مانند ماشین مجازی اتریوم در دسترس هستند محدود شده اند. آنها همچنین از نظر منابعی که در اختیار دارند محدود هستند.

به منظور توسعه چیزی شبیه به این تجزیه و تحلیل ریسک و راه حل مدیریت، یک برنامه غیرمتمرکز باید روی کتابخانه های کدگذاری حساب کند که دارای عملکردهایی برای حداقل مفاهیم اساسی ریاضی مانند لگاریتم و موارد دیگر هستند.

این مورد در Web3 نیست زیرا dApps به NumPy، ماژول ریاضی در پایتون، برای مثال، دسترسی ندارد. جعبه ابزار معمولی وجود ندارد و توسعه دهندگان باید چرخ را دوباره اختراع کنند.

پس مشکل دیگری داریم. حتی اگر آنها این کتابخانه ها را داشته باشند، برای کدنویسی بسیار گران هستند. به معنای واقعی کلمه گران است. ماشین مجازی اتریوم طوری طراحی شده است که برای هر محاسباتی قیمتی وجود دارد.

در حالی که دلایل معتبری برای این کار وجود دارد، مانند جلوگیری از حلقه‌های بی‌نهایت و مواردی از این قبیل، محدودیت منابعی را نیز برای dAppهایی ایجاد می‌کند که ممکن است نیاز به مقیاس‌بندی محاسباتی بدون تحمیل هزینه‌های غیرمنطقی داشته باشند. می توان به راحتی متوجه شد که چگونه یک راه حل مدیریت ریسک هزینه بیشتری نسبت به هزینه ای که می تواند در بودجه پس انداز کند، دارد.

تمرکز روی مشکلات درست

در سطح محلی، گسترش بن بست Curve Finance را می توان با مدیریت ریسک در زنجیره جلوگیری کرد. در یک سطح کلی، کل این دسته از حملات را می توان با بیان بیشتر و منابع در Web3 جلوگیری کرد.

اینها دو جنبه از مقیاس پذیری بلاک چین هستند که مدت هاست نادیده گرفته شده اند زیرا فراتر از فراهم کردن فضای بلوک مشترک بیشتر برای dApps هستند. آنها در واقع شامل ایجاد محیط های توسعه در Web3 هستند که از Web2 تقلید می کنند. آنها در مورد مقیاس‌پذیری محاسباتی و برنامه‌نویسی هستند، نه فقط مقیاس‌بندی مقدار داده‌های موجود در زنجیره.

شاید اگر توسعه دهندگان پروتکل در Curve، Aave یا Frax توانایی حساب کردن روی جعبه ابزار بهتر و منابع بیشتر را داشته باشند، می‌توان از این و سوء استفاده‌های آتی به‌کلی اجتناب کرد. شاید بتوانیم با مدیریت ریسک روی زنجیره شروع کنیم.

متن اصلی خبر : Forkast News•6 hours ago