بازگشت
بازگشت

رول بک در بلاکچین اتریوم: چرا بازگردانی تراکنش‌های هک‌شده ممکن نیست؟

رول بک در بلاکچین اتریوم: چرا بازگردانی تراکنش‌های هک‌شده ممکن نیست؟
نوشته شده توسط رهام بخشائي
|
۱۹ تیر، ۱۴۰۴

پس از حمله هکری گروه لازاروس به صرافی بای‌بیت، دوباره این پرسش مطرح شده که چرا شبکه اتریوم نمی‌تواند بلاکچین خود را به حالت قبلی برگرداند و این حمله را بی‌اثر کند. در اکوسیستم ارزهای دیجیتال، بسیاری از فعالان باتجربه اتفاق نظر دارند که چنین کاری عملاً شدنی نیست. برای کسانی که تازه وارد این حوزه شده‌اند و شاید مفهوم آن برایشان واضح نباشد، توضیح ساده این موضوع بسیار کاربردی خواهد بود. در این نوشتار به زبان ساده شرح می‌دهیم چرا «رول‌بک» یا بازگردانی در اتریوم قابل اجرا نیست.
 


سابقه‌ای کوتاه از بازگردانی در زنجیره‌های بلاکچین

مفهوم بازگرداندن بلاکچین یا رول‌بک از یک اتفاق تاریخی در ابتدای مسیر بیت کوین ناشی می‌شود. در سال ۲۰۱۰، کمتر از دو سال پس از آغاز به کار بیت کوین، یک باگ نرم‌افزاری در نرم‌افزار کلاینت باعث شد در یک بلاک مشخص، به اشتباه ۱۸۴ میلیارد بیت کوین ایجاد شود — عددی کاملاً غیرمنطقی. برای رفع این ایراد، ساتوشی ناکاموتو نسخه جدیدی از نرم‌افزار منتشر کرد که آن تراکنش‌های نادرست را باطل می‌کرد. این کار در واقع زنجیره بلاکچین را به چند بلاک قبل بازگرداند. با سرعت و قدرت هش بالای ماینرها، زنجیره جدید سریعاً به عنوان زنجیره اصلی پذیرفته شد و تراکنش‌های معتبر دوباره جایگزین شدند.
در آن زمان، سختی استخراج بسیار پایین بود و بیت کوین ارزش مالی بسیار کمی داشت (نزدیک به ۷ سنت)، بنابراین انجام چنین بازگردانی امکان‌پذیر و کم‌هزینه بود.

 

چه عواملی بازگرداندن بلاکچین بیت کوین را ممکن ساخت؟

وجود نقص آشکار در پروتکل: مشکل از یک باگ فنی در پروتکل بیت کوین بود که باعث ایجاد تراکنش‌هایی غیرعادی و قابل تشخیص می‌شد.
حجم کم شبکه و کاربران: تعداد کاربران و گره‌های شبکه بسیار محدود بود و به‌روزرسانی کلاینت‌ها به آسانی صورت می‌گرفت.
سختی پایین استخراج: استخراج بلاک‌های جدید با سختی بسیار کمتر به سرعت انجام می‌شد.
نبود اکوسیستم مالی پیچیده: چون بیت کوین تازه وارد بازار شده بود و ارزش آن بسیار پایین بود، بازگردانی هزینه‌های اقتصادی زیادی نداشت.

 

تجربه اتریوم و TheDAO: مقایسه‌ای متفاوت

اتریوم نیز در سال‌های ابتدایی خود دچار بحرانی مشابه شد که گاهی باعث سردرگمی درباره امکان رول‌بک در این شبکه شده است. در سال ۲۰۱۶، یکی از بزرگ‌ترین برنامه‌های اتریوم به نام TheDAO، که تقریباً ۱۵ درصد از کل اتریوم‌های در گردش را مدیریت می‌کرد، قربانی حمله‌ای شد. هکرها با بهره‌برداری از یک ضعف در کد قرارداد هوشمند TheDAO، توانستند تمام دارایی‌ها را سرقت کنند.
اما نکته مهم این است که بر خلاف باگ بیت کوین که ناشی از ایراد در پروتکل اصلی بود، اینجا مشکل از کد برنامه ساخته شده روی اتریوم بود و نه از پروتکل پایه بلاکچین. یعنی شبکه اتریوم به درستی کار می‌کرد، اما قرارداد هوشمند آسیب‌پذیر بود. بنابراین، مشکل به عملکرد شبکه مربوط نبود بلکه به نحوه طراحی و اجرای یک برنامه خاص روی آن بازمی‌گشت.

 

