رمزگشایی #05 | چرا وام های فلش نوع جدیدی از حمله هستند؟

وام های فلش اخیراً مورد توجه قرار گرفته اند زیرا حوادث بیشتری از سرقت پول از پروتکل های DeFi اتفاق می افتد ...

وام های فلش اخیراً مورد توجه قرار گرفته اند، زیرا حوادث سرقت پروتکل DeFi بیشتر اتفاق می افتد، از هک شدن Harvest Finance به مبلغ بیش از 33 میلیون دلار تا آخرین حادثه OUSD. 7 میلیون دلار ماینینگ. 

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

ما نمی دانیم این مهاجمان چه کسانی هستند و از کجا آمده اند. همه آنها بدون هیچ چیز شروع کردند و با صدها هزار دلار پول رفتند و هیچ ردی برای شناسایی باقی نگذاشتند. 

وام های فلش چیست؟ 

مفهوم وام های فلش اولین بار توسط مکس وولف، خالق پروتکل مرمر، در سال 2018 معرفی شد.

وام‌های فلش که معمولاً برای اتریوم یا ERC20 استفاده می‌شوند، فقط برای مدت زمان لازم برای تکمیل یک بلوک تراکنش‌ها در بلاک چین قرض گرفته می‌شوند. تا زمانی که وام قبل از شروع بلوک بعدی معاملات بازپرداخت شود، وام گیرنده هزینه بهره را متحمل نخواهد شد.

اگر وام دهندگان سنتی دو نوع ریسک را متحمل شوند: ریسک پیش‌فرض یا ریسک نقدینگی، وام‌های فلش این دو مشکل را حل می‌کند. اساساً وام های فلش به این صورت عمل می کنند: 

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

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

وام دهندگان سنتی برای دو چیز جبران می‌شوند: ریسکی که می‌پذیرند (خطرات پیش‌فرض و عدم نقدینگی) و هزینه فرصت سرمایه‌ای که وام می‌دهند. 

وام های فلش متفاوت هستند. وام های فلش واقعا هیچ ریسک و هزینه فرصتی ندارند! این به این دلیل است که وام گیرندگان در طول مدت وام های فوری خود "زمان منجمد" دارند، بنابراین سرمایه سیستم هرگز در معرض خطر قرار نمی گیرد و هرگز خنثی نمی شود، بنابراین نمی تواند در جای دیگری سود کسب کند. (یعنی هزینه فرصت ندارد).

این بدان معناست که برای تبدیل شدن به یک وام دهنده فلش هزینه ای وجود ندارد. با این حال، هزینه وام های فلش در حالت تعادل چقدر است؟

اساسا وام های فلش رایگان هستند. یا بهتر است بگوییم، هزینه ای که برای استهلاک هزینه ها به اندازه کافی کم است شامل 3 خط کد اضافی است تا ملک بتواند به سرعت خود را وام دهد.

وام های فلش را نمی توان به روش سنتی بهره دریافت کرد، زیرا وام برای زمان صفر اعتبار دارد (هر آوریل * 0 = 0). و البته، اگر مؤسساتی که وام‌های فوری ارائه می‌دهند، نرخ‌های بهره بالاتری را در نظر بگیرند، به سرعت توسط سایر استخرهای وام‌دهی فوری، نرخ‌های بهره پایین‌تری دریافت خواهند کرد.

برخی از پروژه ها در حال حاضر از وام های فلش با کارمزد صفر مانند dYdX یا AAVE استفاده می کنند که 0.09٪ از اصل وام های فلش را دریافت می کنند. 

وام های فلش برای چه مواردی استفاده می شود؟ 

وام های فلش در ابتدا عمدتاً برای معاملات آربیتراژ شناخته می شدند. Marble، خالق منبع تعریف وام های فلش، می گوید: 

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

در واقع بیشتر وام ها برای این منظور استفاده می شود. 

رمزگشایی #05 |  چرا وام های فلش نوع جدیدی از حمله هستند؟

ولی حجمش خیلی کمه AAVE از زمان تأسیس خود بیش از 10 هزار دلار وام دارد. این در مقایسه با بازار آربیتراژ و انحلال در DeFi ناچیز است.

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

از سوی دیگر، وام گرفتن از AAVE حدود 80 هزار گاز هزینه دارد و 0.09٪ از سرمایه را دریافت می کند، قیمتی که برای یک آربیتراژ رقابتی با حاشیه کوچک بسیار گران است. در واقع، در اکثر معامله گران آربیتراژ AAVE، وام گیرنده در نهایت کارمزد بیشتری را به استخر وام می پردازد تا آن را که می گیرد.

در درازمدت، آربیتراژورها بعید است که از وام های فوری استفاده کنند مگر در شرایط استثنایی.

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

