icon icon Home
icon icon Accounts
icon icon Quick start
icon icon Symbols

حمله ساندویچی (Sandwich Attack)؛ چگونه ربات‌های MEV از سواپ شما سود می‌کشند

نویسنده
شهاب سهرابی
شهاب سهرابی
calendar آخرین بروزرسانی: 24 آبان 1405
watch زمان مطالعه 9 دقیقه

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

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

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

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

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

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

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

ساختار حمله ساندویچی در یک بلاک؛ خرید ربات، سواپ کاربر و فروش ربات به ترتیب پشت سر هم
ساختار حمله ساندویچی در یک بلاک؛ خرید ربات، سواپ کاربر و فروش ربات به ترتیب پشت سر هم.

حمله ساندویچی چطور کار می‌کند؟ گام به گام

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

گام اول: شکار تراکنش در ممپول

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

گام دوم: خرید جلوتر از شما

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

گام سوم: اجرای سواپ شما با قیمت بدتر

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

گام چهارم: فروش پشت سر شما

ربات بلافاصله پس از شما، توکن‌هایی را که ارزان خریده بود گران‌تر می‌فروشد؛ این بخش بک ران نام دارد. هر سه تراکنش معمولاً در یک بلاک و ظرف چند ثانیه انجام می‌شود.

مراحل حمله ساندویچی؛ شکار تراکنش در ممپول، خرید جلوتر از کاربر، اجرای سواپ کاربر با قیمت بدتر و فروش ربات
مراحل حمله ساندویچی؛ شکار تراکنش در ممپول، خرید جلوتر از کاربر، اجرای سواپ کاربر با قیمت بدتر و فروش ربات.
sms-star

نکته
حمله ساندویچی برای خود ربات هم خطر دارد. طبق ethereum.org، این حمله برخلاف آربیتراژ در یک تراکنش واحد انجام نمی‌شود و ربات ممکن است در دام توکن‌هایی بیفتد که برای فریب ربات‌ها طراحی شده‌اند.

مثال عددی حمله ساندویچی

استخری با فرمول بازارساز خودکار را در نظر بگیرید که ۱٬۰۰۰ اتر و ۲٬۰۰۰٬۰۰۰ تتر دارد؛ یعنی هر اتر ۲٬۰۰۰ تتر. شما با ۱۰۰٬۰۰۰ تتر اتر می‌خرید و حد اسلیپیج را ۳ درصد گذاشته‌اید. برای ساده‌سازی، کارمزد استخر و گس را حساب نمی‌کنیم.

بدون حمله، حدود ۴۷٫۶۲ اتر می‌گیرید و میانگین قیمت خرید شما حدود ۲٬۱۰۰ تتر می‌شود، چون سفارش بزرگتان خودش قیمت را بالا می‌برد. حداقل قابل قبول شما با حد ۳ درصد، حدود ۴۶٫۱۹ اتر است.

حالا ربات پیش از شما با ۳۰٬۰۰۰ تتر حدود ۱۴٫۷۸ اتر می‌خرد و قیمت را به حدود ۲٬۰۶۰ تتر می‌رساند. سفارش شما ۴۶٫۲۶ اتر برمی‌گرداند که هنوز بالاتر از حداقل شماست، پس تراکنش موفق می‌شود. سپس ربات اترهایش را حدود ۳۳٬۰۰۰ تتر می‌فروشد؛ یعنی سود ناخالص حدود ۳٬۰۰۰ تتر، و شما حدود ۱٫۳۶ اتر یا نزدیک ۲٫۹ درصد کمتر گرفته‌اید.

شاخصبدون حملهبا حمله ساندویچی
خرید ربات پیش از کاربرندارد۳۰٬۰۰۰ تتر، حدود ۱۴٫۷۸ اتر
قیمت اتر هنگام اجرای سفارش کاربر۲٬۰۰۰ تترحدود ۲٬۰۶۰ تتر
اتر دریافتی کاربر با ۱۰۰٬۰۰۰ تترحدود ۴۷٫۶۲ اترحدود ۴۶٫۲۶ اتر
میانگین قیمت خرید کاربرحدود ۲٬۱۰۰ تترحدود ۲٬۱۶۲ تتر
سود ناخالص ربات پیش از هزینه‌هاصفرحدود ۳٬۰۰۰ تتر

مثال عددی حمله ساندویچی در یک استخر فرضی

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

مثال عددی حمله ساندویچی؛ مقدار اتر دریافتی کاربر با و بدون حمله و سود ناخالص ربات
مثال عددی حمله ساندویچی؛ مقدار اتر دریافتی کاربر با و بدون حمله و سود ناخالص ربات.

نقش اسلیپیج در سواپ و حمله ساندویچی

اسلیپیج تفاوت قیمت مورد انتظار و قیمت اجرای واقعی است. در سواپ، با تعیین حد اسلیپیج (Slippage Tolerance) مشخص می‌کنید حاضرید حداکثر چند درصد بدتر از قیمت اعلام‌شده معامله کنید؛ اگر قیمت بیش از این حد بدتر شود، تراکنش لغو می‌شود.

