کیف پول من

حمله ساندویچی (Sandwich Attack) چیست؟ مکانیزم، خطرات و راه‌های پیشگیری

تاریخ انتشار:
۲۸ اردیبهشت ۱۴۰۴
آخرین به‌روزرسانی:
۱۰ خرداد ۱۴۰۵
8996

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

sandwich-attacks

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

حمله ساندویچی (Sandwich Attack) در دیفای چیست؟

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

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

تفاوت معاملات در صرافی‌های متمرکز و غیرمتمرکز (DEX)

شاید بپرسید چرا کسی نمی‌تواند در صرافی‌های معمولی چنین نقشه‌ای را اجرا کند؟ برای پاسخ به این سوال، باید تفاوت ساختار معاملات در دو نوع صرافی را بررسی کنیم:

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

نقش بازارسازهای خودکار (AMM) در شکل‌گیری این حملات

صرافی‌های غیرمتمرکز برای اینکه بتوانند بدون نیاز به شرکت‌ها یا دفترهای ثبت سفارش کار کنند، از سیستمی به نام بازارساز خودکار (AMM - یک فرمول ریاضی هوشمند که قیمت ارزها را بر اساس میزان عرضه و تقاضا به صورت لحظه‌ای تنظیم می‌کند) استفاده می‌کنند.

در این سیستم، خبری از خریدار و فروشنده‌ی سنتی در مقابل هم نیست؛ بلکه دارایی‌ها در یک استخر نقدینگی (Liquidity Pool - سبد دیجیتالی بزرگی که کاربران سرمایه‌ی خود را در آن قرار می‌دهند تا معامله‌گران دیگر بتوانند از آن خرید و فروش کنند) نگهداری می‌شوند. فرمول بازارساز خودکار یک قانون بسیار ساده دارد: هرچه تقاضا برای خرید یک توکن در استخر بیشتر شود و تعداد آن توکن در سبد کاهش یابد، قیمت آن به صورت خودکار بالا می‌رود.

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

حمله‌ی ساندویچی دقیقا چگونه انجام می‌شود؟

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

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

مرحله‌ی اول: پیش‌دستی یا Front-running (خرید قبل از کاربر)

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

اما چطور می‌تواند نوبت شما را در صف بگیرد و زودتر خریدش را انجام دهد؟ در دنیای رمزارز، هر کسی کارمزد شبکه (Gas Fee - هزینه‌ای که به شبکه‌ی بلاک‌چین پرداخت می‌کنید تا تراکنش شما را سریع‌تر انجام دهد) بیشتری بپردازد، زودتر کارش راه می‌افتد و اولویت پیدا می‌کند. بنابراین، ربات مهاجم یک تراکنش خرید ثبت می‌کند و کارمزدی کمی بالاتر از کارمزد شما پیشنهاد می‌دهد. با این ترفند، شبکه‌ی بلاک‌چین فریب می‌خورد و تراکنش ربات را قبل از تراکنش شما تایید می‌کند. این یعنی مهاجم توانسته تکه‌ی اول نان ساندویچ را با موفقیت در جای خود قرار دهد!

مرحله‌ی دوم: اجرای تراکنش کاربر و افزایش قیمت توکن

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

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

مرحله‌ی سوم: پس‌روی یا Back-running (فروش با سود به کاربر)

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

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

برای درک بهتر، بیایید این چرخه‌ی سریع را به صورت خلاصه مرور کنیم:

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

حمله‌ی ساندویچی دقیقا چگونه انجام می‌شود؟ | صرافی کیف پول من

چه کسانی Sandwich Attack را طراحی و اجرا می‌کنند؟

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

ربات‌های آربیتراژ و جستجوگران ارزش قابل استخراج (MEV Bots)

هسته‌ی اصلی و مجریان واقعی این حملات، برنامه‌های کامپیوتری هوشمندی هستند که به صورت شبانه‌روزی و خستگی‌ناپذیر بازار را رصد می‌کنند. در دنیای رمزارزها، به طور کلی به این برنامه‌ها ربات‌های آربیتراژ (Arbitrage Bots - نرم‌افزارهای خودکاری که تفاوت قیمت یک ارز را در کسری از ثانیه پیدا کرده و با خرید در قیمت پایین و فروش در قیمت بالا سود کسب می‌کنند) می‌گویند.

اما در دنیای حملات ساندویچی، ما با نوع بسیار پیشرفته‌تری از این برنامه‌ها روبه‌رو هستیم که به آن‌ها ربات‌های جستجوگر ام‌ای‌وی (MEV Bots - مخفف Maximal Extractable Value به معنای حداکثر ارزش قابل استخراج؛ یعنی بیشترین سودی که یک سیستم یا ربات می‌تواند با دستکاری، تغییر ترتیب یا سانسور تراکنش‌ها به جیب بزند) گفته می‌شود. این شکارچیان دیجیتال دقیقا چه کار می‌کنند؟

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

 نقش استخراج‌کنندگان و اعتبارسنج‌های شبکه (Validators)

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