مثال: فرض کنید شما یک صندوق Maker (CDP) دارید که 100 دلار ETH در آن قفل شده است و 40 DAI از آن قرض گرفته‌اید. بنابراین شما یک موقعیت خالص 60 دلاری منهای بدهی دارید. اکنون می‌خواهید برای نرخ بهره بهتر  به Compound بازپرداخت کنید.

معمولاً لازم است 40 DAI از خارج بازخرید شود، شاید در آن صرافی برای تکمیل CDP، زیرا به سرمایه اولیه نیاز دارد. در عوض، می توانید وام سریع 40 DAI بگیرید، 100 دلار CDP ببندید، 60 دلار ETH قفل نشده را به Compound واریز کنید، 40 دلار دیگر ETH را از طریق Uniswap به DAI تبدیل کنید و از آن برای پرداخت وام های فلش استفاده کنید.

حملات وام فلش پیامدهای امنیتی بزرگی دارند 

اولین حوادث ناشی از هک bZx بود و شاید این مشعل بود که جرقه حملات بیشتری را برانگیخت.  

دو دلیل اصلی وجود دارد که چرا وام های فلش برای مهاجمان جذاب هستند.

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

وام های فلش خطر قرار گرفتن در معرض مهاجمان را کاهش می دهد. اگر ایده ای در مورد چگونگی دستکاری اوراکل با 10 میلیون دلار اتر داشته باشم، حتی اگر این مقدار اتر را داشته باشم، ممکن است نخواهم سرمایه خود را به خطر بیندازم. ETH من تحت تأثیر قرار می گیرد، صرافی ها ممکن است سپرده من را رد کنند و جریان پول برای من سخت تر خواهد شد. کاملا یک ریسک! اما اگر من یک وام سریع 10 میلیون دلاری بگیرم، چه کسی اهمیت می دهد؟ همه مخالفند اینطور نیست که استخر وام مسکن dYdX تحت تأثیر نامطلوب قرار گیرد زیرا وام های آن از آنجا می آید.

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

در وایت پیپر بیت کوین، ساتوشی بیان کرد که بیت کوین از حملات ایمن است زیرا:

«[مهاجم] باید بازی بر اساس قوانین […] را سودمندتر از تخریب سیستم و ارزش دارایی خود بداند.»

با وام های فلش، مهاجمان دیگر نیازی به خرج کردن پول زیادی برای بازی ندارند. وام های فلش به طور چشمگیری خطر را برای مهاجمان تغییر می دهد.

و به یاد داشته باشید، وام های فلش می توانند انباشته شوند! تحت سقف گاز، شما می توانید هر وجوه قابل وام سریع را در یک تراکنش (تا 50 میلیون دلار) جمع آوری کنید و تمام آن سرمایه را به یک قرارداد آسیب پذیر کاهش دهید. این یک خاطره عظیم 50 میلیون دلاری است که تا زمانی که پول وجود داشته باشد، هر کسی می تواند به آن بپیوندد. خیلی ترسناک است!

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

با این حال، می‌توانیم ببینیم که اتریوم تحت یک حمله 51 درصدی با قیمت کمتر از 200 هزار دلار در ساعت قرار دارد. اگر مدل امنیتی خود اتریوم اساساً بر اساس محدودیت‌های سرمایه ساخته شده است، چرا ما آنقدر سریع فرض می‌کنیم که برنامه‌های DeFi را می‌توان با موفقیت هک کرد و حداقل 10 میلیون دلار را پرداخت کرد؟

چگونه حملات فلش وام را کاهش دهیم؟

فرض کنید من یک پروتکل DeFi هستم و می خواهم از حمله وام های فلش جلوگیری کنم. اولین سوال این است که آیا می توانم تشخیص دهم کاربرانی که با من در تعامل هستند از وام های فلش استفاده می کنند یا خیر؟

راحت ترین پاسخ نه است!

EVM به خواهر و برادرها اجازه نمی‌دهد که حافظه را از هر قرارداد دیگری بخوانند. بنابراین اگر می خواهید بدانید در قرارداد دیگری چه خبر است، آن قرارداد به شما خواهد گفت. 

بنابراین، اگر می خواهید بدانید که آیا از وام های فلش استفاده می شود یا خیر، باید مستقیماً از قرارداد بپرسید. امروزه، بسیاری از پروتکل‌های وام دهی به چنین پرسش‌هایی پاسخ نمی‌دهند (و هیچ راهی برای اجرای کاری که یک وام دهنده سریع انجام می‌دهد وجود ندارد). 

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

درست مثل کسی که در خانه شما را می زند و با یک چمدان 10 میلیون دلاری جلوی شما می ایستد، نمی توانید تشخیص دهید که این پول اوست یا نه. درست؟ 

