حمله ساندویچی در دیفای چیست؟ معرفی راه هایی برای جلوگیری از حملات ساندویچی در ارز دیجیتال
انتشار: مرداد 24، 1402
بروزرسانی: 26 خرداد 1404

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


حمله ساندویچی (Sandwich Attack) در دیفای خیلی رایج است. این حملات که به منابع و انرژی کمتری از حملات بدافزاری نیاز دارند در واقع اعمال متقلبانه ای هستند که فرد به واسطه آن ها و به بهای ضرر سایر تریدرها، سود به دست می آورد. این حملات بیشتر صرافی های غیرمتمرکز را نشانه می گیرند و به آن ها آسیب می رسانند. در این مطلب به بخش های مختلف یک حمله پرداخته و در مورد نقش ربات ها و سایر منابع در این حملات و همچنین بهترین راهکار برای جلوگیری از حملات ساندویچی می پردازیم.

تعریف دیفای و نحوه کار آن

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

دیفای

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

توضیح اصطلاحات دیفای برای درک بهتر حمله ساندویچی

در حوزه دیفای چند عبارت نسبتا فنی و تخصصی وجود دارد که در ادامه توضیح کوتاهی برای هرکدام آورده شده است:

  • قرارداد هوشمند: تکه کدهایی که به عنوان قراردادهای خوداجراشونده عمل می کنند یعنی وقتی شرایط تعریف شده در قرارداد فراهم شود، به صورت خودکار اجرایی می شود. این قراردادها در دیفای بسیار محبوب و شناخته شده هستند.
  • صرافی های غیرمتمرکز (DEX): صرافی هایی که متکی بر قراردادهای هوشمند هستند امکان معاملات همتا به همتا و تراکنش های مستقیم که نیازی به واسطه های متمرکز ندارند را فراهم می کنند.
  • استخر نقدینگی: استخرهای توکن از قراردادهای هوشمند برای ایجاد نقدینگی در بازارهای خاص استفاده می کنند. صرافی های غیرمتمرکز برای تامین نقدینگی قابل سوآپ خود، به استخرهای نقدینگی وابسته هستند. نظارت بر کشف و تغییر قیمت در استخرهای نقدینگی بر عهده مارکت میکر (Market Maker) یا بازارگردان های خودکار (AMM) است.
  • لغزش قیمت یا اسلیپیچ: تفاوت قیمت بین یک معامله پیش بینی شده و یک معامله واقعی را اسلیپیج می گویند یعنی وقتی که معامله شما در قیمتی پایین تر یا بالاتر از قیمت پیش بینی شده، بسته شود. وقتی نقدشوندگی بازار پایین باشد می تواند باعث ایجاد نرخ های بالای اسلیپیج شود. تریدرهایی که در DEXها فعالیت می کنند باید برای حفظ امنیت سرمایه خود، محدوده یا تلرانس اسلیپیج خود را از قبل از انجام معامله تعیین کنند.
  • فرانت رانینگ: در دیفای، فرانت رانینگ مانند به دست آوردن یک سود اخلاقی در ترید، پیش از انجام آن ترید است. مهاجمان در حمله ساندویچی با اطلاع از سفارشات معلق، MEV و سایر جنبه ها، از فرانت رانینگ استفاده می کنند تا سفارشات را دستکاری کرده و از تفاوت آن ها سود به دست آورند.

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

آشنایی با بخش های مختلف حمله ساندویچی

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

مثال دیوید – راجر

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

فرضیه حمله

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

ترتیب تراکنش ها در حمله ساندویچی

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

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

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

برای درک بهتر این سناریو می خواهیم از ارزها و اعداد و ارقام واقعی استفاده کنیم.

حملات ساندویچی و محاسبات آن

حالا بیایید مثال دیوید – راجر را به صورت واقعی و با دارایی واقعی بازبینی کنیم. فرض کنید دیوید می خواهد ۱۰۰ اتر را با ۲۰۰ هزار دای (هر اتر معادل ۲۰۰۰ دای) در یک صرافی غیرمتمرکز و با استفاده از یک بازارگردان خودکار و استخر ETH-DAI آن، سواپ کند. به عبارت دیگر، دیوید انتظار دارد به ازای ۲۰۰۰۰۰ دای که سواپ می کند، ۱۰۰ اتر دریافت کند. این سناریوی ایده آل دیوید است.

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

