اسلیپیج چیست؟ MEV و حملهی ساندویچی در صرافی غیرمتمرکز
درس ۳ از ۱۰ · متوسط
اسلیپیج چیست؟ فرق آن با اثر قیمتی
اسلیپیج (Slippage) یعنی تفاوت بین قیمتی که هنگام ثبت معامله میبینید و قیمتی که معامله واقعاً با آن اجرا میشود. در صرافی غیرمتمرکز، بین لحظهای که دکمهی Swap را میزنید و لحظهای که تراکنش وارد بلاک میشود، چند ثانیه یا بیشتر فاصله است. در این فاصله، معاملههای دیگر ممکن است موجودی استخر و در نتیجه قیمت را تغییر دهند.
دو مفهوم را از هم جدا کنید:
- اثر قیمتی (Price Impact): تغییری که خود سفارش شما در قیمت استخر ایجاد میکند. از قبل قابل محاسبه است و به اندازهی سفارش و عمق استخر بستگی دارد.
- اسلیپیج: تغییری که دیگران در فاصلهی ارسال تا اجرای تراکنش شما ایجاد میکنند، بهعلاوهی هر تفاوتی با برآورد اولیه.
کیف پول یا رابط کاربری از شما تلورانس اسلیپیج میخواهد؛ مثلاً ۰٫۵٪. یعنی «اگر قیمت اجرا بیش از ۰٫۵٪ بدتر از برآورد شد، معامله را لغو کن». این عدد در واقع حداقل مقداری است که حاضرید دریافت کنید و در خود تراکنش نوشته میشود.
اسلیپیج پدیدهی تازهای نیست. معاملهگری که در بازار آتی طلا با سفارش بازار (Market) وارد میشود هم آن را تجربه میکند: اگر سفارشش از حجم موجود در بهترین قیمت بزرگتر باشد، چند سطح از دفتر سفارش را «میخورد» و میانگین قیمتش بدتر میشود. در DEX همین منطق برقرار است، با این تفاوت که بهجای سطوح دفتر سفارش، منحنی استخر قرار دارد و فاصلهی زمانی تا اجرای تراکنش هم بیشتر و قابلمشاهدهتر است. همین قابلمشاهده بودن، در بخش بعد مسئلهساز میشود.
MEV چیست؟
تراکنشها قبل از ورود به بلاک معمولاً در یک فضای انتظار عمومی (Mempool) دیده میشوند. کسی که ترتیب تراکنشها در بلاک را تعیین میکند (ولیدیتور یا سازندهی بلاک) و رباتهایی که برای جایگاه بهتر پول میدهند، میتوانند از این ترتیب سود ببرند. به این سود MEV (Maximal Extractable Value) گفته میشود: بیشترین ارزشی که با چیدن، اضافه کردن یا حذف تراکنشها در یک بلاک قابل استخراج است.
همهی MEV مضر نیست. آربیتراژی که قیمت استخرها را با بازار هماهنگ میکند یا لیکوییدیشن بهموقع وامهای پرریسک هم نوعی MEV است و به کارکرد سیستم کمک میکند. اما یک نوع آن مستقیماً از جیب کاربران عادی برداشته میشود: حملهی ساندویچی.
حملهی ساندویچی قدم به قدم
فرض کنید (مثال فرضی) میخواهید در استخری کمعمق ۱۰٬۰۰۰ دلار استیبلکوین را به یک توکن تبدیل کنید و تلورانس اسلیپیج را ۵٪ گذاشتهاید. یک ربات تراکنش شما را در Mempool میبیند:
- نان بالا (Front-run): ربات درست قبل از شما همان توکن را میخرد و قیمت را بالا میبرد.
- گوشت ساندویچ: تراکنش شما با قیمت بالاتر اجرا میشود. چون هنوز در محدودهی ۵٪ است، لغو نمیشود. شما توکن کمتری میگیرید.
- نان پایین (Back-run): ربات بلافاصله بعد از شما توکن را به قیمت بالاتری که خرید شما ساخته میفروشد.
سود ربات تقریباً همان مقداری است که شما از دست دادهاید (منهای کارمزدها). نکتهی کلیدی: تلورانس اسلیپیج شما سقف ضرری است که مهاجم میتواند از شما بگیرد. هرچه آن را بازتر بگذارید، فضای بیشتری برای ساندویچ شدن میدهید. اگر خیلی تنگ بگذارید، معامله در بازار پرنوسان لغو میشود و کارمزد شبکهاش را از دست میدهید. پیدا کردن تعادل بخشی از کار است.
چرا معاملهی بزرگ در استخر کمعمق گرانتر است
سه هزینه روی هم جمع میشوند:
- اثر قیمتی که مستقیماً به نسبت سفارش به عمق استخر بستگی دارد.
- کارمزد استخر که درصدی از کل مبلغ است.
- هزینهی MEV: معاملهی بزرگ با اثر قیمتی زیاد طعمهی جذابتری برای ساندویچ است، چون ربات میتواند قیمت را بیشتر جابهجا کند.
به همین دلیل برای سفارشهای بزرگ، تقسیم سفارش به چند بخش، استفاده از اگریگیتوری که بین استخرها پخش میکند، یا معامله در ساعاتی که استخر عمیقتر است، هزینه را کم میکند. اینها فنون اجرای سفارشاند و ربطی به پیشبینی جهت قیمت ندارند. در توکنهای کمنقدشونده، حتی سفارشهای کوچک هم ممکن است اثر قیمتی چشمگیر داشته باشند.
راههای کاهش ریسک MEV
- RPC خصوصی یا محافظتشده: برخی کیف پولها و سرویسها گزینهای دارند که تراکنش را بهجای Mempool عمومی، مستقیم برای سازندگان بلاک میفرستد تا رباتها پیش از اجرا آن را نبینند. این روش ریسک را کم میکند اما حذف نمیکند و شما به ارائهدهندهی آن سرویس اعتماد میکنید.
- تلورانس متناسب: برای جفتهای پرنقدشونده و پایدار، تلورانس پایین کافی است. عدد بالا را فقط وقتی بگذارید که دلیلش را میدانید، مثلاً توکنهایی که هنگام انتقال مالیات (Tax) کم میکنند.
- تقسیم سفارش و بررسی اثر قیمتی قبل از تأیید.
- بررسی نتیجه در اکسپلورر: بعد از معامله، تراکنشهای قبل و بعد از خودتان در همان بلاک را ببینید تا متوجه شوید ساندویچ شدهاید یا نه.
یادتان باشد رابطی که «تلورانس خودکار» بالا پیشنهاد میدهد، لزوماً به نفع شما تنظیم نشده است. عدد را خودتان ببینید.
اشتباههای رایج
- گذاشتن تلورانس اسلیپیج بالا (مثلاً ۱۰٪ یا بیشتر) فقط برای اینکه معامله لغو نشود؛ این عملاً دعوت از رباتهای ساندویچی است.
- یکی دانستن اسلیپیج و اثر قیمتی؛ اولی را دیگران میسازند، دومی را سفارش خودتان.
- اجرای یک سفارش بزرگ یکجا در استخر کمعمق، بدون نگاه به درصد اثر قیمتی که رابط نشان میدهد.
- فرض اینکه RPC خصوصی یعنی محافظت کامل؛ ریسک کم میشود اما به ارائهدهندهی سرویس اعتماد میکنید.
- بررسی نکردن تراکنش در اکسپلورر و نفهمیدن اینکه چرا مقدار دریافتی کمتر از انتظار بوده است.
حجم و داده اینجا چه میگوید؟
دادهی روی زنجیره به شما اجازه میدهد ببینید دقیقاً چه اتفاقی برای سفارشتان افتاده است:
- بلاک تراکنش را باز کنید: در اکسپلورر، تراکنشهایی را که درست قبل و بعد از شما در همان استخر انجام شده ببینید. اگر یک آدرس پیش از شما خریده و بلافاصله بعد از شما فروخته، الگوی ساندویچ است.
- مقدار دریافتی واقعی را با برآورد مقایسه کنید: اختلاف را درصدی حساب کنید تا هزینهی واقعی اجرای خودتان را بشناسید.
- عمق در برابر حجم: مثل دفتر سفارش در بازار آتی طلا، اینجا هم عمق استخر نزدیک قیمت فعلی تعیین میکند سفارش شما چقدر قیمت را جابهجا میکند. حجم معاملهی بالا در استخر کمعمق یعنی نوسان و فرصت بیشتر برای MEV.
این بررسیها برای کنترل هزینهی اجراست، نه برای پیشبینی بازار.
پرسشهای پرتکرار
اسلیپیج چیست؟
تفاوت بین قیمتی که هنگام ثبت معامله میبینید و قیمتی که معامله واقعاً با آن اجرا میشود. در DEX به این دلیل رخ میدهد که معاملههای دیگر در فاصلهی ارسال تا اجرای تراکنش شما قیمت استخر را تغییر میدهند.
تلورانس اسلیپیج را چند بگذارم؟
عدد ثابتی برای همه وجود ندارد. برای جفتهای پرنقدشونده معمولاً عدد پایین کافی است. هرچه بالاتر بگذارید، ضرر احتمالی از حملهی ساندویچی بیشتر میشود؛ هرچه پایینتر، احتمال لغو معامله در نوسان بیشتر است.
حملهی ساندویچی چیست؟
رباتی تراکنش شما را پیش از اجرا میبیند، درست قبل از شما میخرد تا قیمت بالا برود، تراکنش شما با قیمت بدتر اجرا میشود و ربات بلافاصله بعد از شما میفروشد. ضرر شما تقریباً سود ربات است.
این درس آموزشی است و توصیهی خرید یا فروش نیست؛ ما سیگنال نمیدهیم. مثالهای قیمتی فقط برای توضیحاند. هر روشی را اول روی حساب دمو و با مدیریت ریسک امتحان کنید.