چگونه از حملات وام فلش در امان بمانیم؟ 

ارائه خدمات وام های فلش را متوقف کنید 

به طور جدی، تلاش برای ترغیب وام دهندگان به توقف ارائه وام های فوری مانند تلاش برای جلوگیری از آلودگی صوتی است. 

ارائه وام های سریع تابع منافع شخصی هر پروتکل است و دلایل خوبی وجود دارد که چرا کاربران آنها این قابلیت را می خواهند. بنابراین ما می توانیم با خیال راحت این را حذف کنیم. 

مجبور کردن تراکنش های مهم به دو بلوک

به یاد داشته باشید، وام های فلش به شما این امکان را می دهند که برای مدت یک تراکنش، پول قرض کنید. اگر شما درخواست یک تراکنش سرمایه بر دو بلوک را دارید، کاربران باید حداقل دو بلوک را قرض بگیرند و هرگونه حمله وام فلش را شکست دهند. (توجه: برای این کار، کاربران باید ارزش خود را بین دو بلوک قفل کنند و از بازپرداخت وام جلوگیری کنند).

بدیهی است که این منجر به یک مبادله UX می شود: به این معنی است که تراکنش ها دیگر هماهنگ نخواهند بود. برای کاربران جذاب است و همچنین کاملا امن به نظر می رسد.

بسیاری از توسعه دهندگان از عملیات قراردادهای هوشمند ناهمزمان، مانند تعامل با ارتباطات لایه 2 یا اشتراک گذاری متقابل در اتریوم 2.0 شکایت دارند. 

از قضا، ناهمزمانی در واقع این سیستم ها را از حملات وام فلش ایمن می کند، زیرا نمی توانید در یک تراکنش کوچک از یک قطعه یا لایه 2 عبور کنید. این به این معنی است که هیچ حمله وام فلش بر روی خرده‌های ETH 2.0 یا علیه لایه‌های 2 DEX وجود ندارد.

درخواست اثبات آنلاین موجودی قبلی کاربر

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

قبل از اینکه کاربر با پروتکل یک پلتفرم تعامل داشته باشد، پلتفرم به یک مدرک Merkle نیاز دارد که ثابت کند در پایان بلوک قبلی، موجودی کافی برای حساب کردن سرمایه ای که در حال حاضر استفاده می کند، دارد. پلتفرم باید این را برای هر کاربر در هر بلوک ردیابی کند.

این راه‌حل دارای پیچیدگی‌هایی است: تأیید این اثبات‌های زنجیره‌ای بسیار گران‌قیمت است و هیچ کاربر خوش‌نیتی نمی‌خواهد آنها را تولید کند و هزینه‌های گاز را برای کل آن بپردازد. از طرف دیگر، کاربران ممکن است به دلایل کاملاً قانونی، موجودی خود را زودتر در همان بلوک تغییر داده باشند. بنابراین از نظر تئوری شایستگی دارد، اما راه حل عملی نیست.

هیچ راه حل واحدی وجود ندارد که بتواند به طور کامل از حملات وام فلش جلوگیری کند، اما دو برنامه کاربردی خاص که می توانند این حملات را کاهش دهند عبارتند از: اوراکل قیمت گذاری مبتنی بر بازار و توکن های حاکمیت.

برای اوراکل قیمت‌گذاری مبتنی بر بازار مانند Uniswap یا OasisDEX، حملات وام‌های فلش شما را از استفاده از نرخ‌های فعلی متوسط ​​بازار مانند اوراکل باز می‌دارند. 

برنامه مهاجم این بود که میانگین قیمت بازار را در یک تراکنش جابجا کند و یک کرش فلش ایجاد کند و از نظر قیمت به اوراکل آسیب برساند.

بهترین راه حل در اینجا استفاده از میانگین وزنی آخرین بلوک های X از طریق TWAP یا VWAP است. Uniswap v2 این راه حل را ارائه می دهد. همچنین Polaris، یک رویکرد کلی برای ارائه میانگین متحرک برای پروتکل‌های DeFi وجود دارد، اما Polaris سال‌هاست که متوقف شده است. 

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

البته، بیشتر پروتکل‌های حاکمیتی به قفل توکن در طول رای‌گیری نیاز دارند که به شکست حملات وام‌های فلش کمک می‌کند. اما برخی از اشکال رأی‌گیری به این نیاز ندارند، مانند رأی‌گیری کربن یا قرارداد عملیاتی Maker. با حملات وام فلش امروزی، این فرم های رای گیری باید کاملاً شکسته در نظر گرفته شوند.

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

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

معنی در بلند مدت 

من معتقدم حملات bZx همه چیز را تغییر داد.

