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