
دنیای بازارهای مالی، چه سنتی و چه مدرن، همیشه پر از فرصتها و در عین حال پر از تهدیدهاست. در بازارهای کلاسیکی مثل بورس یا فارکس، نوسانات قیمت، رقابت شدید و معاملات لحظهای همیشه چالشهایی برای تریدرها ایجاد کردهاند. حالا که بازار رمزارزها وارد میدان شده و فناوری بلاکچین (Blockchain) پایهی اصلی این بازار به شمار میره، چالشها هم رنگ و بوی تازهای پیدا کردهاند.
یکی از تهدیدهایی که در هر دو نوع بازار وجود داره، اما در بلاکچین شکل پیچیدهتری به خودش گرفته، حمله فرانت رانینگ (Front Running) هست. این حمله در واقع نوعی سوءاستفاده از اطلاعات زودهنگام برای کسب سود ناعادلانهست.
به زبان سادهتر، وقتی شخصی قبل از بقیه از یک معامله یا سفارش مطلع بشه و زودتر دست به کار بشه تا از نوسانات قیمت سود ببره، مرتکب حمله فرانت رانینگ شده.
در ادامه این مقاله از بلاگ کیف پول من با زبانی ساده و مثالهای واقعی قراره دقیقتر بفهمیم که فرانت رانینگ دقیقاً چیه، چطور در دنیای کریپتو اتفاق میافته و چه راههایی برای مقابله با اون وجود داره.
اصطلاح Front Running از دنیای مالی سنتی اومده و معنای لغوی اون “جلو زدن از بقیه” هست. در بازارهای بورس، معمولاً کارگزارها یا تریدرها با اطلاع از سفارش مشتریها، خودشون همون سفارش رو زودتر ثبت میکنن تا از افزایش یا کاهش قیمت بعدی سود ببرن. این کار در اکثر کشورها غیرقانونی و بهشدت غیراخلاقیه.
اما در بازار ارز دیجیتال ماجرا یه تفاوت اساسی داره: در اینجا همه چیز روی بلاکچین ثبت میشه و شفافه. یعنی هرکسی میتونه تراکنشهای در حال انتظار در mempool (صف تراکنشها قبل از تأیید) رو ببینه. همین شفافیت، فرصتی به مهاجمان میده تا قبل از بقیه تراکنش خودشون رو ثبت کنن و از تغییر قیمت سود ببرن.
طبق گزارشها، فقط در بلاکچین اتریوم (Ethereum) تا سال ۲۰۲۲ بیش از ۵۰۰ میلیون دلار از طریق حملات فرانت رانینگ از کاربران سرقت شده. بخش بزرگی از این ضررها مربوط به حملات معروفی مثل Sandwich Attack، Arbitrage Attack و Liquidation Attack بوده.
فرض کنید آلیس در حال انجام تراکنشی در بلاکچین اتریومه. اون میخواد یه معامله انجام بده و برای این کار، تراکنش خودش رو با کارمزد گس (Gas Fee) معادل ۱۵ Gwei ارسال میکنه. این تراکنش وارد mempool میشه تا توسط ماینرها تأیید بشه.
اما شخصی به نام باب که شبکه رو زیر نظر داره، متوجه میشه آلیس قراره یه دارایی سودآور بخره. باب بلافاصله همون تراکنش رو کپی میکنه ولی با کارمزد بالاتر (مثلاً ۵۰ Gwei) میفرسته. چون ماینرها معمولاً تراکنشهایی با کارمزد بالاتر رو زودتر تأیید میکنن، تراکنش باب زودتر از آلیس ثبت میشه و اون سود معامله رو به جیب میزنه.
نتیجه؟ آلیس که اول وارد عمل شده بود، ضرر میکنه و باب که فقط از اطلاعات زودهنگام استفاده کرده، بدون هیچ ریسکی سود کلانی به دست میاره. این همون چیزیه که بهش میگن سوءاستفاده از شفافیت بلاکچین.