راجر فورا یک سفارش خرید اتر ایجاد می کند، ۱۰۰ اتر در مقابل ۲۰۰۰۰۰ دای که شبیه به سفارش دیوید است. او حتی هزینه تراکنش بالاتری را پیشنهاد می دهد تا از قابلیت MEV استفاده کرده و تراکنش او از تراکنش دیوید جلوتر قرار بگیرد و در واقع روی سفارش دیوید، فرانت رانینگ انجام دهد.

این شرایط باعث می شود که قیمت ETH دچار تورم شده و مثلا به ازای هر اتر، ۲۱۰۰ دای پرداخت شود. بنابراین حالا که به دلیل فشار خرید ناگهانی، قیمت اتر افزایش پیدا می کند، نرخ تبادلی که دیوید برای سواپ کردن ۱۰۰ اتر خود با دای دریافت می کند، کمتر از چیزی است که انتظار داشت.

دیوید پیش بینی کرده بود که به ازای ۲۰۰۰۰۰ هزار دای خود ۱۰۰ اتر دریافت می کند، اما حالا فقط تقریبا ۹۵ اتر به دست می آورد. البته، سفارش خرید دیوید دوباره قیمت اتر را افزایش خواهد داد که به نفع راجر است. وقتی تراکنش زیان ده دیوید کامل می شود، راجر یک سفارش فروش (تراکنش بک رانینگ) ثبت می کند تا از شر همه آن ۱۰۰ اتری که خریده است، راحت شود. به این ترتیب، او به ازای هر اتر، ۱۰۰ دای سود به دست می آورد.

تعریف نرخ تبدیل و اسلیپیج

احتمالا تا اینجا حسابی گیج شده اید: چرا دیوید نرخ تبادل بدی به دست آورد و ضرر کرد اما وقتی راجر ۱۰۰ اتر خود را فروخت، نرخ ۲۱۰۰ دای به ازای هر اتر به او داده شد؟

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

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

مهاجمان در این نوع حمله پیش از آن که AMM بتواند نرخ تبادل را به حالت عادی برگرداند، تراکنش های ساندویچی را با استفاده از ربات و ابزارهایی خاص و با سرعتی غیرعادی انجام می دهند. چنین اتفاقی اخیرا برای یک دسته از میم کوین ها مانند PEPE، CHAD و WOJAK رخ داد.

حمله ساندویچی به په په و سایر میم کوین ها

میم کوین په په که نام خود را از میم یک قورباغه الهام گرفته، به تازگی به جمع میم کوین ها پیوسته است. از اواسط آوریل ۲۰۲۳، په په به کانون حملات ساندویچی، ربات های MEV و تمام حملات فرانت رانینگی که وجود داشت، تبدیل شد. اما قبل از پرداختن به این حملات بهتر است چشم انداز مختصری نسبت به این میم کوین داشته باشید.

شبکه توکن پپه از همان ابتدا هم نقدینگی زیادی نداشت و مردم اصلا آن را نمی شناختند. اما وقتی توییتی منتشر شد که گفته بود یک آدرس به نام dimethyltryptamine.eth (Milady) که ۲۵۰ دلار په په داشته حالا قیمت موجودی آن ۱.۵ میلیون دلار افزایش پیدا کرده است، همه چیز تغییر کرد. این آدرس کار زیادی نکرده بود فقط ۵.۹ تریلیون توکن په په را با ۱۲۵/۰ اتر سواپ کرده بود. این نتیجه خوش بینی است.

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

حمله ساندویچی به PEPE

گرچه قیمت په په در حال افزایش بود اما یک آدرس دیگر به نام jaredfromsubway.eth\xa0 از ربات های MEV برای فرانت رانینگ کردن تراکنش های خرید در شبکه، استفاده کرد و مانند تمام نمونه های دیگر از حمله ساندویچی، این فرانت رانینگ\xa0 پی درپی باعث شد قیمت په په بالاتر رود.

کارمزد تراکنش در حمله ساندویچی

داده های مربوط به کارمزد تراکنش که توسط موسسه Dune Analytics منتشر شده است این آدرس را به عنوان پرمصرف ترین آدرسی معرفی کرد که ۷/۵ درصد از کل هزینه تراکنش را به خود اختصاص داده بود. به دلیل این که فرانت رانینگ می تواند قیمت دارایی را بالا ببرد نمی توان نقش حمله ساندویچی با ربات MEV را در بالا بردن ارزش موجودی های آدرس dimethyltryptamine.eth، نادیده گرفت.