فرصتی محدود برای واکنش به حمله TheDAO

خوشبختانه، توسعه‌دهندگان TheDAO پیش‌بینی‌هایی داشتند که تمام دارایی‌های قرارداد به مدت یک ماه قفل بمانند و در این بازه زمانی امکان برداشت وجوه وجود نداشت. این محدودیت زمانی، فضایی را برای جامعه اتریوم فراهم کرد تا بتواند واکنشی موثر نسبت به حمله هکری داشته باشد. در این مدت، کد قرارداد هوشمند قابلیت اصلاح پیدا می‌کرد تا از انتقال دارایی‌های دزدیده شده جلوگیری شود.
با این حال، از آنجایی که خود قرارداد TheDAO توانایی رفع این نقص را نداشت، اصلاح باید در سطح شبکه اتریوم انجام می‌شد. این بدان معنا بود که تغییرات لازم باید مستقیماً در تاریخچه بلاکچین ایجاد می‌شدند. چنین مداخله‌ای که به جای تراکنش‌های عادی به صورت دستی در پایگاه داده بلاکچین صورت می‌گیرد، به عنوان «تغییر وضعیت غیرعادی» شناخته می‌شود.

 

تفاوت‌های اساسی با حادثه بیت کوین در ۲۰۱۰

اگر بخواهیم این حادثه را با رخداد سال ۲۰۱۰ بیت کوین مقایسه کنیم، تفاوت‌های بنیادینی دیده می‌شود. در بیت کوین، مشکل ناشی از یک اشکال فنی در پروتکل اصلی بود و جامعه تصمیم گرفت بلاکچین را مجدداً استخراج کند و تراکنش‌های مشکل‌دار را نادیده بگیرد. اما در مورد TheDAO، مسئله به یک قرارداد هوشمند خاص مربوط بود، بنابراین تیم توسعه اتریوم به جای بازگردانی کل بلاکچین، تصمیم گرفتند موجودی دارایی‌های دزدیده شده را به طور مستقیم صفر کنند.
به عبارتی دیگر، اگر در سال ۲۰۱۰ تیم بیت کوین می‌خواست مانند اتریوم عمل کند، باید موجودی آدرسی که ۱۸۴ میلیارد بیت کوین دریافت کرده بود را به صفر می‌رساندند. این نشان می‌دهد که راه‌حل انتخاب شده برای TheDAO کاملاً متفاوت و خاص بود.

 

چالش‌ها و جدال در جامعه اتریوم؛ تولد اتریوم کلاسیک

 
 

اجرای این اصلاح در بلاکچین اتریوم بسیار جنجالی شد. برخی از توسعه‌دهندگان و ماینرها معتقد بودند چنین دخالتی در تاریخچه تراکنش‌ها با اصول پایه بلاکچین در تضاد است و نباید به صورت دستی تغییراتی انجام شود. این اختلاف نظر باعث شد بخشی از جامعه اتریوم از پذیرش این تغییر خودداری کند و زنجیره اصلی را بدون اصلاح ادامه دهند. این اتفاق در نهایت به شکاف شبکه و پیدایش دو شاخه متفاوت از اتریوم منجر شد:
شاخه‌ای که اصلاحات را پذیرفت و امروزه به نام Ethereum (ETH) شناخته می‌شود.
شاخه‌ای که تغییرات را قبول نکرد و به مسیر اصلی بدون اصلاح ادامه داد، معروف به Ethereum Classic (ETC).

 

ویژگی‌های منحصر‌به‌فرد ماجرای TheDAO

حمله به TheDAO شرایط خاص و منحصر‌به‌فردی داشت که امروزه کمتر در حملات مشابه دیده می‌شود. این عوامل عبارت بودند از:
مسدود بودن دارایی‌های سرقت‌شده: قرارداد هوشمند اجازه برداشت فوری وجوه را نمی‌داد، بنابراین جامعه فرصت داشت برای رفع مشکل اقدام کند.
عدم پخش وجوه در شبکه: دارایی‌ها در یک محل مشخص باقی مانده بودند و هکر نتوانست آنها را به آدرس‌های مختلف انتقال دهد، پس نیازی به تعقیب و گریز بی‌پایان نبود.
امکان هماهنگی جامعه برای ارتقاء نرم‌افزاری: با وجود زمان کافی برای بحث و تصمیم‌گیری، جامعه اتریوم توانست با یک به‌روزرسانی نرم‌افزاری مشکل را حل کند. اگر دارایی‌ها آزادانه قابل انتقال بودند، هکرها قبل از اعمال تغییرات، آن‌ها را جابه‌جا می‌کردند.

 

