
هر بار که در یک DEX معامله میکنید، یک چیزی شبیه به یک دزد نامرئی احتمالاً کنارتان ایستاده. نه یک انسان — بلکه یک ربات بسیار سریع که میداند شما میخواهید چه بخرید و چند میلیثانیه جلوتر عمل میکند. این پدیده MEV است و حمله ساندویچ یکی از شناختهشدهترین اشکال آن است.
MEV (Maximal Extractable Value) چیست؟
MEV مخفف «Maximal Extractable Value» است — حداکثر ارزشی که یک ماینر یا ولیدیتور میتواند از دستکاری ترتیب تراکنشها در یک بلاک استخراج کند. در واقعتر، باتهای MEV این فرصتها را پیدا میکنند و از آنها بهره میبرند.
طبق آمار سایت EigenPhi، میلیاردها دلار MEV از زمان راهاندازی اتریوم استخراج شده است. بخش بزرگی از این مبلغ از جیب تریدرهای معمولی رفته.
انواع MEV: Frontrunning، Backrunning، Sandwich Attack
Frontrunning

ربات تراکنش شما را در mempool میبیند، میداند که قیمت را بالا میبرد، پس دقیقاً قبل از شما همان توکن را میخرد. وقتی تراکنش شما اجرا میشود، قیمت بالاتر رفته و ربات میفروشد.
Backrunning
ربات منتظر میماند تا تراکنش بزرگی اجرا شود و قیمت را تغییر دهد، سپس بلافاصله بعد از آن وارد میشود تا از اختلاف قیمت ایجادشده استفاده کند.
Sandwich Attack (حمله ساندویچ)
ترکیب هر دو: ربات قبل از تراکنش شما میخرد (frontrun) و بعد از اجرا میفروشد (backrun). تراکنش شما «وسط ساندویچ» قرار میگیرد.
حمله ساندویچ دقیقاً چطور کار میکند؟ (مثال عملی)
فرض کنید میخواهید ۱۰۰۰ USDC به ETH تبدیل کنید با slippage tolerance 1%:
- ربات تراکنش شما را میبیند: در mempool عمومی، ربات میبیند شما میخواهید ETH بخرید
- Frontrun: ربات با گس بالاتر (تا قبل از شما اجرا شود) مقدار زیادی ETH میخرد — قیمت ETH کمی بالا میرود
- تراکنش شما اجرا میشود: شما ETH را با قیمت بالاتر میخرید (در محدوده slippage تعریفشده)
- Backrun: بلافاصله بعد از تراکنش شما، ربات ETH خریداریشده را میفروشد و سود میبرد
سود ربات = اختلاف قیمت × حجم. برای یک تراکنش ۱۰۰۰ دلاری با slippage 1%، ربات ممکن است ۵-۱۰ دلار استخراج کند. در مقیاس بزرگ، این عدد قابل توجه است.
چرا باتهای MEV میتوانند این کار را بکنند؟ (Mempool)

قبل از اینکه تراکنش شما در بلاک ثبت شود، در mempool — یک «اتاق انتظار» عمومی — مینشیند. هر کسی میتواند این اتاق انتظار را ببیند. باتهای MEV این دادهها را در زمان واقعی اسکن میکنند و فرصتهای سودده را شناسایی میکنند.
برای مطالعه بیشتر در مورد MEV، راهنمای MEV در دیفای مفید است. همچنین راهنمای DEX Aggregatorها روشهای بهینهسازی معامله را توضیح میدهد.
روشهای محافظت از حمله ساندویچ
۱. تنظیم slippage tolerance پایین
پایین نگه داشتن slippage (مثلاً ۰.۵٪ به جای ۳٪) فضای کمتری برای باتها باقی میگذارد. البته اگر خیلی پایین باشد، ممکن است تراکنش fail شود.
۲. استفاده از Flashbots Protect RPC
Flashbots یک RPC endpoint ارائه میدهد که تراکنشها را مستقیماً به ماینرها/ولیدیتورها میفرستد و از mempool عمومی عبور نمیکنند. این به طور چشمگیری ریسک frontrunning را کاهش میدهد. برای تنظیم: در MetaMask یک شبکه جدید با RPC آدرس Flashbots اضافه کنید.
۳. استفاده از CoW Protocol
CoW Protocol از batch auction استفاده میکند — سفارشها در یک دوره جمع میشوند و سپس با هم اجرا میشوند. این ساختار frontrunning و sandwich attack را به شدت سخت میکند.
۴. معامله در اوقات کمترافیک
در ساعتهای کمترافیک شبکه، رقابت کمتری وجود دارد و باتهای MEV انگیزه کمتری برای حمله دارند. همچنین هزینههای گس کمتر است.
۵. استفاده از Private RPC
سرویسهایی مثل Blocknative یا MEV Blocker تراکنشها را از طریق کانال خصوصی ارسال میکنند تا در mempool عمومی ظاهر نشوند.
جدول ابزارهای محافظت از MEV
| ابزار | روش محافظت | سهولت استفاده | مناسب برای |
|---|---|---|---|
| Flashbots Protect | Private mempool | متوسط (RPC سفارشی) | تریدرهای متوسط و پیشرفته |
| CoW Protocol | Batch auction + Solver | آسان (مثل DEX معمولی) | همه کاربران |
| UniswapX | Intent-based + Solver | آسان | همه کاربران |
| MEV Blocker RPC | Private routing | متوسط | تریدرهای فعال |
| Slippage کم | محدود کردن فضا | خیلی آسان | همه کاربران |
برای محافظت از سرمایه خود به طور کلی، راهنمای کیف پول سختافزاری را بخوانید. همچنین برای آشنایی با انواع ریسکهای دیفای، راهنمای هکهای دیفای مفید است. اگر میخواهید از پروتکلهای دیفای مثل آوه یا یونیسواپ استفاده کنید، این ابزارها را حتماً به کار بگیرید.
سوالات متداول
حمله ساندویچ در دیفای چیست؟
حملهای که در آن یک ربات تراکنش شما را در mempool میبیند، دقیقاً قبل از شما میخرد (frontrun) و بعد از اینکه شما خرید کردید میفروشد (backrun). نتیجه: شما با قیمت بدتری معامله میکنید و ربات سود میبرد.
MEV چیست و چقدر پول دزدیده میشود؟
MEV (Maximal Extractable Value) ارزشی است که از دستکاری ترتیب تراکنشها استخراج میشود. از زمان راهاندازی اتریوم، مجموعاً میلیاردها دلار MEV استخراج شده که بخش قابل توجهی از آن از طریق sandwich attack، frontrunning و arbitrage بوده است.
چطور از حمله ساندویچ جلوگیری کنم؟
بهترین روشها: استفاده از CoW Protocol یا UniswapX که از معماری Solver استفاده میکنند، تنظیم Flashbots Protect RPC در MetaMask، و کاهش slippage tolerance. برای معاملات بزرگ، حتماً از Private RPC استفاده کنید.
آیا MEV همیشه بد است؟
نه لزوماً. برخی اشکال MEV مثل arbitrage بین DEXها به بهبود کارایی قیمتگذاری کمک میکنند و در واقع مفیدند. اما sandwich attack و frontrunning که مستقیماً به تریدرهای معمولی آسیب میزنند، مضر هستند و باید از آنها محافظت کرد.