اعتبارسنج‌ها در واقع نگهبانان در ورودی دفتر کل بلاک‌چین محسوب می‌شوند. آن‌ها هستند که در نهایت تصمیم می‌گیرند کدام تراکنش اول وارد شود و کدام تراکنش دوم. اما ربات‌های مهاجم چگونه این نگهبانان را متقاعد می‌کنند که تراکنش آن‌ها را در اولویت قرار دهند؟

پاسخ بسیار ساده و منطقی است: با پرداخت پول بیشتر!

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

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

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

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

حمله به معامله‌گران عادی در زمان سواپ توکن‌ها (رایج‌ترین حالت)

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

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

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

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

حمله به تامین‌کنندگان نقدینگی (Liquidity Providers)

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

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

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

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

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

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

۵.۱. بررسی هزینه‌های اجرای حمله (کارمزد شبکه و رقابت در گس فی)

اولین و مهم‌ترین مانع بر سر راه سودآوری ربات‌ها، هزینه‌های انجام معامله است. ربات برای اجرای این تله، باید دو تراکنش مجزا (یک خرید سریع پیش از شما و یک فروش سریع پس از شما) انجام دهد و برای هر کدام باید کارمزد شبکه (Gas Fee - هزینه‌ای که به استخراج‌کنندگان برای پردازش و تایید تراکنش پرداخت می‌شود) بپردازد.

حالا فرض کنید یک سفارش خرید بسیار بزرگ و وسوسه‌انگیز وارد اتاق انتظار شبکه می‌شود. در این لحظه، فقط یک ربات نیست که این طعمه را می‌بیند؛ بلکه ده‌ها ربات هوشمند به طور همزمان آن را شناسایی می‌کنند. اینجاست که پدیده‌ای به نام جنگ گس (Gas War - رقابت شدید بین کاربران یا ربات‌ها برای پرداخت کارمزد بالاتر تا تراکنش آن‌ها اولویت پیدا کند) شکل می‌گیرد.

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

ریسک‌ها و چالش‌های پنهان برای مهاجمان در بازارهای پرنوسان

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

  • نوسانات شدید و ناگهانی بازار: فرض کنید ربات مرحله‌ی اول را با موفقیت انجام داده و ارز مورد نظر را خریده است (تکه‌ی اول نان ساندویچ). اما دقیقا در همان لحظه، یک سرمایه‌گذار بسیار بزرگ تصمیم می‌گیرد تمام دارایی خود از آن ارز را بفروشد، یا یک خبر اقتصادی منفی درباره‌ی کل بازار منتشر می‌شود. در این حالت، قیمت ارز به جای اینکه بالا برود، به شدت سقوط می‌کند و ربات با مقدار زیادی ارز افت‌کرده تنها می‌ماند و نقشه‌ی فروش با سود بالا با شکست مواجه می‌شود.
  • تراکنش‌های ناموفق (Failed Transactions): اگر کاربر قربانی یک معامله‌گر باهوش باشد و قبل از اینکه ربات بتواند نقشه‌ی خود را کامل کند، تراکنش به دلیل تنظیمات حفاظتی کاربر لغو شود، نقشه‌ی ربات نیمه‌کاره می‌ماند. در این وضعیت، ربات ارزها را خریده اما خریداری (قربانی) برای تکمیل چرخه‌ی افزایش قیمت وجود ندارد و در عین حال، هزینه‌ی کارمزد شبکه‌ی تراکنش‌های خود را نیز از جیب داده است.
  • تله‌گذاری برای شکارچی (Poisoned Contracts): بله، درست خواندید! توسعه‌دهندگان حرفه‌ای گاهی اوقات طعمه‌های سمی در شبکه قرار می‌دهند. آن‌ها قراردادهای هوشمند (Smart Contracts - کدهای برنامه‌نویسی که توافقات را به صورت خودکار و بدون واسطه در بلاک‌چین اجرا می‌کنند) می‌نویسند که در ظاهر شبیه یک فرصت عالی و بی‌نقص برای حمله‌ی ساندویچی است. اما در واقعیت طوری برنامه‌ریزی شده‌اند که به محض ورود ربات، سرمایه‌ی آن را قفل کنند یا تمام موجودی درگیر در معامله را از چنگ مهاجم درآورند.

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

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

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

تنظیم صحیح و هوشمندانه‌ی میزان تحمل لغزش (Slippage Tolerance)

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

