
فرانت رانینگ چیست؟ چطور با حمله فرانت ران مقابله کنیم؟
اگر فردی در بازار سهام از طریق کارگزار یا مشاور سرمایهگذاری خود به اطلاعات محرمانهای دسترسی پیدا کند که سایر معاملهگران از آن بیخبرند، میتواند زودتر از دیگران اقدام به خرید یا فروش کند و سود کلانی به دست آورد. این اقدام که «فرانت رانینگ» نامیده میشود، تنها به بازارهای سنتی محدود نیست و در دنیای ارزهای دیجیتال و دیفای نیز قابلاجراست. همین موضوع باعث شده فرانت رانینگ به یکی از تهدیدهای جدی در صنعت امور مالی غیرمتمرکز تبدیل شود.
شناخت روشها و حملات مخرب در فضای بلاکچین و ارزهای دیجیتال برای همه تریدرها و سرمایهگذاران ضروری است. به همین دلیل، در این مطلب به بررسی حمله فرانت رانینگ، شیوه اجرای آن و تأثیرات دسترسی ناعادلانه به دادهها بر تراکنشهای بلاکچین میپردازیم. همچنین نمونههای واقعی و اثرات منفی این حمله را مرور کرده و در ادامه راهکارهایی برای پیشگیری از وقوع چنین تهدیدهایی بررسی خواهیم کرد.
فرانت رانینگ چیست؟
«فرانت رانینگ» (Front Running) زمانی رخ میدهد که یک کاربر یا ربات مخرب به اطلاعات تراکنشها پس از انتشار در شبکه اما پیش از تأیید نهایی آنها دسترسی پیدا کند. در این حالت، فرد یا ربات میتواند ترتیب تراکنشها را به نفع خود تغییر دهد و با اولویتبندی دلخواه، سود شخصی به دست آورد. در واقع، یک تراکنش خاص زودتر از دیگری پردازش میشود و همین تقدم میتواند منجر به کسب منفعت نامشروع شود.
هدف اصلی فرانت رانینگ، کسب سود سریع و مختلکردن روند طبیعی تراکنشهای کاربران دیگر است. این اقدام در بسیاری مواقع باعث بیعدالتی در توزیع سود و حتی ایجاد اختلال در کل سیستم میشود. در بیشتر نمونهها، اجرای چنین حملاتی توسط رباتهای برنامهنویسیشده صورت میگیرد. این رباتها با تحلیل دستورالعملها و دادههای قراردادهای هوشمند، تراکنش خود را پیش از دیگران ثبت و پردازش میکنند.
به همین دلیل، فرانت رانرها همواره از اولویت پردازش تراکنشهای خود در مقایسه با سایر کاربران سود میبرند.
فرانت رانینگ و آربیتراژ
در برخی موارد، کاربران از فرانت رانینگ بهعنوان ابزاری برای آربیتراژ (Arbitrage) استفاده میکنند. آربیتراژ به معنای کسب سود از اختلاف قیمت یک دارایی در شرایط مختلف است. برای روشنتر شدن موضوع، فرض کنید کاربری قصد دارد مقدار زیادی اتر را در یک صرافی غیرمتمرکز مثل یونیسواپ خریداری کند. چنین تراکنشی به دلیل حجم بالای سفارش، قیمت اتر را افزایش میدهد. در این شرایط، یک فرانت رانر با دسترسی زودهنگام به این اطلاعات میتواند از فرصت پیشآمده بهرهبرداری کند.
فرانت رانر بلافاصله پیش از انجام آن تراکنش، مقداری اتر را با قیمت پایین خریداری میکند. سپس با افزایش قیمت ناشی از تراکنش اصلی، دارایی خود را به فروش میرساند و از این اختلاف قیمتی سود به دست میآورد.
فرانت رانینگ و پلتفرمهای متمرکز
مزیت فرانت رانینگ تنها به تغییر ترتیب پردازش تراکنشها محدود نمیشود. گاهی دسترسی به اطلاعات محرمانه در یک مجموعه یا پلتفرم میتواند زمینهساز سودهای کلان برای افراد خاص شود. حتی برخی پلتفرمهای شخص ثالث و متمرکز نیز در برابر این نوع سوءاستفادهها آسیبپذیر هستند.
برای نمونه، در سپتامبر ۲۰۲۱ مشخص شد نیت چیستین (Nate Chastain)، یکی از مدیران اصلی پلتفرم خرید و فروش NFT «اوپنسی»، از اطلاعات محرمانه این وبسایت بهرهبرداری کرده است. او پیش از آنکه مجموعهای از NFTها در وبسایت عمومی اوپنسی برجسته شود، آنها را خریداری و سپس با سود چشمگیری به فروش رساند.
نمونه مشابهی نیز در اکتبر ۲۰۲۰ رخ داد؛ ایسهان واهی (Ishan Wahi)، مدیر محصول پیشین صرافی کوینبیس، با استفاده از اطلاعات محرمانه مربوط به فهرستشدن برخی توکنها توانست سودی معادل ۱.۱ میلیون دلار به دست آورد.
فرانت رانینگ چگونه انجام میشود؟
در سادهترین شکل، مشابه آنچه در بازارهای سنتی رخ میدهد، یک مدیر یا کارمند ارشد با دسترسی به اطلاعات محرمانه یک پلتفرم متمرکز میتواند از دادههای غیرعلنی سوءاستفاده کند. چنین فردی با پیشبینی افزایش چشمگیر قیمت یک دارایی، آن را پیش از دیگران خریداری کرده و سپس با رشد قیمت، دارایی را به فروش میرساند.
به این ترتیب، فرد با اتکا به اطلاعاتی که برای سایر کاربران در دسترس نیست، سودی ناعادلانه به دست میآورد. با این حال، در بلاکچین امکان اجرای فرانت رانینگ در سطحی پیشرفتهتر نیز وجود دارد.
فرانت رانینگ با تعویض ترتیب تراکنشها
در شبکه بلاکچین، تراکنشها بلافاصله پردازش نمیشوند؛ بلکه ابتدا وارد صفی ویژه به نام ممپول (Mempool) یا استخر تراکنش میشوند. تنها پس از آنکه ماینرها یا اعتبارسنجها آنها را پردازش کردند، تراکنشها به دفترکل بلاکچین اضافه میشوند. معمولاً ماینرها تراکنشهایی را که کارمزد بالاتری دارند انتخاب میکنند، چراکه این کار برای آنها سود بیشتری به همراه دارد.
از آنجا که جزئیات تراکنشهای در انتظار پردازش در ممپول قابل مشاهده است، هر کاربری including فرانت رانرها میتواند به این دادهها دسترسی داشته باشد. فرانت رانرها با استفاده از فیلترهای خاص، تراکنشهای هدفمند را شناسایی و بر اساس آنها اقدام میکنند.
به این ترتیب، با تغییر اولویت پردازش تراکنشها و ایجاد اختلال در صف، فرانت رانر قادر است سود شخصی به دست آورد.
پس از انتخاب تراکنش هدف، فرانت رانر با بهکارگیری یک استراتژی مخرب، کارمزدی بالاتر برای تراکنش خود تعیین میکند تا اولویت پردازش آن نسبت به سایر تراکنشها بیشتر شود. این اقدام باعث میشود تراکنش وی زودتر انجام شده و سودی تقریباً تضمینشده نصیب او شود. برای اجرای موفق چنین حملاتی، سرعت عمل بسیار بالا و استفاده از تکنیکهای خاص ضروری است؛ به همین دلیل، در بیشتر مواقع این کار توسط رباتهای از پیش برنامهنویسیشده بهصورت خودکار انجام میگیرد.
علاوه بر این، نوع دیگری از فرانت رانینگ با نام حمله ساندویچی شناخته میشود. در این روش، فرانت رانر دو تراکنش جداگانه را قبل و بعد از تراکنش قربانی قرار میدهد. این حمله عمدتاً در بازارهایی رخ میدهد که مبتنی بر بازارساز خودکار (AMM) هستند. چنین حملاتی به هکر امکان میدهد با بهرهبرداری از تغییرات سریع قیمت، سود قابلتوجهی به دست آورد.
شیوه کارکرد ربات فرانت رانینگ
یک فرانت رانر برای پیادهسازی و اجرای ربات فرانت رانینگ به دو مزیت اساسی نیاز دارد:
-
حساب اتریوم: فرانت رانر باید به یک حساب مشخص برای ارسال تراکنشهای دستکاریشده دسترسی داشته باشد. این حساب میتواند یک حساب عادی اتریوم یا یک کیف پول هوشمند باشد.
-
عملیات بکاند: این بخش بهعنوان «مغز متفکر» فرانت رانینگ عمل میکند و خارج از زنجیره اجرا میشود. در عملیات بکاند، کدهای ویژهای طراحی و پیادهسازی میشوند که وظیفه آنها بررسی تراکنشهای در انتظار پردازش و تغییر پارامترهای خاص برای افزایش سودآوری حمله است.
رباتهای فرانت رانینگ مستقیماً تراکنشهای خود را به ماینرها ارسال میکنند تا در شبکه ثبت شود. این رباتها همچنین تلاش میکنند تراکنشهای ویژهشان از دید سایر رقبا مخفی بماند. ماینرها هم به دلیل دریافت کارمزد بالاتر، انگیزه دارند تا این تراکنشها را در اولویت پردازش قرار دهند.
نمونهای از حمله رباتهای فرانت رانینگ در حوزه کریپتو
در ژانویه ۲۰۲۲، توکنی به نام WTF عرضه شد که بلافاصله هدف حمله فرانت رانینگ قرار گرفت. تیم پروژه در ابتدا نقدینگی محدودی به استخر صرافی غیرمتمرکز یونیسواپ اضافه کرد که همین موضوع توجه فرانت رانرها را جلب کرد. پس از آن، یک ربات حجم زیادی از توکن WTF خریداری کرد و موجب جهش سریع قیمت شد. در ادامه، رباتهای دیگر وارد عمل شدند و با پیشیگرفتن از کاربران عادی، توکنها را با قیمتهای بالاتر معامله کردند. این روند منجر به تخلیه بخش بزرگی از موجودی استخر شد.
با خالی شدن استخر یونیسواپ از توکن WTF، قیمت آن باز هم افزایش یافت و بسیاری از کاربران ناچار شدند مبالغ زیادی برای خرید این توکن پرداخت کنند. در نهایت، نتیجه این ماجرا سقوط شدید قیمت WTF، متضرر شدن کاربران عادی و کسب سود هنگفت توسط فرانت رانرها بود.
چگونه میتوانیم جلوی حمله Front Running را بگیریم؟
برای کاهش احتمال وقوع حملات فرانت رانینگ در دنیای ارزهای دیجیتال و دیفای، چند راهکار عملی وجود دارد که رعایت آنها میتواند امنیت معاملات کاربران را افزایش دهد.
تنظیم درصد لغزش
«لغزش» (Slippage) به اختلاف اندکی در قیمت گفته میشود که بین زمان ثبت سفارش و لحظه پردازش نهایی معامله رخ میدهد. برای جلوگیری از سوءاستفاده فرانت رانرها، پیشنهاد میشود معاملهگران درصد لغزش بسیار پایینی for example حدود ۰.۱ درصد را تنظیم کنند. این موضوع دست رباتهای فرانت رانینگ را برای کسب سودهای کلان از اختلاف قیمت میبندد.
البته باید در نظر داشت که تنظیم لغزش بسیار پایین میتواند باعث شود برخی تراکنشها هرگز انجام نشوند. بنابراین تریدرها باید میان ریسک انجامنشدن معامله و محافظت در برابر حملات فرانت رانینگ تعادل ایجاد کنند.
افزایش هزینه گس
یکی دیگر از روشها، بالا بردن کارمزد گس است. این کار باعث میشود اجرای حملات فرانت رانینگ برای هکرها هزینهبر و دشوار شود، زیرا مجبور خواهند بود کارمزد بسیار بیشتری پرداخت کنند تا تراکنش خود را جلوتر قرار دهند. با این حال، ایراد این راهکار آن است که کاربر باید همواره هزینه بیشتری بابت کارمزد تراکنشها بپردازد.
بهطور کلی، امکان انتخاب تراکنشهای گرانتر روشی است که ماینرها و اعتبارسنجها را تشویق میکند تراکنشها را سریعتر پردازش کنند. با این حال، همین موضوع یکی از چالشهای اصلی درباره عدالت در پردازش تراکنشهای بلاکچین محسوب میشود. برای رفع این مشکل، راهکارهایی مانند شمارهگذاری تراکنشها، محدودکردن نمایش کامل دادههای تراکنش، استفاده از یک ناظر برونزنجیرهای برای ترتیببندی و همچنین تعیین سقف قیمت گس پیشنهاد شده است.
کاهش دسترسپذیری دادههای تراکنش
یکی از دلایل اصلی موفقیت حملات فرانت رانینگ، شفافبودن جزئیات تراکنشها در ممپول است. برای مقابله با این مسئله میتوان از فناوریهایی مانند اثبات دانش صفر (zk-SNARK) استفاده کرد. این فناوری اطلاعات تراکنش را رمزگذاری میکند تا برای رباتهای فرانت رانینگ غیرقابلخواندن شود.
البته، فناوری zk-SNARK هنوز در مراحل اولیه توسعه است و با چالشهایی نظیر مصرف بالای گس و مشکلات احتمالی در کارایی شبکه مواجه است. با این وجود، ابزارهایی از این دست که توانایی پنهانسازی اطلاعات حساس تراکنش را دارند، میتوانند نقش مهمی در جلوگیری از حملات فرانت رانینگ ایفا کنند.
فناوریهای ضد فرانت رانینگ
علاوه بر zk-SNARK، برخی فناوریها بهطور ویژه برای مقابله با فرانت رانینگ طراحی شدهاند. برای مثال، شبکه تایچی (TaiChi) که توسط استخر استخراج اسپارکپول (SparkPool) توسعه یافته، سرویس تراکنش خصوصی ارائه میدهد. این شبکه تراکنشها را بهصورت محرمانه پردازش میکند تا نودها نتوانند اطلاعات آنها را در ممپول مشاهده و دستکاری کنند.
همچنین، پروتکل دیفای کیپردائو (KeeperDAO) از ممپول اختصاصی به نام هایدینگبوک (Hiding Book) استفاده میکند. این سیستم تراکنشهایی با کارمزد بالا را انتخاب کرده و سود حاصل را به شکل پنهانی ذخیره میکند. سپس این سود میان نودهای مشارکتکننده توزیع میشود و آنها توکنهایی به نام ROOK دریافت میکنند.
سخن پایانی
فرانت رانینگ یکی از چالشهای جدی در بازارهای مالی سنتی و همچنین در اکوسیستم بلاکچین به شمار میرود. دسترسی ناعادلانه به اطلاعاتی مانند جزئیات تراکنشها پیش از پردازش نهایی، این امکان را برای بازیگران مخرب فراهم میکند که ترتیب تراکنشها را به نفع خود تغییر دهند. نتیجه این اقدام، کسب سود نامشروع برای برخی افراد و برهمزدن روند طبیعی پردازش در شبکه است.
با این حال، راهکارهایی نظیر تعیین درصد لغزش پایین برای معاملات، پرداخت کارمزد گس بالاتر، محدودسازی دسترسی به دادههای تراکنش و استفاده از فناوریهای ضد فرانت رانینگ میتوانند در کاهش احتمال وقوع این حملات مؤثر باشند و امنیت بیشتری برای کاربران بازارهای مالی غیرمتمرکز ایجاد کنند.
نظری ثبت نشده است.