یک هکر روش کرک کردن بیت کوین را افشا کرد
توسعهدهنده بیت کوین، جان کَنترِل (John Cantrell) یک تریلیون ترکیب کلمه را برای باز کردن آدرس بیت کوین امتحان کرد و درنهایت موفق شد تا ارزهای داخل کیف پول را برای خودش بردارد.
به گزارش دیکریپت، روز ۱۸ ژوئن (۲۹ خرداد)، جان کَنترِل، توسعهدهنده پروتکل پیامرسان جاگرنات (Jaggernaut) در شبکه لایتنینگ، یک آدرس بیت کوین را هک کرد و دارایی ۹,۳۰۰ دلاری آن را برای خود برداشت. البته این اقدام کنترل دزدی نبود، بلکه بخشی از یک چالش بود که او در آن پیروز شد. او در اظهارات تازه خود به تشریح چگونگی این موفقیتش پرداخته است.
الیستر میلن (Alistair Milne)، مدیر ارشد فناوری در شرکت سرمایهگذاری آلتانا (Altana)، چالشی در توییتر به راه انداخت که برنده آن یک بیت کوین کامل جایزه میگرفت. او که این چالش را ماه گذشته آغاز کرده بود، بهطور مرتب به سرنخهایی اشاره میکرد که کلید یافتن عبارت ۱۲ کلمهای سید برای آدرس کیف پولی حاوی یک بیت کوین بودند. هر فردی که تمام سرنخها را پیدا میکرد، میتوانست عبارت دستیابی به کیف پول بیت کوین را نیز پیدا کرده و بیت کوین داخل آن را بردارد.
میلن قصد داشت سرنخ سه یا چهار کلمه آخر را در یک حرکت افشا کند تا از حملات بروت فورس (brute-force) برای باز کردن آدرسها جلوگیری کند. در حمله بروت فورس یا حمله جستجوی فراگیر، هکر بهطور مستمر و مداوم کلمات تصادفی را حدس میزند تا زمانی که یکی از این ترکیبها درست از آب در بیاید. این در حالی بود که نقشه میلن به سرانجامش نرسید. زمانی که تنها هشت کلمه افشا شده بود، کنترل توانست بقیه کلمات را نیز حدس بزند، ترکیب درست را پیدا کند و قفل کیف پول را بگشاید.
پیش از اینکه کلمه هشتم منتشر شود، کنترل خود را آماده کرده بود. او در مطلبی در وبسایت مدیوم نوشت که با ۸ کلمه، میتوان تقریبا ۱.۱ تریلیون عبارت یادمان (Mnemonic Phrase) به دست آورد. باید به یاد داشت که تمام این تعداد عبارت میبایست آزمایش شوند تا کلید اصلی قابل شناسایی باشد.
عبارت یادمان یک عبارت ۱۲ یا ۲۴ کلمهای برای یک کلید خصوصی بیت کوین است. هر فردی که این کلمهها را در اختیار داشته باشد، میتواند کنترل داراییها را نیز بر عهده بگیرد. باید به یاد داشت که محدودیت این کلمهها ۲,۰۴۸ عدد است. با این حال، این تعداد کار را برای هک کردن کیف پول بیت کوین سادهتر نمیکند.
برای آزمایش یک عبارت واحد، کنترل باید یک سید از عبارت یادآور ایجاد میکرد، سپس کلید خصوصی اصلی را از سید میساخت و در نهایت آدرس کلید خصوصی را بهدست میآورد. پس از این که کنترل برنامهای ویژه نوشت و چند بار آن را آزمایش کرد، مشخص شد سختافزاری که او در آن زمان استفاده میکرد، برای این کار مناسب نبود.
لپتاپِ کنترل تنها میتوانست ۱,۲۵۰ عبارت یادآور را در ثانیه چک کند؛ این یعنی ۱۰۸ میلیون عبارت در روز! او در این رابطه نوشت:
یعنی ۲۵ سال طول میکشید تا پردازنده رایانه من یک تریلیون احتمال را برای انجام عملیات بروت فورس روی عبارت یادمان بررسی کند، در حالی که فقط ۸ کلمه را میدانست (۴ کلمه باقی مانده است).
برای حل این مشکل، کنترل از رایانش ابری (Cloud Computing) استفاده کرد. او با کرایه دهها کارت گرافیک جیپییو (GPU) از آژور (Azure)، سرویس رایانش ابری مایکروسافت و نوشتن نرمافزاری ویژه، این کار را بین کارتهای گرافیک توزیع کرد.
کنترل که نیمی از راه را پیموده بود، با فاششدن کلمه هشتم، کارش را شروع کرد و دستگاههایش را به کار انداخت. او گفت:
در بهترین حالت، هر ساعت ۴۰ میلیارد عبارت یادآور آزمایش میکردم. این یعنی ۲۵ ساعت برای آزمایش یک تریلیون عبارت یادآور لازم بود. میدانستم که بهطور میانگین، احتمالا نیمی از این مدت لازم بود تا عبارت سید را به دست آورم.
با این حال، او فوقالعاده بدشانس بود. بعد از آزمایش ۸۵ درصد از ترکیبها، باز هم بخت با او یار نبود. کنترل فکر کرد که احتمالا نقصی اساسی وجود دارد. نقشه او به جایگذاری کلمات در جای مناسب بستگی داشت، که امکان تضمین صحت آن نیز ممکن نبود. بهگفته کنترل، اگر جواب پیدا نمیشد، ۸ فاکتوریل (۴۰,۳۲۰) امکان دیگر وجود داشت که میتوانست هک کردن این آدرس را غیرممکن کند.
پس از طی یک روز انجام محاسبات فشرده، کنترل تا حد زیادی ناامید شده بود و چیزی تا خاموش کردن دستگاه فاصله نداشت. او گفت:
نمیتوانستم در آن لحظه همه چیز را متوقف کنم زیرا راه زیادی آمده بودم و باید ادامه میدادم. در کمال تعجب، اندکی بعد، در اواخر شب، بعد از ۳۰ ساعت کار، هنگامی که ۹۱ درصد کار پیش رفته بود و دقیقا ۱ تریلیون (۱,۰۰۰,۷۱۰,۶۰۲,۷۵۲) عبارت چک شده بود، به نتیجه رسیدم!
او سپس، با توجه به اینکه ممکن بود فرد دیگری نیز این آدرس را یافته باشد، کارمزدی ۰.۰۱ بیت کوینی (۹۴ دلار) را تعیین کرد تا استخراجکنندگان بیت کوین این تراکنش را در اولویت قرار دهند و او بتواند پول را به کیف پول خودش انتقال دهد. این کارمزد، رقم بالایی برای یک تراکنش به حساب میآید.
میلن نیز تأیید کرد که بیت کوینها انتقال داده شدهاند. او توییت کرد:
میدانستم که زمان چندانی ندارم، اما بسیاری فکر میکردند که برای حمله بروت فورس با ۴ کلمه سید، چند هفته زمان لازم است.
اکنون، کنترل قصد دارد این کار را جبران کرده و مسابقهای مشابه با همین بیت کوینها به راه بیندازد، البته به شکلی که هیچ نرمافزاری نتواند پیروز آن باشد.
تراست ولتم هک شد کل پولام رفت بعد بگید هک وجود نداره