حملات ساندویچی – معروف ترین حمله در دیفای
مطالعه CipherTrace در سال گذشته، تصویر غم انگیزی را نشان می دهد. اگرچه که ضررهای کاربران رمزارزی از حملات سایبری به طور چشمگیری با 57 درصد کاهش در سال 2020 به 1.9 میلیارد دلار (در مقایسه با 4.5 میلیارد دلار در سال 2019) رسیده است اما کلاهبرداری در فضای DeFi همچنان در حال رشد است و قربانیان بیشتری را شامل شده است. یکی از این کلاهبرداری ها حملات ساندویچی (Sandwich Attack) است که در این مقاله به توضیح آن می پردازیم.
به نقل قول از دیوید جوانس، مدیر اجرایی CipherTrace:
“با بلوغ مؤسسات مالی و اتخاذ تدابیر امنیتی قوی تر، سرقت های ناشی از هک علیه صرافی های متمرکز همچنان کاهش می یابد. مقررات و اجرا، طرح های کلاهبرداری متمرکز را کاهش می دهد، که مجرمان را به سمت بهره برداری از خدمات مالی غیرمتمرکز سوق می دهد. پلتفرم های دیفای از معافیت های بسیاری از رژیم های اجرایی نظارتی سنتی برخوردار هستند که صرافی های متمرکز، مشاغل خدمات پولی و بانک ها با آن مواجه هستند… این باعث می شود تا مکان هایی ایدهآل برای جا به جایی و پول شویی باشند.”
کاربران DEX باید از چنین اقدامات شرورانه ای آگاه باشند زیرا صرافی های غیرمتمرکز نگهداری دارایی را به نهاد واسط واگذار نمی کنند. دیفای به دلیل ماهیت غیرمتمرکز خود دارای مقررات صفر از سوی دولت های ملی است که این امر معامله گران ناآگاه را در معرض اعمال و رفتارهای غارتگرانه مانند حملات (Front-Running) پیشروی، پامپ، تخلیه معاملات و شستشوی حساب ها قرار می دهد.
حملات ساندویچی نوعی تکنیک پیشرو و رایج در DeFi است که زیرمجموعه حملات Front-Running قرار می گیرد. برای تبدیل Front-Running به یک ساندویچ، معامله گر غارتگر یک تراکنش معلق در شبکه P2P بلاکچین را پیدا می کند و سپس سعی می کند با قرار دادن یک سفارش درست قبل از تراکنش (در مرحله اول) و یک سفارش درست بعد از آن (دوباره) تراکنش معلق را ساندویچ کند (مانند نان برگر که نصف آن در بالا و نصف دیگر آن در پایین محتویات داخل ساندویچ احاطه می کند)، این استراتژی مبتنی بر ایده دستکاری قیمت یک دارایی در نتیجه خرید/فروش آن است.
شفافیت بلاکچین، همراه با تأخیر در اجرای سفارش ها، پیشروی را آسان می کند و به طور چشمگیری بر امنیت دارایی های معاملهگران تأثیر میگذارد.
در این نوع حمله، مهاجم قصد دارد دارایی Y را با قیمت کمتری بخردو آن را با قیمت بالاتری به قربانی بفروشد. به بیان دیگر، تمام تراکنش های بلاکچین به طور آشکار در mempool مشاهده می شوند و به محض اینکه معامله گر غارتگر متوجه معامله معلق قربانی بالقوه خود در مورد دارایی X که با دارایی Y معامله شده است، می شود، تراکنش قربانی را با خرید دارایی Y در تراکنش اول به قیمت کمتر و فروش آن به قربانی در تراکنش سوم با قیمت بالاتر به کسب سود می پردازد.
بیشتر بدانبم: صندلی داغ شماره 21
تشریح حملات ساندویچی
این ایده ساده به نظر می رسد و دسترسی به آن راحت است. اگرچه داده هایی وجود دارد که نشان می دهند شکارچیان حرفه ای بطور روزانه در حدود ۴۰۰۰ دلار از ساندویچ کردن درآمد دارند اما این تکنیک همیشه آنطور که به نظر می رسد نیست. در ادامه با تجزیه و تحلیل یک حمله ساندویچی نگاه دقیق تری به آن خواهیم داشت.
بازارساز خودکار (AMM)
بازارساز خودکار یک الگوریتم قیمت گذاری از پیش تعریف شده است که به طور خودکار کشف قیمت و بازارسازی را بر اساس دارایی های موجود در استخرهای نقدینگی انجام می دهد. AMM به ارائه دهندگان نقدینگی اجازه می دهد تا بازار را رصد و دنبال کنند، سپس قیمت های پیشنهادی و درخواستی را تعیین کنند.
لغزش قیمت
لغزش قیمت به معنای تغییر قیمت یک دارایی در طول یک معامله تجاری است. لغزش بر اساس حجم دارایی معامله شده و نقدینگی موجود پیش بینی می شود. هر چه دارایی های بیشتری معامله شوند، لغزش مورد انتظار بیشتر خواهد بود. لغزش مورد انتظار قبل از معامله محاسبه می شود.
لغزش قیمت غیرمنتظره
لغزش غیرمنتظره قیمت به افزایش یا کاهش قیمتی گفته میشود که در طول فرآیند معامله به دلایلی نامشخص یا پیشبینی نشده رخ می دهد.
قیمت اجرایی مورد انتظار
قیمت مورد انتظار بر اساس الگوریتم AMM و حالت X/Y شمارش می شود. این قیمتی است که گیرنده نقدینگی هنگام شروع معامله روی آن حساب می کند.
قیمت اجرا
زمان لازم برای اجرای معامله ممکن است به طور چشمگیری قیمت اجرای مورد انتظار و وضعیت بازار AMM X/Y را تغییر دهد.
سقوط غیرمنتظره قیمت
تفاوت بین قیمت اجرا و قیمت اجرایی مورد انتظار.
نرخ لغزش غیرمنتظره
لغزش غیرمنتظره بیش از قیمت مورد انتظار.
به عنوان مثال، یک گیرنده نقدینگی می خواهد یک X را با 20 عدد Y، با قیمت 0.05 واحد Y معامله کند. معامله مدتی طول می کشد، و زمانی که در نهایت اجرا شد، ممکن است قیمت تغییر کرده باشد – اکنون 0.1 واحد Y است. با این قیمت، گیرنده نقدینگی فقط می تواند 10 عدد Y برای یک X بپردازد. لغزش غیرمنتظره 0.05 (0.1 – 0.05) است. در طرف مقابل، اگر قیمت اجرا به 0.25 واحد Y کاهش یابد، گیرنده نقدینگی اکنون می تواند 40 عدد Y را برای یک X بپردازد. لغزش غیرمنتظره در اینجا منفی 0.15- است (-0.25 – 0.1).
دو سناریوی اصلی:
- گیرنده نقدینگی حمله گیرنده: در این رویداد، گیرنده نقدینگی سعی می کند به گیرنده نقدینگی که تراکنش معلق AMM DEX در شبکه بلاک چین P2P دارد، حمله کند. با مشاهده تراکنش در انتظار تایید، شکارچی دو تراکنش بعدی (پیش اجرا و پشت سر هم) را منتشر می کند تا از معامله معامله گر بهره مند شود. اکنون سه تراکنش معلق وجود دارد که توسط یک استخر نقدینگی و جفت دارایی به هم متصل شده اند. ماینر باید انتخاب کند که کدام تراکنش ابتدا تایید می شود. اینجاست که شکارچی می تواند با رشوه دادن عملی به ماینر – پرداخت مبلغ کارمزد تراکنش بیشتر یا کمتر – بر این تصمیم تأثیر بگذارد.2. تامین کننده نقدینگی حمله گیرنده: در این رویداد، تامین کننده نقدینگی سعی می کند به یک گیرنده نقدینگی حمله کند. همه چیز یکسان شروع می شود: مهاجم یک تراکنش معلق را در شبکه P2P می بیند و سپس سه تراکنش را انجام می دهد:
حذف نقدینگی: پیشرو (با کاهش نقدینگی بازار دارایی، لغزش قربانی را افزایش می دهد)
افزودن نقدینگی: برگشتی (نقدینگی استخر را به مقدار قبل از حمله باز می گرداند)
تراکنش Y برای X: اجرای مجدد (تراز دارایی X را به حالت قبل از حمله باز می گرداند)
در این حمله، دشمن تمام دارایی های خود را قبل از اجرای تراکنش قربانی از استخر نقدینگی خارج می کند. با انجام این کار، شکارچی از هزینه کمیسیون برای معامله قربانی صرف نظر می کند. ارائه دهندگان نقدینگی متناسب با نقدینگی که به بازار AMM DEX ارائه می کنند، کارمزد کمیسیون دریافت می کنند.
آیا ارزش تلاش را دارد؟
همه چیز منطقی و ساده به نظر می رسد. اما سوال نهایی این است که آیا حملات ساندویچی همیشه سودآور هستند؟
معامله به تعداد توکن هایی که توانایی مالی تهیه آن را داریم منطقی ترین راه برای کسب بیشترین سود است، مگر اینکه DEX شما را ملزم به پرداخت کارمزد نکند. به عنوان مثال، Uniswap برای هر تراکنش 0.3% کارمزد دریافت می کند و مهاجم باید حداقل دو تراکنش را انجام دهد. همچنین، بیایید گس لازم برای پرداخت هر تراکنش را در نظر نگیریم، به خصوص اگر در سناریوی دوم و مجبور به پرداخت هزینه بیشتر باشیم. همه اینها ما را به این نتیجه می رسانند که فراتر از نقطه ای که کارمزدها و پورسانت ها از مقدار معامله قربانی بیشتر باشد، شکارچی هیچ سودی نمی برد.
خالق اتریوم، ویتالیک بوترین، در سال 2018 در مورد راه حل احتمالی اینچنین گفت:
“اگر به نظر می رسد که بازارساز از اسپرد ضمنی حاصل از تفاوت بین مقادیر مجازی سود کسب می کند، این سود می تواند پس از این واقعیت به کاربرانی که به نظر می رسد با قیمت های ناعادلانه خرید کرده اند، تخصیص یابد. به عنوان مثال، اگر قیمت در مدتی از P1 به P2 برود، اما در مواقعی بین P2 یا کمتر از P1 باشد، هر کسی که در آن قیمت خرید کرده باشد می تواند پس از این واقعیت معامله دیگری را برای مطالبه مقداری وجوه اضافی ارسال کند. تا جایی که بازارساز وجوه را در دسترس داشته باشد.”
آیا ما و دارایی هایمان ایمن هستیم؟
در یک کلام؛ خیر!
علاوه بر این واقعیت که ایده غیرمتمرکز بلاکچین به این معنی است که به جز خود راه حل سیستم، هیچکس در پشت معاملات وجود ندارد که از دارایی ما محافظت کند و ایمنی ما را تضمین کند، معامله گران باید درک کنند که امروز دیفای در مرحله جنینی خود با عیوب و نقص های فراوان است. پس چرا مردم ریسک می کنند و همچنان از DEX برای معامله استفاده می کنند؟
همه عناصر دیفای از جمله ارزهای دیجیتال، شبکه های بلاکچینی، سودهای بزرگ آسان، کارمزدهای بالقوه هنگفت، فقدان امنیت و قوانین دائما در حال تغییر، همگی نکات منفی هستند که کاربران اگر می خواهند بخشی از این صنعت رو به رشد باشند و ثروتمند شوند، باید از قبل آنها را بپذیرند.
اجماع
تا به امروز دیفای در برابر دستکاری قیمت ها و استراتژی های مشکوک مختلف، هم در یک بلوک و هم در کل صنعت، بسیار آسیب پذیر بوده است. ایده حمله ساندویچی هم ایده جدیدی نیست. از زمانی که ایده تامین مالی غیرمتمرکز مطرح شد، مفهوم و اثرات احتمالی آن توسط همه اعضای بازارهای غیرمتمرکز مورد بحث قرار گرفته است. به نظر می رسد که بازارساز خودکار (AMM) بهترین تصمیم برای تجارت غیرمتمرکز باشد، اما راه های گریز زیادی برای حملات مخرب باقی می گذارد. از آنجایی که DeFi افراد بیشتری را به خود جذب می کند، محافظت از معامله گران بی تجربه باید به اولویت شماره یک متخصصان بلاکچین تبدیل شود. با این حال، مفهوم تمرکززدایی نشان می دهد که هرگز یک نهاد واسط مجاز نمی تواند وجود داشته باشد که ایمنی، امنیت و غرامت تلفات را تضمین کند.
دیدگاهتان را بنویسید