این آخرین حمله وام فلش نخواهد بود. حمله دوم bZx اولین کلون است و بعید می دانم در ماه های آینده موجی از حملات را ایجاد کند. 

و این به طور کامل اتفاق افتاد، در یک ردیف حملات وام فوری مانند Harvest Finance (33.8 میلیون دلار)، Value DeFi (7 میلیون دلار)، Akro (2 میلیون دلار)، Cheese Bank (3.3 میلیون دلار). USD) و اخیراً OUSD (7 میلیون دلار) رخ داد. میلیون تومان).

پایان 

این احتمالاً یکی از انگیزه های اتریوم برای تغییر سریع به اتریوم 2.0 است. DeFi در زنجیره PoW پایدار نیست، اگر پروتکل‌های DeFi روی خرده‌های جداگانه در اتریوم 2.0 وجود داشته باشند، در برابر وام‌های فلش آسیب‌پذیر نخواهند بود.

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

این مقاله از مقاله اصلی منتشر شده توسط Dragonfly Research ترجمه و ویرایش شده است. 



03 معتبرترین مبادلات تجاری سکه و مارجین (2021)

03 معتبرترین مبادلات تجاری سکه و مارجین (2021)

تازه واردها باید در کدام صرافی سکه معامله کنند؟ در این مقاله Coin98 3 معتبرترین صرافی های معاملاتی سکه در سال 2021 را معرفی می کند!

پروتکل رن 2021 - پتانسیل و فرصت توسعه چند زنجیره ای DeFi پس از خرید توسط Sam SBF FTX

پروتکل رن 2021 - پتانسیل و فرصت توسعه چند زنجیره ای DeFi پس از خرید توسط Sam SBF FTX

در مقایسه با WBTC با ارزش بازار 8 میلیارد دلار (رقیب مستقیم REN)، تعداد renBTC به دست آمده هنوز بسیار کم است. پس دلیل چیست؟

راهنمای کاربری تفصیلی Tabtrader برای تازه کارها

راهنمای کاربری تفصیلی Tabtrader برای تازه کارها

TabTrader برای چه مواردی استفاده می شود؟ چرا از TabTrader استفاده کنیم؟ راهنمای کاربر TabTrader با جزئیات و آسان برای تازه کارها را اینجا ببینید!!!

NFT Pandora - راهنمای NFT 2021

NFT Pandora - راهنمای NFT 2021

NFT Pandora - کتاب راهنمای NFT 2021. هر آنچه باید در مورد NFT در سال 2021 بدانید.

سقوط بیت کوین - سقوط بازار و بازیابی به اوج جدیدی رسید

سقوط بیت کوین - سقوط بازار و بازیابی به اوج جدیدی رسید

زمانی که بیت کوین سقوط کرد، زمانی بود که بازار «قرمز آتش» بود. بیایید با Coin98 افت شدید بیت کوین و بهبود بازار را بررسی کنیم.

3 نکته برجسته در توکنومیکس جدید ALPHA

3 نکته برجسته در توکنومیکس جدید ALPHA

این مقاله به شما دیدگاهی در مورد توکنومیک تعهدی هزینه آلفا می دهد، چه ویژگی خاصی در مورد آن دارد و چگونه بر سهامداران تأثیر می گذارد؟

مشتقات رمزنگاری چیست؟ انواع و خطرات معاملات مشتقات (2022)

مشتقات رمزنگاری چیست؟ انواع و خطرات معاملات مشتقات (2022)

مشتقات تن ها نقدینگی را به دنیای ارزهای دیجیتال کمک کرده اند. بنابراین مشتقات رمزنگاری چیست؟ در اینجا درباره تجارت مشتقات رمزنگاری بیشتر بدانید.

دقیق ترین کتابچه راهنمای SolFarm (2021)

دقیق ترین کتابچه راهنمای SolFarm (2021)

دستورالعمل استفاده از SolFarm برای کسب سود از طریق Farming، با عملیاتی مانند: تامین، برداشت نقدینگی و وام دادن.

Cream V2 & Iron Bank - نسیم جدیدی در DeFi Lending (قسمت 2)

Cream V2 & Iron Bank - نسیم جدیدی در DeFi Lending (قسمت 2)

مقاله ای در مورد بانک آهن، محصول کلیدی کرم V2. به ارتقاء وام دهی در DeFi به سطح بعدی کمک کنید.

5 سکه برجسته Web3 در سال 2021!

5 سکه برجسته Web3 در سال 2021!

Web3 یک موضوع بزرگ است و علاقه زیادی را از جامعه Crypto به خود جلب می کند. بنابراین، 5 سکه برتر Web3 در سال 2021 کدامند؟

Sign up and Earn ⋙
Sign up and Earn ⋙