همین عدد برای ربات ساندویچ نقشه راه است؛ ربات قیمت را تا جایی بالا می‌برد که سفارش شما درست کمی بالاتر از این حد اجرا شود. در مثال بالا، با حد ۱ درصد سود ناخالص ربات به حدود ۱٬۰۰۰ تتر محدود می‌شد. پس اگر نتیجه سواپی تقریباً به اندازه کل حد اسلیپیج بدتر از پیش‌نمایش بود، به حمله ساندویچی مشکوک شوید.

حد اسلیپیجفضای مانور ربات در مثال ماریسک لغو شدن تراکنش
۱ درصدکم؛ خرید جلویی حدود ۱۰٬۰۰۰ تتر و سود ناخالص حدود ۱٬۰۰۰ تتربیشتر، به‌ویژه در بازار پرنوسان
۳ درصدمتوسط؛ خرید جلویی حدود ۳۰٬۰۰۰ تتر و سود ناخالص حدود ۳٬۰۰۰ تترکمتر
۱۰ درصد یا بیشترزیاد؛ ربات می‌تواند قیمت شما را تا همین اندازه بدتر کندبسیار کم، اما زیان احتمالی بزرگ

حد اسلیپیج و فضای مانور ربات ساندویچ

نقش حد اسلیپیج در حمله ساندویچی؛ فاصله قیمت نمایش‌داده‌شده تا حداقل قیمت قابل قبول، فضای مانور ربات است
نقش حد اسلیپیج در حمله ساندویچی؛ فاصله قیمت نمایش‌داده‌شده تا حداقل قیمت قابل قبول، فضای مانور ربات است.
sms-star

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

حمله ساندویچی کجا رخ می‌دهد؟

حمله سندویچی در یونی سواپ و صرافی‌های AMM

حمله ساندویچی در دیفای و به‌ویژه در صرافی‌های مبتنی بر بازارساز خودکار (AMM) رخ می‌دهد. در این صرافی‌ها به‌جای دفتر سفارش، قیمت با فرمولی بر اساس موجودی استخر تعیین می‌شود؛ پس اثر هر سفارش قابل محاسبه است و ربات سودش را از قبل می‌سنجد. یونی‌سواپ شناخته‌شده‌ترین محل این حملات است، اما هر صرافی که با قرارداد هوشمند و ممپول عمومی کار می‌کند در معرض آن است.

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

سولانا ممپول عمومی به سبک اتریوم ندارد، اما در اوایل ۲۰۲۴ ممپولی که شرکت Jito Labs راه انداخته بود به محل حملات ساندویچی گسترده تبدیل شد و این شرکت در مارس ۲۰۲۴ آن را تعطیل کرد. در ژوئن همان سال، بنیاد سولانا هم تعدادی از اعتبارسنج‌ها را به دلیل مشارکت در حملات ساندویچی از برنامه واگذاری سهام خود کنار گذاشت.

کدام سواپ‌ها بیشتر هدف قرار می‌گیرند؟

سفارش‌های بزرگ نسبت به نقدینگی استخر، توکن‌های کم‌نقدینگی و میم‌کوین‌هایی که با عجله و اسلیپیج بالا خریده می‌شوند، هدف‌های اصلی‌اند. با این حال طبق داده‌های EigenPhi که کوین‌تلگراف در دسامبر ۲۰۲۵ منتشر کرد، حدود ۳۸ درصد حملات ساندویچی اتریوم از نوامبر ۲۰۲۴ تا اکتبر ۲۰۲۵ استخرهای کم‌نوسان شامل استیبل‌کوین‌ها را هدف گرفته بودند.

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

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

مقاله پژوهشی Liyi Zhou و همکاران در سال ۲۰۲۰ (arXiv) از نخستین بررسی‌های دقیق این حمله است و نشان داد یک مهاجم منفرد با حمله ساندویچی در یونی‌سواپ می‌تواند روزانه چند هزار دلار درآمد داشته باشد. البته همه انواع MEV مخرب نیستند؛ آربیتراژ قیمت‌ها را بین صرافی‌ها هم‌سو می‌کند، اما حمله ساندویچی مستقیماً از کاربر برداشت می‌کند.

نوعجایگاه تراکنش رباتاثر بر کاربر
فرانت رانینگقبل از تراکنش قربانیقیمت بدتر یا شکست تراکنش
بک رانینگبعد از تراکنش قربانیمعمولاً اثر مستقیم ندارد
حمله ساندویچیهم قبل و هم بعد از تراکنش قربانیاسلیپیج بیشتر و دریافت توکن کمتر
آربیتراژمستقل از یک کاربر خاصمعمولاً بی‌ضرر؛ قیمت‌ها را هم‌سو می‌کند
لیکوئیدیشنپس از افت ارزش وثیقه وامبرای وام‌گیرنده هزینه دارد

انواع حملات MEV و تفاوت آن‌ها با حمله ساندویچی