ربات ساندویچی و جهش قیمت در په په و CHAD

نقش ربات های ساندویچی در بالا بردن قیمت ها فقط محدود به میم کوین په په نیست. پروژه دیگری به نام چاد کوین (Chad Coin) از ۲۰ آوریل ۲۰۲۲ بیش از ۵۱ درصد رشد داشته است و دلیل آن هم ربات های حملات ساندویچی است. برای مثال، آدرس jaredfromsubway.eth\xa0در مدت ۲۴ ساعت بیش از ۲۸/۱ میلیون دلار هزینه تراکنش پرداخت کرده تا معاملات کابران از همه جا بی خبر په په و CHAD را فرانت رانینگ کند.

حملات ساندویچی پی در پی که توسط jaredfromsubway.eth انجام شده از ۱۸ آوریل ۲۰۲۳ سودی معادل ۴/۱ میلیون دلار برای او به همراه داشته است. این سود به بهای ضرر تریدرهایی است که مجبور شدند PEPE و CHAD را به قیمت های بالاتر بخرند.

فعالیت این ربات های ساندویچی در ۱۹ آوریل ۲۰۲۲ به بالاترین حد خود رسید و میانگین هزینه تراکنش تا Gwei ۱۱۹ افزایش پیدا کرد.

حمله ساندویچی با ربات

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

آیا سناریوهای دیگری هم برای حملات ساندویچی وجود دارد؟

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

حذف نقدینگی از استخر در حمله ساندویچی

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

حمله چند مهاجم در حملات ساندویچی

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

پیامدهای حمله ساندویچی چیست؟

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

۱. عواقب حمله ساندویچی برای تریدرها

  • بالا رفتن احتمالا از دست دادن پول به دلیل نوسان نرخ تبادل بین دارایی ها
  • کاهش ورود تریدرها به اکوسیستم دیفای و پایین آمدن فعالیت و نقدینگی در اکوسیستم

۲. عواقب حمله ساندویچی برای اکوسیستم دیفای

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

نحوه پیاده سازی حمله ساندویچی

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

نقش ربات ها در حمله ساندویچی

مهاجمان از ربات ها برای اسکن کردن استخر حافظه و پیدا کردن تراکنش های معلق استفاده می کنند. آنها معمولا به دنبال معاملات یا سواپ های سنگین می گردند. وقتی هدف موردنظر خود را پیدا کردند، از الگوریتم های تریدینگ پرسرعت استفاده می کنند تا تراکنش هدف را فرانت رانینگ کرده و سفارشات بک رانینگ فروش را برای سود گرفتن از بازار یا عدم تعادلی که به دلیل سفارشات خرید آنها در استخر ایجاد شده است، ثبت کنند. فرانت رانینگ کردن خریداران PEPE و CHAD یکی از جدیدترین نمونه ها از استفاده از ربات های MEV یا ربات های ساندویچی است.

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

تراکنش های آسیب پذیر در برابر حمله ساندویچی

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

استخر نقدینگی دارای خزانه های اختصاصی مثلا به نام های r1 و r2 است مثل خزانه های اتر و دای که بالاتر در مثال راجر و دیوید به آن اشاره کردیم. فرض کنید که هزینه تراکنش ۳/۰٪ از دارایی ورودی است – در مثال دیوید دای دارایی ورودی بود و ‘a’ تعداد دارایی هایی که تریدر قصد سواپ کردن آنها را دارد – تعداد دارایی هایی که فرد با سواپ به دست می آورد را می توان با استفاده از فرمول زیر تعیین کرد:

حملات ساندویچی

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

اهمیت نقدینگی

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

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

تکنیک های مهاجمان در حملات ساندویچی

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

  • مهاجم چندین تراکنش شبیه به تراکنش های قربانی ایجاد کرده اما کارمزد بالاتری برای آنها تعیین می کند
  • از ربات ها برای رصد کردن استخر حافظه استفاده می کنند
  • آنها از ترکیبی از market order و limit order استفاده می کنند تا یک لغزش قیمت پیش بینی نشده ایجاد کرده و معاملات خود را با سود به پایان برسانند
  • آنها حتی از وام فلش (Flash Loan) برای قرض گرفتن پول و برگرداندن آن به استخر نقدینگی و دستکاری تریدها استفاده می کنند

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

