تیم بیکو، توسعهدهنده هسته اتریوم، در تاریخ ۲۲ فوریه ۲۰۲۵ مقالهای طولانی منتشر کرد و در آن توضیح داد چرا اتریوم نمیتواند برای معکوس کردن حملات هکری، مانند حمله اخیر به بایبیت، به عقب بازگردانده شود (Rollback).
تیم بیکو در مقاله خود به بررسی رویدادهای تاریخی بیت کوین و TheDAO پرداخت و توضیح داد که چرا بازگرداندن بلاکچین در اکوسیستم امروزی اتریوم امکانپذیر نیست.
چرا اتریوم را نمیتوان به عقب بازگرداند؟ یا به اصطلاح رول بک کرد؟
پس از حمله هکری گروه لازاروس به بایبیت، برخی بار دیگر این پرسش را مطرح کردهاند که چرا اتریوم نمیتواند بلاکچین را رول بک (Rollback) یا به اصطلاح به عقب بازگرداند، تا این هک را معکوس کرد.
افراد باتجربه در اکوسیستم تقریباً متفقالقول بر این باورند که انجام چنین کاری امکانپذیر نیست، توضیح دلیل این امر برای افرادی که کمتر در این حوزه تخصص دارند، مفید خواهد بود. اگر شما نیز از جمله افرادی هستید که درک روشنی از این موضوع ندارید، در این مقاله از میهن بلاکچین، به سادگی توضیح میدهیم که چرا رول بک اتریوم، یا همان بازگرداندن اتریوم به حالت قبلی غیرممکن است.
پیشینهای از مفهوم رول بک (Rollback) یا بازگردانی در بلاکچین
مفهوم رول بک (Rollback) بلاکچین از حادثهای در روزهای نخستین بیت کوین نشأت میگیرد. در سال ۲۰۱۰، کمتر از دو سال پس از راهاندازی شبکه بیت کوین، اشکالی نرمافزاری در کلاینت بیت کوین باعث شد که در بلاک شماره ۷۴۶۳۸ تعداد ۱۸۴ میلیارد BTC (بله، میلیارد) ایجاد شود.
برای رفع این مشکل، ساتوشی ناکاموتو نسخهای از نرمافزار بیت کوین منتشر کرد که این تراکنشها را نامعتبر اعلام میکرد. این تغییر بهطور مؤثری بلاکچین را تا بلاک شماره ۷۴۶۳۷ به عقب بازگرداند. در کمتر از یک روز، زنجیره جدید توانست مقدار کافی از اثبات کار (هشپاور) را جمعآوری کند تا بهعنوان زنجیره اصلی پذیرفته شود. در نتیجه، تمامی تراکنشهایی که در بلاکهای بعدی پردازش شده بودند، مجدداً در زنجیره جدید گنجانده شدند.
باید توجه داشت که در آن زمان، سختی استخراج بیت کوین ۱۰ میلیارد بار کمتر از مقدار کنونی بود و قیمت BTC در برابر دلار حدود ۰.۰۷ دلار بود. این شرایط باعث شد که بازگرداندن زنجیره بیت کوین در آن زمان بهسادگی انجام شود.
چرا بازگردانی بلاکچین در بیت کوین ممکن بود؟
آسیبپذیری مشخص در پروتکل
دلیل اصلی بازگردانی بیت کوین در آن زمان این بود که مشکل، ناشی از آسیبپذیری واضحی در پروتکل بود. این آسیبپذیری باعث ایجاد تراکنشهایی شده بود که از نظر حجم، غیرعادی و بهآسانی قابل شناسایی بودند.
مقیاس کوچک شبکه در آن زمان
در سال ۲۰۱۰، بیت کوین هنوز در مراحل ابتدایی خود بود. تعداد کاربران و گرههای (نودهای) شبکه بسیار کمتر از امروز بود و انتشار نسخه جدید کلاینت بهآسانی انجام میشد. همچنین، چون سختی استخراج بسیار پایین بود، استخراج زنجیره جدید زمان زیادی نمیبرد.
نبود اکوسیستم مالی گسترده
در آن دوران، قیمت بیت کوین بسیار پایین بود و هنوز بازارهای مالی پیچیدهای حول آن شکل نگرفته بود. بنابراین، هزینه اقتصادی ناشی از بازگردانی بلاکچین بسیار ناچیز بود.
اتریوم و TheDAO
تاریخ اولیه اتریوم هم شاهد بحرانی بود که در نگاه اول ممکن است شباهت ظاهری به برخی دیگر از مشکلات بلاکچینی داشته باشد که همین موضوع باعث ایجاد سردرگمی در مورد امکانپذیر بودن رول بک بلاکچین شده است. یکی از این بحرانها مربوط به حملهای بود که در سال ۲۰۱۶ به TheDAO انجام شد. TheDAO یکی از محبوبترین برنامههای مبتنی بر اتریوم در آن زمان بود و تقریباً ۱۵٪ از کل اترهای در گردش را در اختیار داشت. متأسفانه، هکرها موفق شدند آسیبپذیری در کد این برنامه پیدا کنند و از طریق آن، تمامی این وجوه را به سرقت ببرند.
تفاوت هک TheDAO با مشکل بیت کوین
برخلاف ماجرای بیت کوین که در آن پروتکل اصلی بلاکچین دچار نقص شده بود، در مورد TheDAO هیچ مشکلی در پروتکل اتریوم وجود نداشت. در واقع، بلاکچین اتریوم بهدرستی کار میکرد و نقص امنیتی مربوط به کد قرارداد هوشمند برنامه TheDAO بود، نه پروتکل پایه اتریوم. بنابراین، مشکل اینجا بود که برنامهای کاربردی که بر بستر اتریوم ساخته شده بود، دارای نقص امنیتی بود و این مسئله ربطی به عملکرد کلی شبکه نداشت.
فرصت ویژه برای واکنش به حمله
خوشبختانه، توسعهدهندگان TheDAO مکانیزمی ایمنی در نظر گرفته بودند که باعث میشد تمام وجوه برنامه به مدت یک ماه مسدود باقی بمانند و تنها پس از این بازه زمانی، امکان برداشت آنها وجود داشته باشد. این ویژگی، فرصتی منحصربهفرد را برای جامعه اتریوم فراهم کرد تا برای مقابله با این حمله، راهحلی ارائه کند. در این بازه زمانی، میشد کد برنامه را تغییر داد تا مانع از آن شد که وجوه سرقتشده به دست هکرها بیفتند.
با این حال، از آنجا که خود برنامه TheDAO قادر به اصلاح این مشکل نبود، این تغییر باید در سطح خود بلاکچین اتریوم انجام میشد. این کار مستلزم آن بود که توسعهدهندگان پروتکل اتریوم مستقیماً در تاریخچه بلاکچین تغییراتی ایجاد کنند. این نوع تغییرات که به جای انجام شدن از طریق تراکنشهای معمولی، بهصورت دستی در پایگاه داده شبکه صورت میگیرد، تغییر نامنظم در وضعیت (Irregular State Change) نامیده میشود.
مقایسه با مشکل بیت کوین
اگر بخواهیم تفاوت این ماجرا را با مشکل سال ۲۰۱۰ بیتکوین مقایسه کنیم، این دو حادثه تفاوتهای اساسی با یکدیگر دارند. در مورد مشکل بیت کوین، جامعه تصمیم گرفت که بلاکچین را دوباره استخراج کند و تراکنشهای مشکلدار را نادیده بگیرد. اما در مورد TheDAO، مشکل در قرارداد هوشمندی خاص بود، بنابراین تیم اتریوم به جای بازگردانی کل بلاکچین، تصمیم گرفتند که بهطور مستقیم مقدار داراییهای سرقتشده را صفر کنند.
در واقع، اگر در سال ۲۰۱۰ توسعهدهندگان بیت کوین نیز میخواستند از روش اتریوم استفاده کنند، باید به جای بازگردانی بلاکچین، مستقیماً موجودی آدرسی که ۱۸۴ میلیارد BTC دریافت کرده بود را صفر میکردند. این نشان میدهد که راهکاری که برای TheDAO اتخاذ شد، کاملاً متفاوت از راهحل بیت کوین بود.
اختلافنظر در جامعه اتریوم و شکلگیری اتریوم کلاسیک
اجرای این تغییر در بلاکچین اتریوم بسیار بحثبرانگیز بود. برخی از ماینرها و توسعهدهندگان بر این باور بودند که چنین تغییری برخلاف اصول بنیادین بلاکچین است و نباید تاریخ تراکنشها را بهطور دستی تغییر داد. در نتیجه، بخشی از جامعه اتریوم تصمیم گرفتند که این تغییر را قبول نکنند و زنجیره اصلی را همانطور که بود ادامه دهند. این رویداد در نهایت منجر به شکاف در شبکه اتریوم شد.
در نتیجه، دو نسخه متفاوت از اتریوم ایجاد شد:
- اتریومی که تغییرات نرمافزاری را اجرا کرد و همان چیزی است که امروزه بهعنوان Ethereum (ETH) شناخته میشود.
- زنجیره اصلی که تغییر را نپذیرفت و همچنان طبق قوانین اولیه خود به کارش ادامه داد، که امروزه به نام Ethereum Classic (ETC) شناخته میشود.
چرا وضعیت TheDAO خاص و منحصربهفرد بود؟
ماجرای TheDAO موردی کاملاً خاص بود که شرایط آن در بسیاری از حملات امروزی وجود ندارد. چند ویژگی مهم که باعث شد جامعه اتریوم بتواند با این حمله مقابله کند، عبارتند از:
- تمام وجوه سرقتشده مسدود شده بودند: از آنجایی که قرارداد TheDAO اجازه نمیداد وجوه سرقتشده بلافاصله برداشت شوند، جامعه اتریوم یک ماه فرصت داشت تا راهکاری برای حل این مشکل پیدا کند.
- هیچ سرایت (Contagion) در شبکه وجود نداشت: وجوه هکشده در جایی مشخص باقی مانده بودند و هکر نمیتوانست آنها را بین آدرسهای مختلف جابهجا کند. این یعنی نیازی به بازی بیپایان موش و گربه بین هکر و توسعهدهندگان نبود.
- امکان هماهنگی برای ارتقاء نرمافزاری وجود داشت: از آنجا که جامعه اتریوم زمان کافی برای بحث و تصمیمگیری داشت، توانست با ارتقایی نرمافزاری این مشکل را حل کند. اگر وجوه قابلانتقال بودند، هکر میتوانست بهراحتی قبل از اجرای تغییرات، آنها را جابهجا کند و تلاشهای جامعه اتریوم را بیاثر سازد.
ارتباط این موضوع با حمله به بایبیت
این ماجرا نشان میدهد که در بسیاری از حملات امروزی، امکان بازگردانی بلاکچین به هیچ وجه وجود ندارد. در حمله به بایبیت، شرایط کاملاً متفاوت از ماجرای TheDAO است. برای مثال:
- هیچ مکانیزمی برای مسدود کردن وجوه وجود ندارد، بنابراین هکرها بلافاصله داراییهای سرقتشده را به کیفپولهای مختلف منتقل کردهاند.
- اگر جامعه بخواهد بهصورت دستی داراییهای هکرها را صفر کند، آنها از قبل وجوه را بین هزاران آدرس توزیع کردهاند، که این کار را غیرممکن میسازد.
- هماهنگی بین تمامی اعتبارسنجها و نودهای شبکه اتریوم در مدت زمان کوتاه عملاً غیرممکن است.
بنابراین، برخلاف هک TheDAO که شرایط بسیار خاصی داشت، در حملاتی مانند بایبیت، هیچ راهکاری برای بازگردانی بلاکچین وجود ندارد و این نشان میدهد که چرا ایده برگرداندن اتریوم به حالت قبل از حمله، در دنیای امروز غیرعملی است.
چرا نمیتوانیم بلاکچین اتریوم را به عقب بازگردانیم؟
اوایل این هفته، تعداد ۴۰۱,۳۴۶ اتر (به ارزش تقریبی ۱.۴ میلیارد دلار) از صرافی بایبیت (Bybit) به سرقت رفت. علت این سرقت، امضای تراکنشهای فریبنده توسط متولی وجوه (Custodian) از طریق رابطی چندامضایی به خطر افتاده بود.
ریشه اصلی این هک: فراتر از مشکلات TheDAO و بیت کوین
این حمله تفاوتهای قابل توجهی با حمله به TheDAO در سال ۲۰۱۶ و آسیبپذیری ایجاد ۱۸۴ میلیارد بیت کوین در سال ۲۰۱۰ دارد. در این مورد، نه پروتکل اتریوم و نه برنامه چندامضایی که بایبیت از آن استفاده میکرد دچار مشکل نبودند. در واقع، علت این حمله یک رابط کاربری مخرب بود که باعث شد تراکنشها بهگونهای ظاهر شوند که گویی کار درستی انجام میدهند، در حالی که در واقعیت، کار کاملاً متفاوتی در حال اجرا بود.
از دید پروتکل اتریوم، این تراکنش با سایر تراکنشهای معتبر شبکه تفاوتی ندارد. هیچ نقض آشکاری در قوانین شبکه وجود ندارد که بتوان آن را مانند مشکل بیتکوین با وصلهای نرمافزاری (Patch) اصلاح کرد. به همین دلیل، امکان شناسایی و حذف این تراکنش بهصورت مستقل از سایر تراکنشهای صحیح وجود ندارد.
تفاوت کلیدی با حمله TheDAO
یکی از بزرگترین تفاوتها بین این حمله و حمله TheDAO در زمانبندی انتقال وجوه است. در ماجرای TheDAO، به دلیل ویژگی خاص کد قرارداد هوشمند، وجوه هکشده برای یک ماه مسدود شده بودند. این به جامعه اتریوم زمان کافی داد تا مداخله کرده و راهحلی ارائه دهد. اما در حمله اخیر به بایبیت، هکر بلافاصله پس از حمله شروع به جابهجایی وجوه روی زنجیره کرد.
حتی اگر بتوانیم مشکل بازی موش و گربه را که در بالا توضیح داده شد، حل کنیم، اکوسیستم اتریوم امروز با سال ۲۰۱۶ کاملاً متفاوت است.
اتریوم امروز: اکوسیستمی بسیار پیچیده و بههمپیوسته
یکی از چالشهای اصلی که در سالهای اخیر به وجود آمده، پیوستگی بالای داراییهای دیجیتال در اکوسیستم دیفای و ارتباط با دیگر بلاکچینها است. در سال ۲۰۱۶، تأثیر تغییرات روی بلاکچین اتریوم نسبتاً محدود بود، اما امروز وضعیت کاملاً فرق کرده است.
برخی از تفاوتهای کلیدی اتریوم امروز با گذشته:
- وجود دیفای (DeFi) و پلهای میانزنجیرهای (Cross-Chain Bridges): امروزه، داراییهای دیجیتال میتوانند بهسرعت و بهسادگی در اکوسیستم گسترده دیفای ترکیب شوند. برای مثال، هکری میتواند وجوه سرقتشده را در صرافی غیرمتمرکزی مبادله کند، سپس توکنهای جدید را بهعنوان وثیقه در پروتکل وامدهی قرار دهد و داراییهای وامگرفتهشده را به بلاکچینی کاملاً متفاوت منتقل کند. این موضوع ردیابی و بازیابی داراییهای سرقتشده را بهشدت دشوار میکند.
- تأثیرات گسترده تغییرات غیرعادی در وضعیت شبکه: اگر حتی تغییر نامنظمی در وضعیت شبکه (Irregular State Change) از لحاظ اجتماعی پذیرفته شود، این تغییرات موجهای غیرقابلکنترلی در کل اکوسیستم ایجاد خواهد کرد. برای مثال، بازگردانی کامل بلاکچین (Rollback) به این معنی است که تمام تاریخچه اخیر زنجیره نامعتبر خواهد شد. این مشکل بزرگی ایجاد میکند، زیرا بسیاری از تراکنشهای نهاییشده، که تأثیرات آنها فراتر از بلاکچین اتریوم است، دیگر قابل بازگردانی نخواهند بود.
- تأثیرات روی تراکنشهای خارج از زنجیره (Off-Chain): برخی از تراکنشها اثراتی دارند که خارج از بلاکچین اتریوم رخ میدهد. برای مثال: معاملات در صرافیهای متمرکز (مانند فروش توکنها در یک اکسچنج) یا تسویه داراییهای واقعی (RWA Redemptions) مانند تبدیل توکنهای دیجیتال به داراییهای واقعی؛ اگر بلاکچین اتریوم به عقب بازگردانده شود، ممکن است معاملهای درونزنجیرهای بازگردانی شود، اما بخش برونزنجیرهای آن معامله همچنان معتبر باقی بماند، که باعث ایجاد تناقضهای بزرگ اقتصادی میشود.
آیا بازگردانی وضعیت در شرایط خاص امکانپذیر است؟
از لحاظ فنی، هنوز هم میتوان تغییرات نامنظمی در وضعیت شبکه اعمال کرد، اما تنها در شرایطی که داراییها مسدود شده و تحت قرنطینه باشند. آخرین باری که چنین تغییری پیشنهاد شد، در سال ۲۰۱۸ بود، زمانی که حدود ۵۰۰,۰۰۰ اتر در اثر آسیبپذیری در کیفپول چندامضایی Parity مسدود شد. برای حل این مشکل، پیشنهاد EIP-999 ارائه شد که قصد داشت از طریق تغییر وضعیتی غیرعادی این وجوه را آزاد کند.
اما جامعه اتریوم بهشدت با این پیشنهاد مخالفت کرد، زیرا پس از ماجرای TheDAO، بیشتر افراد در جامعه به این نتیجه رسیدند که بازگردانی وضعیت شبکه یا اعمال تغییرات دستی، مخالف اصول تغییرناپذیری بلاکچین (Immutability) است.
نتیجهگیری: چرا بازگردانی بلاکچین اتریوم غیرممکن است؟
با اینکه بیت کوین ۱۵ سال پیش توانست بلاکچین خود را به عقب بازگرداند، امروزه ساختار پیچیده اتریوم، پیوستگی بالای تراکنشهای آن با دیگر بلاکچینها و تعامل بین تراکنشهای درونزنجیرهای و برونزنجیرهای باعث شده است که بازگردانی زنجیره غیرممکن باشد.
حتی اگر جامعه اتریوم اجماع اجتماعی برای تغییر وضعیت شبکه داشته باشد، اثرات این تغییر به قدری گسترده خواهد بود که مدیریت آن عملاً امکانپذیر نخواهد بود. بنابراین، برخلاف سالهای گذشته، هیچ راهکاری برای بازگرداندن تراکنشهای سرقتشده بایبیت وجود ندارد و این نشان میدهد که اصول تغییرناپذیری بلاکچین امروزه بیش از هر زمان دیگری تثبیت شده است.