حمله ۵۱ درصد چیست و چگونه کار می‌کند؟

یکی از خطرناک‌ترین حملاتی که بلاکچین و رمز ارزها را تهدید می‌کند، حمله‌ ۵۱ درصد یا حمله‌ خرج دوباره (double spending) است. اگر با دنیای بلاکچین آشنا باشید حتما می‌دانید که با انجام این حمله می‌توانید کنترل شبکه را در دست بگیرید. اما حمله ۵۱ درصد واقعا چیست و چگونه کار می‌کند؟

0 144

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

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

بلاکچین = حاکمیت

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

حمله‌ ۵۱ درصد چگونه کار می‌کند؟

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

استخراج مخفیانه – ایجاد شاخه‌ جدیدی از بلاکچین

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

حمله 51 درصد

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

حمله 51 درصد

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

حمله 51 درصد

پس ماینر خرابکار به جهت توان هش قدرتمندتری که دارد، سریع‌تر بلاک‌ها را به زنجیره‌ خودش اضافه می‌کند.

برگرداندن تراکنش‌ها با مخابره‌ همگانی زنجیره‌ جدید

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

حمله 51 درصد

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

حمله 51 درصد

به این اتفاق حمله‌ خرج دوباره می‌گویند و نام دیگر آن حمله‌ ۵۱ درصد است، چون ماینر خرابکار برای این که بتواند سریع‌تر بلاک‌ها را به بلاکچین خودش اضافه کند، باید توان هش بیشتری نسبت به مجموع توان هش سایر اعضای شبکه داشته باشد.

بیت کوین چطور با این حمله مقابله می‌کند؟

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

حمله 51 درصد

آیا سایر بلاکچین‌ها آسیب‌پذیرند؟

با وجود همه‌ی سختی‌ها و مشکلاتی که پیش روی حملات ۵۱ درصد وجود دارد، نمونه‌های این حمله را قبلا چند بار تجربه کرده‌ایم. در حقیقت، جدیدترین آن‌ها همین چند ماه پیش (در آوریل ۲۰۱۸) و در بلاکچین Verg اتفاق افتاد. در این حمله، مهاجم باگی را در کد پروتکل بلاکچین Verge پیدا کرده بود که به او اجازه می‌داد بلاک‌های جدید را با سرعت بسیار زیادی تولید کند و بتواند در مدت زمان خیلی کوتاه‌تری نسخه‌ی طولانی‌ترِ بلاکچین Verge را بسازد. این مثال نشان می‌دهد که چه مشکلات و باگ‌هایی می‌تواند به حمله‌ی ۵۱ درصد منجر شود. باگی که در صورت وجود تیمی مجرب از توسعه‌دهندگان به هیچ عنوان به وجود نمی‌آمد یا به موقع جلوی سوء استفاده از آن گرفته می‌شد.

اگر الگوریتم «اثبات کار» را بررسی کنیم، این الگوریتم به ما می‌گوید که توان هش فعال یا توان رایانشی قوی‌تر به ایمنی بیشتر در برابر حملات ۵۱ درصد منجر می‌شود. با این حال بلاکچین‌های کوچک‌تری که از این الگوریتم استفاده می‌کنند، می‌توانند با شدت بسیار بیشتری در برابر این حملات آسیب‌پذیر باشند، چون توان کافی برای رقابت با توان مهاجم در شبکه وجود ندارد. به همین دلیل است که حملات ۵۱ درصد معمولا در بلاکچین‌های کوچک (مثلا بیت کوین Gold) اتفاق می‌افتد. لازم به ذکر است که بلاکچین بیت کوین تاکنون هیچ‌گاه قربانی حمله‌ ۵۱ درصد نشده است.

استخراج با ASIC

با این تعاریف به آخرین مبحث جذاب در حوزه‌ بلاکچین می‌رسیم: استخراج با ASIC. استخراج با ASIC نوعی فن‌آوری است که توسط شرکت‌های مختلف استخراج بیت کوین برای بهبود سخت‌افزارهای استخراج این ارز طراحی شده تا قدرت آن‌ها را افزایش دهد. در حال حاضر بحث‌های زیادی وجود دارد مبنی بر این که آیا سخت‌افزارهای ASIC باعث افزایش افراطی توان برخی افراد یا گروه‌ها شده است یا نه. بلاکچین مونرو (XMR) اخیرا با انتشار آپدیتی در پروتکلش استخراج با ASIC را در این بلاکچین ممنوع اعلام کرد. در نتیجه، ۸۰ درصد از مجموع توان هش این شبکه از بین رفت. (به نمودار زیر دقت کنید.)

حمله 51 درصد

این اتفاق نشان می‌دهد که چه مقدار از توان شبکه‌ مونرو در اختیار ماینرهایی بوده که از ASIC استفاده می‌کردند. اگر همه‌ی مشارکت‌کنندگان شبکه از سخت‌افزارهای ASIC استفاده می‌کردند، این مسئله مشکلی به حساب نمی‌آمد. ولی مشکل زمانی به وجود می‌آید که شرکت‌های بزرگی مثل Bitmain مشکوک به کنترل حجم عظیمی از فعالیت استخراج مبتنی بر ASIC هستند. اگرچه این شرکت‌ها فن‌آوری خود را در اختیار کاربران عادی هم قرار می‌دهند، ولی معمولا زمانی دست به انجام این کار می‌زنند که خودشان مدت‌ها از آن فناوری استفاده کرده باشند. بحثی که این‌جا وجود دارد این است که آیا این اتفاق باعث می‌شود آن‌ها بیش از حد قدرتمند شوند یا نه. در حالت ایده‌آل، یک بلاکچین باید توسط حداکثر تعداد ماینرهای ممکن اداره شود. همین عامل است که بلاکچین را غیرمتمرکز می‌سازد.

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.