به گزارش خبرگزاری آنا؛ Liquid یک شبکه جانبی برای بیتکوین است که شرکت Blockstream بخش عمده نرمافزار آن را توسعه داده و برای انتقال سریعتر بیتکوین و ارائه قابلیتهایی مانند تراکنشهای خصوصیتر استفاده میشود. سازوکار آن به زبان ساده این است که کاربر بیتکوین واقعی خود را در یک کیف پول تحت کنترل مجموعهای از اعضای شبکه قفل میکند و در مقابل همان مقدار L-BTC روی Liquid دریافت میکند. به همین دلیل باید همیشه به ازای هر L-BTC موجود، مقدار متناظری بیتکوین واقعی در ذخایر شبکه وجود داشته باشد.
باگ نرمافزاری بیتکوین بدون پشتوانه ساخت مشکل از جایی آغاز شد که یک بهروزرسانی نرمافزاری برای رفع آسیبپذیری قدیمی منتشر شد، اما ظاهراً خودش باگ تازهای ایجاد کرد. بخشی از گرههای Liquid تراکنشی را معتبر تشخیص دادند که در عمل اجازه میداد حدود ۴ هزار L-BTC بدون وجود بیتکوین واقعی در پشتوانه آنها ایجاد شود. مهاجمان سپس این موجودی ساختگی را برای خروج از شبکه استفاده کردند و سامانه نیز حدود ۳۹۹۶ بیتکوین واقعی از ذخایر خود به آدرس تحت کنترل آنها فرستاد. نکته مهم این است که مهاجمان ظاهراً کلیدهای کیف پول چندامضایی Liquid را سرقت نکرده بودند.
امضاکنندگان شبکه همان کاری را انجام دادند که نرمافزار از آنها خواسته بود؛ مشکل این بود که نرمافزار تراکنش جعلی را قانونی تشخیص داده بود. به بیان ساده، سارقان قفل خزانه را نشکستند، بلکه سیستم را متقاعد کردند که خودِ آنها مجوز برداشت دارند. چرا خروج چنین مبلغ بزرگی متوقف نشد؟ شبکه Liquid بیش از ۸۰ عضو دارد، اما تنها ۱۵ عضو نقش اصلی در تولید بلوکها و محافظت از ذخایر بیتکوین را بر عهده دارند. برداشت بیتکوین نیز با سازوکار چندامضایی ۱۱ از ۱۵ انجام میشود؛ یعنی برای جابهجایی ذخایر به تأیید تعداد زیادی از اعضا نیاز است.
با وجود این ساختار، باگ نرمافزاری باعث شد درخواست خروج از دید سیستم معتبر باشد و لایه چندامضایی نیز نتواند مانع آن شود. نقش سرویس SideSwap در این ماجرا نیز مورد توجه قرار گرفته است. برداشت از Liquid قرار است به اعضای مجاز و آدرسهای مشخص محدود باشد، اما در این حادثه هزاران L-BTC بدون پشتوانه از طریق فرایند خروج SideSwap به بیتکوین واقعی تبدیل شدند. برخی پژوهشگران امنیتی میگویند باید مشخص شود چگونه تراکنشی با این اندازه توانسته از کنترلهای موجود عبور کند. حادثه همچنین انتقادهایی درباره میزان واقعی تمرکززدایی Liquid ایجاد کرده است.
منتقدان میگویند اگر یک اشکال در کدی که توسط گروه محدودی توسعه داده میشود بتواند در نهایت امضاکنندگان متعدد را وادار به آزاد کردن صدها میلیون دلار بیتکوین کند، وجود کیف پول چندامضایی بهتنهایی تضمینکننده امنیت نیست. مهاجمان بیشتر پول را پس دادند افراد پشت حمله از طریق پیامهایی که مستقیماً در تراکنشهای بیتکوین ثبت میشد با Blockstream ارتباط برقرار کردند و خود را هکرهای کلاهسفید معرفی کردند. آنها خواستار اصلاح آسیبپذیری شدند و پس از دریافت تأیید درباره رفع مشکل، آدرس صحیح بازگرداندن داراییها را بررسی کردند.
بخشی از ارتباطات پایانی نیز بهصورت رمزگذاریشده انجام شد. مهاجمان در نهایت ۳۴۰۰ بیتکوین را به شبکه برگرداندند، اما ۵۹۸.۵ بیتکوین، حدود ۱۵ درصد مبلغ اولیه، را نگه داشتند. ارزش این مقدار در زمان گزارش حدود ۴۷ میلیون دلار بود. همین تصمیم باعث شده توصیف آنها بهعنوان «کلاهسفید» محل اختلاف باشد؛ زیرا هکر کلاهسفید معمولاً آسیبپذیری را با اجازه یا با هدف گزارش مسئولانه بررسی میکند و نگه داشتن دهها میلیون دلار از دارایی خارجشده با تعریف معمول این اصطلاح همخوانی روشنی ندارد.
بیتکوین اصلی هک نشده است این حادثه مستقیماً به بلاکچین اصلی بیتکوین یا نرمافزار Bitcoin Core مربوط نمیشود. آسیبپذیری در Liquid، یعنی شبکهای جداگانه روی بیتکوین، قرار داشته و مهاجمان نتوانستهاند بیتکوین جدیدی روی شبکه اصلی ایجاد کنند. بیتکوینهایی که از کیف پول Liquid خارج شدند، بیتکوینهای واقعی و از قبل موجود بودند. مشکل اصلی برای Liquid اکنون فقط بازگرداندن پول نیست، بلکه اعتماد کاربران است.
شبکهای که وظیفه نگهداری میلیاردها دلار دارایی را دارد باید بتواند نشان دهد چگونه یک باگ نرمافزاری به خروج حدود ۳۲۰ میلیون دلار منجر شده و چه تغییری قرار است مانع تکرار حادثه شود.
منبع: آنا
