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