وقتی شما این عدد را روی درصدهای بالایی مثل ۵ یا ۱۰ درصد تنظیم می‌کنید، در واقع به ربات‌ها چراغ سبز نشان می‌دهید که می‌توانند قیمت را تا آن حد به ضرر شما بالا ببرند و سیستم همچنان خرید شما را تایید خواهد کرد. برای در امان ماندن از این تله:

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

استفاده از صرافی‌ها و تجمیع‌کنندگان نقدینگی (Aggregators) مطمئن

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

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

بهره‌گیری از شبکه‌ها و ابزارهای مقاوم در برابر MEV (مانند Flashbots)

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

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

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

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

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

چگونه از حملات ساندویچی در امان باشیم؟ | خرید تتر | صرافی کیف پول من

نحوه‌ی تشخیص Sandwich Attack در تاریخچه‌ی تراکنش‌ها

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

بررسی مرورگرهای بلاک‌چین (مثل Etherscan) برای یافتن ردپای ربات‌ها

برای شروع این جستجو، باید از ابزاری به نام مرورگر بلاک‌چین (Blockchain Explorer - یک وب‌سایت عمومی که تمام اطلاعات، نقل‌وانتقالات و جزئیات شبکه‌ی رمزارزها را مانند یک دفتر کل شفاف به همه نشان می‌دهد) استفاده کنیم. معروف‌ترین مرورگر برای شبکه‌ی اتریوم، وب‌سایت اتراسکن (Etherscan) است. استفاده از این سایت دقیقا شبیه به بررسی صورت‌حساب بانکی است، با این تفاوت که شما می‌توانید حساب و کتاب کل دنیا را ببینید!

برای اینکه بفهمید آیا در یک حمله‌ی ساندویچی گرفتار شده‌اید یا خیر، کافی است این مراحل ساده را در مرورگر بلاک‌چین دنبال کنید:

  • قدم اول؛ پیدا کردن شناسه‌ی تراکنش: ابتدا باید شناسه‌ی تراکنش (Transaction Hash یا TxHash - یک کد طولانی و منحصربه‌فرد که مثل شماره‌ی پیگیری یا رسید بانکی برای هر معامله عمل می‌کند) خود را از تاریخچه‌ی کیف پولتان کپی کنید.
  • قدم دوم؛ جستجو در مرورگر: این شناسه را در نوار جستجوی سایت اتراسکن وارد کنید تا جزئیات کامل معامله‌ی شما روی صفحه نمایش داده شود.
  • قدم سوم؛ بررسی شماره‌ی بلاک: در صفحه‌ی باز شده، به دنبال قسمتی به نام شماره‌ی بلاک (Block Number - شماره‌ی بسته‌ی دیجیتالی که تراکنش شما همراه با تراکنش‌های دیگر در آن تایید و برای همیشه در شبکه ثبت شده است) بگردید. روی آن عدد کلیک کنید تا تمام تراکنش‌هایی که دقیقا در همان لحظه و در همان بسته انجام شده‌اند را ببینید.
  • قدم چهارم؛ یافتن الگوی ساندویچ: حالا باید لیست تراکنش‌های آن بلاک را با دقت بررسی کنید. ربات‌های مهاجم معمولا بسیار سریع کار می‌کنند و به همین دلیل، تراکنش‌های آن‌ها دقیقا در کنار تراکنش شما قرار می‌گیرد. ردپای این ربات‌ها یک الگوی سه‌مرحله‌ای و بسیار واضح دارد:
    • تراکنش پیش‌دستی (تکه‌ی اول نان): درست یک ردیف قبل از تراکنش شما، یک آدرس ناشناس (که معمولا یک ربات یا قرارداد هوشمند است) مقدار زیادی از همان ارزی که شما می‌خواستید را خریده است.
    • تراکنش شما (گوشت ساندویچ): در ردیف بعدی، تراکنش شما قرار دارد که به دلیل خرید قبلی ربات، همان ارز را با قیمتی گران‌تر خریده‌اید.
    • تراکنش پس‌روی (تکه‌ی دوم نان): دقیقا در ردیف بعد از شما، همان آدرس ناشناسی که در مرحله‌ی اول خرید کرده بود، تمام ارزهای خود را به صورت یکجا و با سود ناشی از افزایش قیمت معامله‌ی شما فروخته است.

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

منابع:

Coinbase

Trustwallet

Coinmarketcap

واکنش شما به این خبر چیست؟ نظر خود را با ری‌اکشن ثبت کنید.
49
0

سوالات متداول

4.9/5
writer image
فائزه آذری
نویسنده

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

مشاهده پروفایل

دیدگاه‌های کاربران

تا کنون 0 کاربر در مورد حمله ساندویچی (Sandwich Attack) چیست؟ مکانیزم، خطرات و راه‌های پیشگیری دیدگاه و تحلیل ثبت کرده اند
نظری ثبت نشده است!شما اولین باشید

افزودن دیدگاه

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

ویدئو رسانه

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