جلوگیری از حملات ساندویچی و کاهش اثرات منفی آن

گرچه ممکن است بعضی ها تراکنش های ساندویچی را به عنوان حمله در نظر نگیرند و آن را مصداق ضرب المثل «تا تنور داغ است نان را بچسبان» بدانند اما این کار از لحاظ اخلاقی درست نیست. در زیر با بعضی از نکاتی که شما را از حملات ساندویچی در امان نگه می دارد، آشنا خواهید شد.

  • به عنوان یک تریدر باید از ثبت تراکنش های سنگین در ساعات اوج شلوغی شبکه خودداری کنید مخصوصا وقتی که نوسان بازار شدید است.
  • تریدرها باید همیشه از ابزارهای شناسایی و محافظت در برابر اسلیپیچ استفاده کنند. توجه داشته باشید که اگر قابلیت محافظت در برابر اسلیپیج برای حفظ ایمنی شما جلوی انجام تراکنشی را گرفت، هزینه آن تراکنش همچنان برقرار است و باید پرداخت شود.
  • تریدرها باید تمام بخش های تراکنش شامل هزینه تراکنش، نرخ تبدیل و مقدار تراکنش را قبل از انجام معامله، با دقت بررسی کنند.
  • در زمان استفاده از استخرهای نقدینگی نباید از اینترنت ناامن مثل اینترنت های عمومی در فرودگاه و کافه ها استفاده کنید
  • استراتژی های ضد فرانت رانینگ مانند تراکنش های Flashbot به صورت فعال در تمامی پلتفرم های دیفای اجرا می شوند تا تریدرهای بتوانند به صورت مستقیم به ولیدیتورهای مورداعتماد وصل شده و تراکنش خود را کامل کنند.
  • استخرهای نقدینگی در حال تحقیق برای پیدا کردن روش های جدید مسدود کردن ربات های MEV هستند تا فرآیند ارسال و تایید تراکنشی که با کارمزد بالاتر تاییدشده است را از بین ببرند.

بعضی از استخرهای نقدینگی از روش «تقسیم سفارش» به عنوان یک استراتژی استاندارد برای کاهش ریسک حمله ساندویچی استفاده می کنند. در این روش، سفارشات بزرگ به سفارش های کوچک تر تقسیم می شوند تا طعمه حمله ساندویچی قرار نگیرند.

نمونه هایی از حملات ساندویچی واقعی

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

حمله به یونی سوآپ

استخر نقدینگی یونی سوآپ اخیرا شاهد افت ارزش ۲/۲۵ میلیون دلاری خود بود که این سرقت می توانست کار ولیدیتورها باشد. حتی پلتفرم امنیت بلاکچین PeckShield Alert هم در مورد عاملان این سرقت و نحوه انجام آن و جایی که پول ها منتقل شده بودند، یک توییت منتشر کرد.

حمله به ForceDAO

این حمله در آوریل ۲۰۲۱ انجام شد که طی آن، مهاجمان از ترکیبی از سفارشات خرید و فروش و وام های فلش برای دستکاری بازار استفاده کردند. حمله به پروژه دیفای ForceDAO منجر به زیان ۳۶۷۰۰۰ دلاری شد.

حمله به پروژه Cream Finance

فوریه ۲۰۲۱ حمله به پروژه Cream Finance زیان هنگفت ۵/۳۷ میلیون دلاری را به همراه داشت. این حمله مشابه به حمله ForceDAO بود و از وام های فلش و تراکنش های ترکیبی با کارمزد بالا برای دستکاری بازار استفاده شده بود.

ساندویچ نه چندان سالم

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

۱. نشانه های احتمال حمله ساندویچی چیست؟

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

۲. اقدامات ایمنی صرافی های غیرمتمرکز در برابر حملات ساندویچی چیست؟

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

۳. امکان حمله ساندویچی در صرافی های متمرکز هم وجود دارد؟

بله اما صرافی های غیرمتمرکز به دلیل قابل مشاهده بودن تراکنش ها و نقدینگی پایین، بیشتر هدف این حملات قرار می گیرند.

۴. آیا حمله ساندویچی غیرقانونی است؟

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



منبع: https://iranbroker.net/what-is-sandwich-attack-in-defi-ecosystem/