
دو حمله جداگانه به سازوکار حاکمیت پروژه رمزارزی X100 و پروتکل وامدهی Arkadiko، ضعفهای متفاوتی را در فاصله میان خرید قدرت رأی، تصویب تصمیم و اجرای آن آشکار کرد. در حمله X100، مهاجم با وام آنی حدود ۱.۹۴ میلیون تتر توانست در یک تراکنش دو کرسی از سه کرسی سنا را به دست آورد، انتقال دارایی خزانه را تصویب کند و وام را بازپرداخت کند. در Arkadiko نیز خرید دیرهنگام توکنهای رأیدهی به فعالشدن یک قرارداد مخرب و زیانی حدود ۱.۰۹ میلیون دلار انجامید. گزارش اولیه این رویدادها را CryptoSlate منتشر کرده است.
حمله X100؛ قدرت رأی فوری با توکنهای قفلشده
خزانه X100 زیر نظر نهادی به نام سنا اداره میشود. قرارداد Freezer توکنهای X را برای دورههای یک، سه یا پنجساله قفل میکند و مقدار توکن قفلشده، مبنای رتبهبندی نامزدهای سنا است. با این حال، قوانین موجود حداقل سن یا مدت نگهداری برای این سهام در نظر نگرفته بود.
در نخستین حمله در ۲۴ اکتبر، دو قرارداد کمکی هرکدام ۱۹٬۰۰۰.۰۰۰۰۰۱ توکن X را برای یک سال قفل کردند. همین قراردادها ثبت شدند، در رتبهبندی قرار گرفتند و دو رأی لازم برای اجرای پیشنهاد شماره ۷ را فراهم کردند. چون دو کرسی از سه کرسی در اختیار آنها بود، اکثریت لازم برای اقدام فوری ایجاد شد؛ همه این مراحل نیز در یک تراکنش انجام گرفت.
پیشنهاد تصویبشده، انتقال ۴۰۰ هزار توکن X از خزانه به یک استخر ایجادشده توسط مهاجم بود. در مقابل، قرارداد Freezer فقط ۳۵.۶۷۵۳۱۳ تتر دریافت کرد. مهاجم سپس توکنهای منتقلشده را از استخر خارج و بخشی از X را برای تأمین وجه بازپرداخت وام فروخت.
وام آنی حدود ۱.۹۴ میلیون تتر بود و اصل و کارمزد آن در همان تراکنش بازپرداخت شد. پس از تسویه، حدود ۴.۷۵ میلیون تتر به نخستین دریافتکننده نهایی رسید. فیلیپپارک، مشارکتکننده ChainBounty، مجموع پرداختهای قابل ردیابی به سه دریافتکننده منتخب را ۴.۸۴۸ میلیون تتر اعلام کرد. این رقم ارزش توکنهای X فروختهنشده و تغییرات ارزش آنها را شامل نمیشود.
توکنهای X قفلشده همچنان در Freezer باقی ماندند. بنابراین مهاجم برای بازپرداخت وام، نیازی به آزادکردن سهام خریداریشده نداشت و میتوانست از منابع حاصل از انتقال خزانه و فروش توکن استفاده کند. این قرارداد پس از اجرا همچنان باید موجودی کافی برای پوشش کل اصل توکنهای قفلشده کاربران داشته باشد، اما این محدودیت از نقدینگی بیرونی استخر یا ارزش بازار X محافظت نکرد.
Arkadiko؛ رأیگیری پنجروزه بدون فاصله ایمنی
در Arkadiko، پروتکلی که کاربران در برابر وثیقه خزانه وام میگیرند، پیشنهاد شماره ۱۲ در ساعت ۲۰:۳۵ روز ۱۷ اکتبر ثبت شد و قرار بود پس از ۷۲۰ بلاک بیتکوین، یعنی تقریباً پنج روز، پایان یابد. رأیگیری اما دو روز زودتر از این بازه به پایان رسید و در ساعت ۱۶:۰۴ روز ۲۲ اکتبر اجرا شد.
قواعد پروتکل برای ثبت پیشنهاد، داشتن ۰.۲۵ درصد از عرضه واجد شرایط DIKO را لازم میدانست. رسیدن مشارکت به ۵ درصد حد نصاب را تکمیل میکرد و تعداد آرای موافق نیز باید از آرای مخالف بیشتر میبود. با این حال، توکنها لازم نبود پیش از آغاز رأیگیری در اختیار رأیدهنده باشند.
کیف پول پیشنهاددهنده در ساعت ۱۵:۰۳:۴۶ روز ۲۲ اکتبر خرید انجام داد و سه دقیقه بعد، حدود ۴.۵۷۳ میلیون DIKO را به پیشنهاد رأی داد. پیشنهاد با همین میزان رأی موافق و بدون حتی یک رأی مخالف بسته شد. برآورد Bitquery ارزش خرید توکنهای رأیدهی را حدود ۵۱ هزار دلار اعلام میکند و تحلیل جریان تراکنشها نشان میدهد ۷۷ درصد STX ارسالشده به کیف پول رأیدهنده از برداشت قبلی StackSwap آمده بود.
تفاوت اصلی این پرونده با X100 آن است که سرمایه در چند تراکنش و در چند تاریخ وارد شد، نه در یک وام آنی واحد. با این حال، خرید دیرهنگام باعث شد توکنها در میانه رأیگیری به قدرت رأی تبدیل شوند. همزمان، پس از بستهشدن رأیگیری، قرارداد تصویبشده بدون دوره انتظار جداگانه اختیار عملیات خزانهها را دریافت کرد.
قرارداد مخرب در توابع برداشت و ضرب USDA، کنترل لازم برای محدودکردن فراخوانیکننده را نداشت. پیشنهاد شماره ۱۲ این قرارداد را بهعنوان قرارداد عملیات خزانه ثبت کرد و اجازه ضرب توکن داد. چند دقیقه پس از فعالشدن، در ساعت ۱۶:۰۶ برداشت sBTC و در ساعت ۱۶:۰۹ برداشت stSTX انجام شد. برآورد Bitquery زیان Arkadiko را حدود ۱.۰۹ میلیون دلار میداند: نزدیک به ۷۸۰ هزار دلار stSTX، حدود ۱۳۵ هزار دلار sBTC و ۱۷۳ هزار دلار STX که از فروش USDA بدون پشتوانه به دست آمد.
Arkadiko در واکنش اعلام کرد قرارداد مخرب را غیرفعال کرده و حاکمیت، بازخرید خزانهها و انحلال موقعیتها را متوقف کرده است. این پروتکل همچنین گفت برخی خزانههای stSTX و sBTC به دلیل در دسترس نبودن وثیقه قابل تغییر نیستند. در ۲۷ اکتبر ساعت ۰۷:۵۷ به وقت هماهنگ جهانی، پیشنهاد شماره ۱۴ با عنوان «بازگرداندن عملیات خزانه» اجرا شد و ورودی عملیات خزانه را به قرارداد قانونی v1-3 برگرداند. این تغییر بهتنهایی اثبات نمیکند که وثیقه بازیابی یا خسارتها جبران شدهاند.
فاصله میان رأی، اختیار و اجرای دارایی
این دو حادثه نشان میدهند قفلبودن سرمایه الزاماً به معنای تأخیر در قدرت رأی یا اجرای تصمیم نیست. در X100، قفل یکساله هزینهای برای مهاجم ایجاد کرد، اما چون سن سهام بررسی نمیشد، توکنهای تازهقفلشده فوراً اختیار سیاسی دادند. در Arkadiko نیز رأیگیری طولانی برای اطلاعرسانی زمان فراهم کرد، اما خرید توکن در روز پایانی همچنان ممکن بود و پس از پایان رأی، قرارداد فوراً فعال شد.
دو سازوکار میتوانستند این فاصله را جدا کنند: استفاده از قدرت رأی بر پایه یک تصویر تاریخی از موجودی یا الزام به قدیمیبودن سهام، و قرار دادن یک دوره تأخیر میان تصویب و اجرای تصمیم. در چنین مدلی، تصمیم تأییدشده پیش از جابهجایی دارایی در یک بازه جداگانه قابل بررسی است. با این حال، این سازوکارها فقط بخشی از مسئلهاند و محدودیتهای قرارداد مجاز برای انتقال یا ضرب دارایی نیز اهمیت جداگانه دارند.
تصویر بازار طبق دادههای Moneyiar
دادههای بازار Moneyiar در زمانهای ثبتشده نشان میدهد Nexus با نماد NEX در ۲۵ اکتبر ساعت ۲۲:۳۸ به وقت تهران، ۰.۰۰۰۰۰۰۶۱۵۱ دلار قیمت داشت؛ تغییر ۲۴ساعته آن ۱.۶۱ درصد مثبت و تغییر هفتروزهاش ۱۳.۹۷ درصد منفی بود.
در ساعت ۲۲:۳۹ همان روز، قیمت AKEDO با نماد AKE برابر ۰.۰۳۱۰۱۵۷۵۲ دلار بود؛ این دارایی در ۲۴ ساعت ۰.۸ درصد و در هفت روز ۲.۵ درصد رشد کرده بود. Allora با نماد ALLO در همین زمان ۰.۱۸۱۶۷۱۶۶۴۸ دلار معامله میشد؛ تغییر ۲۴ساعته آن ۳.۰۷ درصد منفی و تغییر هفتروزهاش ۱۲.۲۷ درصد منفی بود. همچنین Propy با نماد PRO در ۲۵ اکتبر ساعت ۱۷:۱۹ به وقت تهران، ۰.۳۳۱۸۷۷۲۹۴۳ دلار قیمت داشت؛ عملکرد ۲۴ساعته آن ۱.۷ درصد مثبت و عملکرد هفتروزهاش ۳.۹۵ درصد منفی ثبت شد.