ارتباط این تجربه با حمله اخیر بای‌بیت

ماجرای TheDAO نشان می‌دهد که بازگرداندن بلاکچین فقط در شرایط بسیار خاص قابل انجام است و در حملات جدیدتر چنین فرصتی وجود ندارد. در حمله اخیر بای‌بیت، شرایط کاملاً متفاوت است:
هیچ مکانیسمی برای قفل یا مسدود کردن وجوه وجود ندارد، بنابراین هکرها فوراً دارایی‌های دزدیده شده را به کیف‌پول‌های متعددی منتقل کردند.
اگر بخواهند به صورت دستی موجودی آدرس‌های هکر را صفر کنند، باید این کار را روی هزاران آدرس انجام دهند که تقریباً غیرممکن است.
هماهنگی میان تمام نودها و اعتبارسنج‌ها در مدت کوتاه برای چنین تغییر گسترده‌ای عملی نیست.
بنابراین، برخلاف حمله TheDAO که شرایط ویژه‌ای داشت، در حملاتی مانند بای‌بیت هیچ راهی برای بازگرداندن وضعیت قبلی بلاکچین وجود ندارد و این نشان‌دهنده غیرعملی بودن ایده «رول‌بک» اتریوم در دنیای امروز است.

 

چرا امکان برگشت اتریوم به عقب وجود ندارد؟

اوایل این هفته، بیش از ۴۰۰ هزار اتر (حدود ۱.۴ میلیارد دلار) از صرافی بای‌بیت دزدیده شد. دلیل این سرقت، دسترسی غیرمجاز به کلیدهای چندامضایی متولی وجوه بود که باعث امضای تراکنش‌های جعلی شد.
اما ریشه این مشکل، برخلاف موارد قبلی مانند TheDAO و بیت کوین ۲۰۱۰، به پروتکل اتریوم یا قرارداد چندامضایی مربوط نمی‌شود. مشکل اصلی، یک رابط کاربری فریبنده بود که تراکنش‌ها را به گونه‌ای نمایش می‌داد که گویی همه چیز درست است، در حالی که واقعیت کاملاً متفاوت بود.
از دید شبکه اتریوم، این تراکنش‌ها کاملاً معتبر هستند و هیچ نقص آشکار پروتکلی ندارند که بتوان به سادگی آن‌ها را حذف کرد. بنابراین، امکان شناسایی و لغو این تراکنش‌ها به صورت مستقل از سایر تراکنش‌های قانونی وجود ندارد.

 

تفاوت اساسی بین حمله اخیر و ماجرای TheDAO

یکی از مهم‌ترین تفاوت‌ها میان حمله اخیر به بای‌بیت و هک TheDAO، در زمان‌بندی انتقال دارایی‌ها است. در ماجرای TheDAO به دلیل ساختار خاص قرارداد هوشمند، دارایی‌های به سرقت رفته برای مدت یک ماه قفل و غیرقابل برداشت بودند. این موضوع فرصت ارزشمندی به جامعه اتریوم داد تا وارد عمل شود و راهکاری برای مقابله ارائه دهد. اما در حمله بای‌بیت، مهاجم بلافاصله پس از نفوذ، دارایی‌ها را در بلاکچین جابه‌جا کرد و امکان واکنش سریع را از بین برد.
حتی اگر بتوانیم مسئله «بازی موش و گربه» که پیش‌تر توضیح داده شد را حل کنیم، وضعیت کنونی اکوسیستم اتریوم کاملاً متفاوت از سال ۲۰۱۶ است.

 

اتریوم امروز؛ اکوسیستمی پیچیده و به شدت متصل

