بیت کوین SV، اتریوم کلاسیک و Verge همگی نمونههایی از پروژههایی هستند که مورد حملهی 51 درصدی قرار گرفتند. اما این حمله چیست، چگونه کار میکند و چه آسیبهایی میتواند به همراه داشته باشد؟
حمله به بلاکچین توسط گروهی از ماینرها که بیش از 50 درصد از هش ریت ماینینگ شبکه را کنترل میکنند (مجموع تمام توان محاسباتی اختصاص داده شده به استخراج و پردازش تراکنشها) حملهی 51 درصدی نامیده میشود.
بلاکچین نوعی فناوری دفتر کل است که دادهها را ذخیره و ثبت میکند. به زبان ساده، بلاکچین لیستی از تراکنشهای توزیع شده است که دائماً در حال بروزرسانی و بازنگری است. یکی از ویژگیهای کلیدی بلاکچین این است که از شبکهای غیرمتمرکز از گرهها تشکیل شده است. گرهها، یک قطعه مهم برای اطمینان از غیرمتمرکز و ایمن ماندن یک ارز دیجیتالی هستند.
یک بلاکچین از این جهت غیرمتمرکز است که هیچ فرد یا گروه منتخبی از افراد، این شبکه را کنترل نمیکنند. این تمرکززدایی از اهمیت بسزایی برخوردار است زیرا همهی شرکت کنندگان در بلاکچین باید در مورد وضعیت فعلی این شبکه به توافق برسند.
به عنوان مثال، به یک درخواست برای معرفی یک فیلم خوب فکر کنید. اگر بخواهید از کسی بپرسید که آیا فیلم خاصی را مدنظر دارد که از نظرش خوب باشد و او پاسخ دهد بله، باز هم ممکن است که آن فیلم، از نظر کیفیتی به طرز افتضاحی بد باشد. اما اگر این سوال را از 1000 نفر با سلایق و شرایط متفاوت بپرسید، امکان اینکه با یک فیلم خوب آشنا شوید، بسیار بیشتر خواهد بود زیرا این تصمیم به اتفاق آرای چندین نفر گرفته شده است. برای بلاکچینهای اثبات کار (PoW) مانند بیت کوین این "اجماع" است که تضمین میکند که یک ماینر میتواند یک بلوک جدید از تراکنشها را تنها در صورتی تأیید کند که گرههای شبکه در مورد اعتبار بلاک به توافق برسند. چنین الگوریتمهای اجماع، در حقیقت مانند منتقدان دنیای سینما عمل میکنند. آنها فیلم جدید را تنها در صورتی تماشا میکنند که همه موافق باشند که آن فیلم ارزش دیدن دارد. با این حال، الگوریتم اجماع، نظر همه را میپرسد، صرف نظر اینکه این "همه" 10 نفر هستند یا یک میلیارد نفر. اگر اکثریت موافق باشند که فیلم خوب است، الگوریتم با آن موافقت خواهد کرد.
در مثال بالا، "همه" برای بلاکچین PoW به معنای تمام گرههای ماینینگ یا "ماینرها" است. این ماینرها با استفاده از ماشینهای خود برای تولید کد (معروف به هش) با یکدیگر به رقابت میپردازند که دارای صفرهای برابر یا بیشتر از هش هدف باشد (کدی که هر ماینر باید آن را بشکند). هر کسی که هش برندهای را تولید کند که هش هدف را شکست بدهد، حق پر کردن یک بلوک جدید با دادههای تراکنش و دریافت کریپتو و کارمزد تراکنش رایگان را دارد.
استخراج کنندگانی که ماشینهای بیشتری دارند یا ماشینهایی دارند که دارای هش ریت (قابلیت تولید هش بیشتر در ثانیه) بالاتری هستند، شانس بیشتری برای شکست دادن هش هدف و کسب حق پرکردن بلوک بعدی با دادههای تراکنش و افزودن آن به زنجیره دارند. این کار به نوعی شبیه به سیستم قرعه کشی است که در آن فردی با 10 هزار بلیط شانس بیشتری دارد در مقایسه با کسی که فقط 5 بلیط دارد.
اما سوال اصلی، چه اتفاقی خواهد افتاد وفتی که یک عامل مخرب، کنترل اکثریت هش ریت را بدست آورد؟
حمله 51 درصدی که به عنوان حمله اکثریت نیز شناخته میشود، زمانی رخ میدهد که یک فرد یا گروهی از افراد کنترل بیش از 50 درصد از قدرت هش بلاکچین را در دست میگیرند. این اتفاق معمولاً با اجازه قدرت هش ماینینگ از شخص ثالث بدست میآید.
مهاجمان موفق، این توانایی را بدست میآورند که از تأیید شدن تراکنشهای جدید جلوگیری کرده و آنها را مسدود کنند و همچنین در ترتیب تراکنشهای جدید دست ببرند. همچنین به عوامل مخرب اجازه میدهد تا اساساً بخشهایی از بلاکچین را بازنویسی کنند و تراکنشهای خود را معکوس کنند که منجر به مشکلی به نام هزینههای مضاعف میشود. این مشکل به طور سنتی مشکلی بود که عمدتاً در پرداختهای الکترونیکی با آن مواجه بود، جایی که یک شبکه قادر به اثبات اینکه دو یا چند نفر، دارایی دیجیتال مشابهی را خرج نمیکنند، نبود.
با این حال، یک حمله 51 درصدی از نظر تئوری در میزان اختلالی که میتواند ایجاد کند، محدود است. در حالی که مهاجم میتواند مشکل خرج دوگانه (یا دو بار خرج کردن) را ایجاد کند، نمیتواند تراکنشهای دیگران را در شبکه معکوس کند یا از پخش تراکنشهای کاربران به شبکه جلوگیری نماید. علاوه بر این، یک حملهی 51 درصدی قادر به ایجاد داراییهای جدید، سرقت داراییها از طرفهای غیرمرتبط یا تغییر عملکرد پاداشهای بلوک نیست.
همانطور که یک شبکه بلاکچین رشد میکند و گرههای بیشتری را بدست میآورد، احتمال وقوع یک حمله 51 درصدی نیز کاهش مییابد. این به دلیل آن است که هزینه انجام یک حمله 51 درصدی همزمان با هش ریت شبکه، افزایش مییابد. اساساً هر چه شبکه بزرگتر باشد و گرههای بیشتری در آن شرکت داشته باشند، قدرت هش بیشتری برای کنترل بیش از 50 درصد آن مورد نیاز خواهد بود.
اما حتی اگر مهاجم به بالای 50 درصد هش ریت برسد، اندازهی یک بلاکچین همچنان میتواند امنیت آن را تأمین نماید. از آنجایی که بلوکها در زنجیره به یکدیگر متصل هستند، یک بلوک را میتوان تنها در صورتی تغییر داد که همهی بلوکهای تأیید شدهی بعدی حذف شوند.
در حالی که ممکن است انجام این کار به دو دلیل برای مهاجم بسیار پرهزینه تمام شود:
بنابراین، هر چه تعداد تراکنشهای قابل توجه بیشتر باشد، بلاکهای بیشتری در زنجیره وجود خواهند داشت و تغییر یک بلاک دشوارتر خواهد شد.
در حالی که تهدید حمله 51 درصدی هنوز (البته بسیار بعید است) در بلاکچینهای بزرگ مانند بیت کوین وجود دارد، هزینههای مالی این کار، بسیار بیشتر از مزایای آن آب میخورد. حتی اگر یک مهاجم تمام منابع خود را برای حمله به یک بلاکچین خرج کند، افزودن مداوم بلاکها به زنجیره تنها یک روزنه کوچک به تعدادی از تراکنشها میدهد تا مهاجم تغییری در آنها ایجاد کند.