طبق داده‌های EigenPhi، ارزش ماهانه استخراج‌شده با حملات ساندویچی در اتریوم از نزدیک ۱۰ میلیون دلار در اواخر ۲۰۲۴ به حدود ۲٫۵ میلیون دلار در اکتبر ۲۰۲۵ رسید و حدود ۷۰ درصد حملات به یک بازیگر با نام jaredfromsubway.eth نسبت داده شد. یعنی این حمله کمتر شده، اما از بین نرفته است.

ربات ساندویچ چیست؟

ربات ساندویچ برنامه‌ای خودکار است که ممپول را زیر نظر می‌گیرد، سود احتمالی هر سواپ را حساب می‌کند و تراکنش‌های خرید و فروش را دور آن می‌چیند. رقابت این ربات‌ها بسیار سخت است و طبق برآورد EigenPhi، میانگین سود هر حمله در اتریوم در سال ۲۰۲۵ کمی بیشتر از ۳ دلار بود.

همین موضوع دست‌مایه کلاهبرداری شده است. ویدئوهایی در یوتیوب وعده ربات MEV آماده با سود روزانه می‌دهند و از کاربر می‌خواهند از کیف پول داغ خود یک قرارداد هوشمند منتشر کند و به آن اتر واریز کند. شرکت امنیتی SentinelOne در اوت ۲۰۲۵ گزارش داد که آدرس مهاجم در کد این قراردادها پنهان است و یکی از این کمپین‌ها بیش از ۹۰۰ هزار دلار برداشته؛ الگویی شبیه راگ پول.

sms-star

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

چطور بفهمیم قربانی حمله ساندویچی شده‌ایم؟

شناسه تراکنش سواپ خود را در کاوشگر بلاکی مثل Etherscan باز کنید و تراکنش‌های همان بلاک را ببینید. اگر درست قبل از شما یک آدرس همان توکن را خریده و درست بعد از شما فروخته، الگوی ساندویچ را پیدا کرده‌اید. نشانه ساده‌تر این است که مقدار دریافتی تقریباً برابر حداقل قابل قبول شما باشد. ابزارهای تحلیل MEV مثل EigenPhi هم تراکنش‌های ساندویچ‌شده را برچسب می‌زنند.

جلوگیری از حمله ساندویچی؛ راهکارهای عملی

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

حد اسلیپیج پایین و منطقی

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

ممپول خصوصی و RPC محافظ

مؤثرترین راه، ارسال تراکنش از کانال خصوصی به‌جای ممپول عمومی است تا ربات‌ها آن را نبینند. سرویس‌هایی مثل Flashbots Protect و MEV Blocker همین کار را می‌کنند و با تغییر RPC در کیف پول وب ۳ فعال می‌شوند. طبق راهنمای متامسک (MetaMask)، این کیف پول تراکنش‌های واجد شرایط را در اتریوم و سولانا خودکار و خصوصی ارسال می‌کند، هرچند این محافظت همیشه کامل نیست.

تقسیم سفارش و ابزارهای مقاوم در برابر MEV

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

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

روش‌های جلوگیری از حمله ساندویچی

راه‌های جلوگیری از حمله ساندویچی؛ حد اسلیپیج منطقی، ممپول خصوصی، تقسیم سفارش و صرافی‌های مقاوم در برابر MEV
راه‌های جلوگیری از حمله ساندویچی؛ حد اسلیپیج منطقی، ممپول خصوصی، تقسیم سفارش و صرافی‌های مقاوم در برابر MEV.

پرسش مهم: آیا در صرافی متمرکز یا معاملات CFD هم حمله ساندویچی وجود دارد؟

پاسخ: نه به معنای بلاکچینی آن. در صرافی متمرکز سفارش‌ها در دفتر سفارش خود صرافی تطبیق داده می‌شوند و در معاملات CFD در بستر بروکر اجرا می‌شوند؛ پس وارد ممپول عمومی نمی‌شوند و ربات‌های ساندویچ آن‌ها را نمی‌بینند. البته اسلیپیج بازار در نوسان شدید همچنان ممکن است.

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

تمرین با آرون گروپس

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

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

نتیجه‌گیری

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

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

پرسش‌های متداول

حمله ساندویچی در دیفای یعنی چه؟

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

آیا حد اسلیپیج پایین به‌تنهایی کافی است؟

نه کاملاً. حد پایین سقف زیان را محدود می‌کند، اما تراکنش همچنان در ممپول دیده می‌شود؛ ترکیب آن با ممپول خصوصی محافظت بیشتری دارد.

حمله سندویچی یونی سواپ چطور اتفاق می‌افتد؟

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

آیا سواپ استیبل‌کوین‌ها هم ساندویچ می‌شود؟

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

چطور از حمله ساندویچی جلوگیری کنیم؟

با حد اسلیپیج منطقی، ارسال تراکنش از RPC محافظ یا ممپول خصوصی، تقسیم سفارش‌های بزرگ و استفاده از صرافی‌های مقاوم در برابر MEV.

sms-star

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

ادامه خواندن
not-found
calendar 19 آبان 1405
rate banner
به این مقاله امتیاز بدهید

Leave a Reply

Your email address will not be published. Required fields are marked *

نه ممنون