حمله ساندویچی یکی از دستکاریهایی پیچیدهای است که در دنیای دیفای یا خدمات مالی غیرمتمرکز وجود دارد. دلیل نامگذاری این حمله و قرار دادن نام ساندویچ در آن به خاطر چگونگی انجام این تهاجم است. در این مقاله از بینوست به سؤال حمله ساندویچی چیست، با ذکر مثال پاسخ میدهیم و به راهکارهای مبارزه با آن اشاره میکنیم. اگر میخواهید بیشتر با مفهوم دیفای آشنا شوید، مقاله دیفای چیست را نیز مطالعه کنید.
خلاصه مقاله
- در ساندویچ اتک فرد مهاجم، تراکنش قربانی را بین تراکنشهای خود همچون ساندویچ میپیچد و از سفارشی که قربانی برای معامله گذاشته؛ سوءاستفاده میکند.
- صرافیهای غیرمتمرکز در برابر حمله ساندویچی قرار دارند.
- انتظارات تریدر در رابطه با قیمت بر حمله ساندویچی اثر میگذارد.
- زمانی که میزان سود از کارمزد گس بیشتر شود، حمله ساندویچی رخ میدهد.
- با پرداخت کارمزد بیشتر و کاهش محدوده اسلیپیج میتوانید از حمله ساندویچی جلوگیری کنید.
ساندویچ اتک (Sandwich Attack) چیست؟
اولین سوال این است که حمله ساندویچی چیست؟ حمله ساندویچی یا ساندویچ اتک نوعی فرانت رانینگ است که طی آن مهاجم دو تراکنش را قبل و بعد از تراکنش قربانی قرار میدهد و انگار با گذاشتن تراکنش قربانی در وسط تراکنشهای خود، آن را مانند یک ساندویچ میپیچد.
در حمله فرانت رانینگ فردی با آگاهی بیشتر یا سیستم کامپیوتری سریعتر از سفارش معاملهای سوءاستفاده میکند که قرار است در یک پلتفرم مالی مثلاً یک صرافی ارز دیجیتال انجام شود. نخستین بار ویتالیک بوترین در سال 2018 به این حمله اشاره کرده است. حمله ساندویچی در دیفای یک استراتژی موذیانه است که برخی از تریدرها برای دستکاری قیمت رمزارزها یا توکنها در صرافیهای غیرمتمرکز به کار میبرند.
فرض میکنیم شما میخواهید یک رمزارز خاص را بخرید و قیمت فعلی آن 100 دلار است. مهاجم فوری از سفارش خرید شما آگاه شده و بلافاصله یک سفارش قبل از شما و یک سفارش بعد از شما قرار میدهد. به عنوان نمونه یک سفارش فروش برای همان رمزارز با قیمتی کمی بالاتر مثلاً 101 دلار و یک سفارش خرید پایینتر از قیمت شما مثلاً 99 دلار میگذارد.
وقتی سفارش خرید شما اجرا میشود، ابتدا سفارش فروش مهاجم انجام شده و رمزارز را با قیمت 101 دلار به شما میفروشد. سپس سفارش خرید مهاجم اجرا شده و همان رمزارز را به قیمت 99 دلار مجدد از شما میخرد. اگر 101 را از 99 دلار منها کنیم، متوجه میشوید که مهاجم با پول و به خرج شما، 2 دلار سود به دست آورده است. حمله ساندویچی باعث میشود که بیشتر از ارزش واقعی یک رمزارز، بابت آن پول پرداخت کنید و مهاجم از این اختلاف قیمت سود ببرد.
چرا صرافیهای غیرمتمرکز در برابر حمله ساندویچی آسیبپذیر هستند؟
صرافیهای غیرمتمرکز به خاطر ماهیت باز و شفاف خود در معرض سوءاستفاده تریدرهای فرصت طلب هستند. در زیر به چند دلیل آسیبپذیری این صرافیها اشاره میکنیم.
شفافیت
صرافیهای غیرمتمرکز در بلاکچین فعالیت میکنند که در آنجا همه تراکنشها توسط همه افراد قابل مشاهده هستند. این شفافیت بدین معناست که هر فردی میتواند پندینگ اردر (Pending Order) یا سفارشات در حال انتظار و جزئیاتش از جمله قیمت و مقدار آنها را ببیند.
نبود یک قدرت مرکزی
نبود یک قدرت مرکزی هم مزیت محسوب میشود و هم جزو معایب است. نبود یک نهاد یا واسطه مرکزی که بر تراکنشها نظارت کند، به این معناست که فردی وجود ندارد که معاملات را قانونگذاری کرده یا از برخی اقدامات خاص جلوگیری نماید.
قراردادهای هوشمند تغییرناپذیر
معمولاً صرافیهای غیرمتمرکز، قراردادهای هوشمند را به کار برده تا معاملات راحتتر انجام شوند. وقتیترید یا معامله آغاز میشود، غیرقابل بازگشت بوده و قرارداد هوشمند معامله را براساس قوانین از پیش تعیین شده انجام میدهد. امکان دارد از این تغییرناپذیری در حملات ساندویچی سوءاستفاده شود.
به صورت خلاصه ماهیت شفاف و باز صرافیهای غیرمتمرکز به همراه استفاده از قراردادهای هوشمند کار را برای مهاجمان سادهتر میکند تا فرصتهایی را تشخیص داده و با فعالیتهایی مانند ساندویچ اتک از این فرصتها سوءاستفاده کنند.
بیشتر بخوانید: قرارداد هوشمند چیست
آیا میتوان حمله ساندویچی را تشخیص داد؟
اول از همه باید به خاطر بسپارید که حملات ساندویچی، صرافیهای غیرمتمرکز یا پلتفرمهای دیفای را هدف قرار میدهند که از بازارساز خودکار (AMM) استفاده میکنند. از نمونههای این گونه پلتفرمها میتوان به یونی سواپ، سوشی سواپ، پنکیک سواپ و سایر موارد اشاره کرد. همچنین لازم به ذکر است که انتظارات تریدر در رابطه با قیمت انجام معامله و تفاوت آن با قیمت واقعی میتواند بر احتمال وقوع ساندویچ اتک یا حمله ساندویچی تأثیر بگذارد. در بخش زیر دو سناریوی رایج حمله ساندویچی در پلتفرمهای دیفای را مشاهده میکنید.
لیکوئیدیتی تیکر در برابر تیکر
نشانههای یک حمله ساندویچی زمانی قابل مشاهده است که تیکرهای نقدینگی با هم رقابت میکنند. شما میتوانید نمونههایی از این سناریو را زمانی مشاهده کنید که یک مارکت میکر یا بازارساز تراکنشهای در حال انتظاری را در بلاکچین دارد. مهاجم تراکنشهای فرانت رانینگ و بک رانینگ را بر چنین تراکنشهایی آغاز کرده تا به سود مالی دست یابد. از مشخصات استخرهای نقدینگی و جفت معاملاتی، تراکنشهای در حال انتظار است. بنابراین ماینرها در مورد اولین تأیید تراکنشها تصمیم میگیرند.
وقتی مهاجم نسبت به قربانی کارمزد تراکنش بالاتری را میپردازد، شبکه تمایل خود را به تراکنش مخرب نشان میدهد. اگرچه این کار برای حمله ساندویچی کارآمد نیست، اما سهولت انجام این حملات را توضیح میدهد.
بیشتر بخوانید: استخر نقدینگی چیست
تأمین کننده نقدینگی در مقابل لیکوئیدیتی تیکر
تأمینکنندگان نقدینگی نیز ممکن است به لیکوئیدیتی تیکرها حمله کنند. نمونهای از حملات این است که مهاجم، نقدینگی یا لیکوئیدیتی را به عنوان روشی از فرانت رانینگ حذف میکند. فرانت رانینگ، مقدار اسلیپیج یا مقدار لغزش قیمت را برای قربانی افزایش میدهد و سپس مهاجم برای ثبات در استخر دوباره نقدینگی را اضافه میکند. برداشت نقدینگی پیش از تأیید تراکنش قربانی میتواند کارمزد کمیسیون تراکنش مربوطه را از میان بردارد.
لازم به توضیح است که اسلیپیج یا لغزش قیمت به معنای حداکثر انحراف از قیمتی است که کاربر انتظار دارد و متمایل است که آن را پرداخت کند.
چه زمانی حمله ساندویچی برای مهاجم سودآور است؟
همیشه این طور نیست که اتک ساندویچ برای مهاجم سودآور باشد. برای اینکه مهاجم به سود برسد، باید دو شرط زیر برقرار باشند.
- میزان سود از کارمزد گس بیشتر شود.
- اسلیپیج یا لغزش قیمت متعادل باشد.
بیشتر بخوانید: کارمزد شبکه بلاکچین
چگونه از حملات ساندویچی در امان بمانیم؟
بعد از فهمیدن اینکه حمله ساندویچی چیست، اکنون نوبت به چگونگی مقابله با آن می رسد. در بخش زیر چند راهکار برای پیشگیری از حملات ساندویچی وجود دارند.
پرداخت کارمزد بیشتر
بیشتر اوقات کاربران تراکنش یا معامله خود را در صف انتظار گذاشته و منتظر میمانند که هزینههای تراکنش کاهش یابد. کاربران آزادی انتخاب دارند که چه مقدار کارمزدی را برای تأیید تراکشی خاص در بلاکچین حاضرند بپردازند. زیرا معمولاً هر چه کارمزد تراکنشی که برای انجام معامله بیشتر باشد، زودتر تراکنش شما تأیید و انجام میشود.
مهاجمان برای حمله از ابزار پیچیدهای مانند رباتهای حمله و سرعت بیشتر در هدف قرار دادن تراکنش در حال انتظار استفاده میکنند. در مقابل شما میتوانید با پرداخت کارمزد بیشتر، باعث شوید تراکنشها زودتر انجام شده و از تلهٔ مهاجمان ساندویچی فرار کنید. در نتیجه این گونه، حمله برای مهاجمان سودآور نخواهد بود.
محافظت در برابر رباتهای حملات ساندویچی
حملات ساندویچی با ظهور رباتهایی برای این گونه حملات پیچیدهتر شدهاند. یکی از کارهای مورد اطمینان برای ایمنی در برابر چنین حملاتی، استفاده از خدمات حفاظتی MEV است. این خدمات از اوراکل، الگوریتمها و قراردادهای هوشمند برای شناسایی و پیشگیری از ساندویچ اتک استفاده میکنند. با این حال دسترسی محدود به این خدمات یکی از چالشهای کاربران است.
محدوده اسلیپیج خود را کمتر بگذارید
یکی دیگر از روشها برای جلوگیری از ساندویچ اتک، محدوده اسلیپیج یا میزان تحمل لغزش قیمت است. این امر به بیشترین درصد نوسانات قیمتی اشاره میکند که کاربر برای تأیید ترید میتواند آن را قبول کند. به عنوان نمونه اگر کاربری محدوده اسلیپیج یا میزان تحمل اسلیپیج یا لغزش قیمت خود را 1 درصد تعیین کند، تراکنش در صورتی که افزایش قیمت از زمان آغاز تراکنش و تا پایان آن از 1 بیشتر شود؛ لغو خواهد شد. کاربران میتوانند با کاهش محدوده اسلیپیج جهت جلوگیری از پرداخت بیشتر بابت تراکنشهای خود، ریسک حملات ساندویچی دیفای را کاهش دهند. تحمل اسلیپیج پایینتر به افزایش شانس در مقابله با دستکاری قیمتها کمک میکند.
بیشتر بخوانید: دیفای 2 چیست
سخن پایانی
در کل حمله ساندویچی، یک استراتژی فریبکارانه و نوعی دستکاری در قیمت است که در فضای دیفای صورت میگیرد. در این حمله، مهاجم به هزینه قربانی سود میبرد و با ساندویچ یا لقمه کردن تراکنش او با تراکنشهای خود به هدفش میرسد. البته در این مقاله به راهکارهای مقابله با ساندویچ اتک یا حمله ساندویچی علاوه بر پاسخ دادن به سؤال حمله ساندویچی چیست، اشاره کردیم. اگر در این مورد سؤال یا نظری دارید، در بخش نظرات مطرح کنید.
مشاوره رایگان سرمایه گذاری ارز دیجیتال
اگر در مورد سرمایه گذاری در بازار ارز های دیجیتال یا استفاده از سبد های سرمایه گذاری بینوست سوال دارید فرم زیر را پر کنید تا در سریعترین زمان کارشناسان بینوست با شما تماس بگیرند .