حملات فرانت رانینگ انواع مختلفی دارن و مهاجمان بسته به شرایط بازار و نوع پلتفرم از روشهای متفاوتی استفاده میکنن. در ادامه مهمترین انواع این حملات رو با مثال توضیح میدیم 👇
در این نوع حمله، مهاجم تراکنش خودش رو با کارمزد بالاتر از قربانی ارسال میکنه تا زودتر پردازش بشه.
به عنوان مثال، فرض کنید «جولیا» قصد خرید یه توکن NFT کمیاب رو داره و تراکنش خودش رو با کارمزد معمولی در شبکه ثبت کرده. حالا «تام» که تراکنشهای در صف انتظار (mempool) رو مانیتور میکنه، متوجه خرید جولیا میشه و همون NFT رو با کارمزد بیشتری میخره. چون ماینرها همیشه به دنبال دریافت کارمزد بیشتر هستن، تراکنش تام زودتر تأیید میشه و مالکیت NFT به اون میرسه.
در نهایت جولیا نه تنها توکن مورد علاقهاش رو از دست میده، بلکه کارمزد تراکنش ناموفقش هم از بین میره! 😞
این نوع حمله یکی از خطرناکترین روشها در صرافیهای غیرمتمرکز (DEX) مثل یونیسواپ (Uniswap) یا سوشی سواپ (SushiSwap) هست.
در اینجا مهاجم تراکنش قربانی رو بین دو تراکنش خودش قرار میده؛ یکی قبل از اون با کارمزد بالا و دیگری بعد از اون با کارمزد پایین. این ترتیب باعث میشه قیمت دارایی مورد معامله دچار نوسان مصنوعی بشه و فرصت آربیتراژ برای مهاجم ایجاد بشه.
مثلاً «چارلی» میخواد مقدار زیادی از یه توکن خاص بخره. «الکس» متوجه این موضوع میشه و بلافاصله قبل از تراکنش چارلی، اون توکن رو با کارمزد بالا میخره تا قیمتش افزایش پیدا کنه. بعد از اجرای تراکنش چارلی، «الکس» همون توکن رو با قیمت بالاتر میفروشه و سود بدون ریسک میگیره.
در این بین، چارلی مجبور میشه توکن رو گرانتر از قیمت واقعی بخرد و ضرر کنه!
در این روش، مهاجم با ارسال تعداد زیادی تراکنش با کارمزد بالا، فضای بلاک رو پر میکنه تا تراکنش قربانی به موقع وارد بلاک نشه.
برای مثال، فرض کنید شما در حال شرکت در یک قرعهکشی بلاکچینی هستید که برنده کسیه که آخرین بلیط رو قبل از پایان زمان بخرد. درست در لحظهی آخر، مهاجم دهها تراکنش با گسفی بالا میفرسته تا شبکه شلوغ بشه. در نتیجه تراکنش شما دیرتر تأیید میشه و اون فرد با ترفند خودش برنده میشه.
این نوع حمله معمولاً در امور مالی غیرمتمرکز (DeFi) و پروژههای NFT اتفاق میافته.
برای مقابله مؤثر با فرانت رانینگ، باید بدونیم چه عواملی باعث بروز اون میشن. در واقع، ترکیبی از شفافیت بیش از حد بلاکچین، رباتهای خودکار (MEV Bots) و سودهای سریع و بدون ریسک، زمینهساز این حملات هستند.
چند عامل اصلی عبارتاند از:
معاملات بزرگ: وقتی کاربرها خرید یا فروش عمده انجام میدن، رباتها به سرعت وارد عمل میشن تا از نوسان قیمت سود ببرن.
لیست شدن توکنهای جدید: در زمان لیست شدن یه توکن جدید در صرافیهای غیرمتمرکز (DEX)، رباتهای فرانت رانینگ زودتر از کاربران اقدام به خرید میکنن و بعد اون رو با قیمت بالاتر میفروشن.
دسترسی عمومی به دفتر سفارش (Order Book): در برخی صرافیهای غیرمتمرکز، سفارشها برای مدتی قابل مشاهده هستن و این باعث میشه مهاجمان زودتر از بقیه سفارش خودشون رو ثبت کنن.
پیشنهادهای حاکمیتی: در پلتفرمهایی مثل Aave یا Compound، اگر مهاجم قبل از تأیید نهایی پیشنهادها اقدام به خرید توکن کنه، از رشد قیمت بعدی سود میبره.
بهروزرسانی دادههای اوراکل (Oracle) و APIها: وقتی دادههای قیمتی تغییر میکنن، افرادی که زودتر از بقیه متوجه بشن، میتونن از اون تغییر برای آربیتراژ استفاده کنن.
استخرهای نقدینگی در دیفای: اضافه یا حذف نقدینگی در پلتفرمهایی مثل Curve یا Uniswap باعث تغییرات لحظهای در قیمتها میشه و رباتها از این تغییرات سوءاستفاده میکنن.
هرچند بلاکچین ذاتاً شفافه، اما روشهایی وجود داره که میتونن خطر حملات فرانت رانینگ رو به حداقل برسونن. در ادامه چند مورد از مؤثرترین راهکارها رو معرفی میکنیم:
استفاده از تراکنشهای خصوصی یا رمزگذاریشده: در برخی شبکهها (مثل اتریوم از طریق Flashbots) میشه تراکنشها رو بهصورت خصوصی ارسال کرد تا تا زمان تأیید در mempool قابل مشاهده نباشن.
تعیین گسفی مناسب: اگر قصد انجام تراکنش مهمی دارید، تعیین گسفی منطقی اما کمی بالاتر از متوسط میتونه باعث بشه تراکنش شما سریعتر پردازش بشه و از رقابت مهاجمان در امان بمونید.
استفاده از پلتفرمهای معتبر دیفای: همیشه در پلتفرمهایی معامله کنید که امنیت بالایی دارن و از مکانیزمهای ضد MEV پشتیبانی میکنن.
خودداری از اعلام عمومی معاملات بزرگ: افشای اطلاعات درباره زمان خرید یا فروش داراییها، میتونه زمینهساز حملات فرانت رانینگ بشه.
آموزش و آگاهی: آشنایی کاربران با روشهای مختلف حملات و رفتار رباتها، بزرگترین سپر دفاعی در برابر این نوع تهدیداته.
فرانت رانینگ شاید در ظاهر فقط یه بازی با ترتیب تراکنشها به نظر برسه، اما در واقع تهدیدی جدی برای عدالت، شفافیت و اعتماد در شبکههای غیرمتمرکز محسوب میشه.
شناخت این پدیده و آگاهی از روشهای مقابله با اون، نهتنها به امنیت داراییهای دیجیتال کمک میکنه، بلکه باعث رشد سالمتر اکوسیستم دیفای و کریپتوکارنسیها میشه.
در نهایت، فرانت رانینگ یه یادآوری مهمه: حتی در دنیای شفاف و غیرمتمرکز بلاکچین هم، همیشه باید هوشیار و آماده باشید.
به نظر شما بهترین راه برای مقابله با این نوع حملات چیه؟ 💬