یکی از بزرگ‌ترین چالش‌های این روزها، پیچیدگی و وابستگی بالای دارایی‌های دیجیتال در اکوسیستم دیفای و تعامل گسترده با سایر بلاکچین‌هاست. در سال ۲۰۱۶، دامنه تأثیر تغییرات روی بلاکچین اتریوم محدودتر بود، اما اکنون شرایط به کلی تغییر یافته است.
برخی از مهم‌ترین تفاوت‌های اتریوم امروزی عبارتند از:
وجود دیفای و پل‌های میان‌زنجیره‌ای: اکنون دارایی‌ها به سرعت و به آسانی بین پروژه‌ها و بلاکچین‌های مختلف حرکت می‌کنند. برای مثال، هکر می‌تواند دارایی‌های دزدیده شده را در یک صرافی غیرمتمرکز به توکن‌های دیگر تبدیل کند، سپس آن توکن‌ها را به عنوان وثیقه در یک پروتکل وام‌دهی قرار داده و وام‌ها را در شبکه‌ای کاملاً متفاوت برداشت کند. این نوع فعالیت‌ها، ردیابی و بازیابی دارایی‌ها را بسیار دشوار می‌کند.
تأثیرات گسترده تغییرات غیرمنتظره در وضعیت شبکه: حتی اگر تغییرات دستی در وضعیت بلاکچین (Irregular State Change) از نظر اجتماعی پذیرفته شود، این مداخله می‌تواند باعث ایجاد اختلالات عمیق در کل اکوسیستم شود. به عنوان مثال، بازگردانی کامل بلاکچین به معنای بی‌اعتبار کردن تمام تاریخچه تراکنش‌های اخیر است؛ تراکنش‌هایی که ممکن است تأثیرات آنها حتی در خارج از اکوسیستم اتریوم مشاهده شده باشد.
تأثیر بر تراکنش‌های خارج از زنجیره: برخی تراکنش‌ها اثراتشان فراتر از خود بلاکچین است. مثلاً معاملاتی که در صرافی‌های متمرکز انجام می‌شوند یا تسویه دارایی‌های واقعی مثل بازخرید توکن‌های دیجیتال به دارایی‌های فیزیکی. اگر بلاکچین به عقب برگردد، ممکن است بخش درون‌زنجیره‌ای معامله لغو شود اما بخش خارج زنجیره همچنان پابرجا بماند و این باعث بروز ناسازگاری‌های اقتصادی جدی می‌شود.

 

آیا بازگردانی بلاکچین هنوز امکان‌پذیر است؟

از نظر فنی، اعمال تغییرات دستی در وضعیت شبکه هنوز امکان‌پذیر است، اما فقط زمانی که دارایی‌ها مسدود و قرنطینه شده باشند. آخرین مورد این اتفاق در سال ۲۰۱۸ رخ داد، زمانی که حدود نیم میلیون اتر به دلیل یک نقص در کیف‌پول چندامضایی Parity قفل شد. برای رفع این مشکل، پیشنهادی به نام EIP-999 مطرح شد تا از طریق تغییر دستی وضعیت، این وجوه آزاد شوند.
اما جامعه اتریوم به شدت با این طرح مخالفت کرد، زیرا پس از تجربه TheDAO، اکثریت افراد بر این باورند که هرگونه تغییر دستی در تاریخچه بلاکچین با اصول بنیادین تغییرناپذیری (Immutability) در تضاد است.

 

نتیجه گیری

در حالی که بیت‌کوین ۱۵ سال پیش توانست بلاکچین خود را به عقب برگرداند، ساختار پیچیده و به شدت درهم‌تنیده اتریوم، وابستگی بالای تراکنش‌ها به دیگر بلاکچین‌ها و تعاملات پیچیده میان تراکنش‌های درون‌زنجیره‌ای و خارج زنجیره‌ای، بازگردانی وضعیت را تقریباً ناممکن کرده است.
حتی اگر جامعه اتریوم به اجماع اجتماعی برای اعمال چنین تغییری برسد، گستردگی و پیچیدگی اثرات آن به قدری زیاد خواهد بود که مدیریت آن به‌طور عملی غیرقابل انجام است. بنابراین، برخلاف سال‌های پیش، هیچ راهکار واقعی برای بازگرداندن دارایی‌های به سرقت رفته در حمله بای‌بیت وجود ندارد و این مسئله نشان‌دهنده تثبیت قوی‌تر اصول تغییرناپذیری بلاکچین در زمان حال است.

اشتراک گذاری:
کپی شد