حمله 51 درصد (حمله اکثریت) در بلاک چین
حمله 51 درصد چیست؟ در مورد حمله 50 درصد در بلاکچین چقدر اطلاعات دارید؟ آیا می دانید یک شبکه بلاکچین تحت شرای خاصی ممکن است مورد حمله قرار گرفته و تمام دارایی کاربران شبکه، توسط هکر به سرقت برود؟ در این مقاله قصد داریم در مورد حمله 51% در بلاکچین که به آن حمله اکثریت (majority attack) نیز گفته می شود صحبت کنیم.
حمله 51 درصد چیست؟
حمله 51 درصد زمانی اتفاق می افتد که شخص یا گروهی سعی می کند با به دست آوردن بیش از 50 درصد از قدرت محاسباتی شبکه، کنترل شبکه را به دست بگیرد.
برای درک بهتر از چگونگی حمله 51٪ ، باید برخی از فرضیات را مرور کنیم.
ما می دانیم که:
- هیچ قدرت (authority) متمرکزی در بلاک چین وجود ندارد.
- ماینر اعتبار تراکنش را پیگیری می کند.
- Miner ها تراکنش های جدیدی را به بلاک چین اضافه می کنند و بلاک های جدیدی را به ماینرها/گره های بلاک چین broadcast می کنند.
- ماینرها از طولانی ترین chain rule پیروی می کنند.
- با توجه به مکانیسم کنونی، اجماع بین ماینرها با 51% یا بیشتر از ماینرها حاصل می شود.
- حملات 51% فقط در بلاک چین های permissionless اتفاق می افتد. برای بلاکچین های Permissioned این موضوع جای نگرانی ندارد. زیرا مکانیزم اجماع در این نوع شبکه ها متفاوت بوده و هویت شرکت کنندگان در شبکه مشخص است و مدیریت شبکه نیز از بروز این مشکل جلوگیری می کند.
حمله 51 درصد چگونه انجام می شود؟
حمله 51 درصد یک ضعف اساسی در امنیت بلاک چین بوده و زمانی اتفاق می افتد که گره های مهاجم 51 درصد از قدرت استخراج بلاک چین را بدست می آورند. عدد 51 درصد، از یک شبکه به شبکه دیگر ممکن است متفاوت باشد.
اگر یک هکر بتواند 51 درصد از قدرت استخراج (mining power) یا نرخ هش (hash rate) شبکه بیت کوین را بدست آورد، می تواند کنترل مکانیزم اجماع را به دست آورده و در نهایت تراکنش ها را بازنویسی کند.
به محض اینکه مهاجم کنترل فرآیند اجماع در بلاک چین را به دست می گیرد، می تواند انحصار استخراج بلاک را آغاز کرده و بر روی بلاک چین نسخه شخصی خود کار کند. مهاجم می تواند double-spending و reverse transactions انجام دهد و از تأیید تراکنش ها توسط ماینرهای دیگر جلوگیری کند.
وقتی تعداد ماینرها بالاتر برود، مقاومت شبکه در برابر حملات 51 درصد نیز افزایش می یابد. اما ممکن است بلاکچین های PoW کوچکتری داشته باشیم.
هزینه انجام حمله 51%
توجه داشته باشید انجام این حملات بسیار پرهزینه است. طوری که فقط تلاش برای انجام یک حمله 51% روی شبکه بلاک چین بیت کوین بیش از 25 میلیون دلار تجهیزات و بیش از 15 میلیون دلار برق در روز هزینه دارد.
سختی شبکه (Difficulty)
یکی از پارامترهای مهم در ارزیابی امنیت یک شبکه بلاکچین، این است که شبکه از هر چند مدت یک بار سختی یا difficulty را دوباره تنظیم می کند. این مقدار در شبکه بیت کوین از هر 2016 بلاک اتفاق می افتد که با احتساب استخراج هر بلاک در 10 دقیقه، استخراج 2016 بلاک، دو هفته طول خواهد کشید.
بلاک چین از ریاضیات هوشمندی استفاده می کند. درواقع بر اساس میانگین سرعت یافته شدن بلاک ها در 2016 بلاک گذشته، تصمیم می گیرد که برای 2016 بلوک بعدی، استخراج یک بلوک جدید در هر 10 دقیقه، چقدر باید سخت باشد. این ویژگی برای هکر 51٪ مزیت محسوب می شود. زیرا سختی استخراج بلوک جدید برای مهاجم به مدت 2 هفته یکسان خواهد بود.
راهکارهای رفع مشکل امنیتی سختی شبکه
برای رفع این مشکل، برخی از بلاکچین ها سختی شبکه را در بازه های زمانی کوتاه تری تغییر می دهند.
همچنین بسیاری از بلاک چین ها از DigiShield استفاده کرده اند:
- Bitcoin Cash
- Ethereum
- Zcash
- Dogecoin
- Startcoin
DigiShield اجازه می دهد تا سختی استخراج پس از هر بلوک، مجددا طبق نیازها افزایش یا کاهش پیدا کند. طوریکه امکانپذیری حملات 51٪ کاهش پیدا کند. بنابراین حتی اگر مهاجم موفق به انجام حمله 51 درصد موفق شود، اکثر ماینرها با بیرون راندن مهاجم از شبکه، قدرت محاسبه را تغییر می دهند. در واقع حتی با انجام حمله 51 درصد، هکر برای مدت زیادی کنترل شبکه را در اختیار نخواهد داشت. زیرا اکثر ماینرها قدرت محاسبه را تغییر داده و مهاجم را ایزوله می کنند.
حملات 51% انجام شده در گذشته
در سال 2018، برخی از ارزهای رمزنگاری شده قربانی حملات 51 درصد شدند. مهاجمان با این حملات بیش از 20 میلیون دلار سود بردند.
برخی از قربانیان این حمله عبارت بودند از:
- Verge
- Zencash
- Ethereum Classic
حمله 51 درصد توسط Bitcoin SV روی Bitcoin Cash
در نوامبر 2018 گروهی از حامیان Bitcoin SV می خواستند از طریق حمله 51 درصد به شبکه Bitcoin Cash یک هارد فورک (Hard Fork) ایجاد کنند. آنها می خواستند محدودیت بلوک را از 32 مگابایت به 128 مگابایت افزایش دهند. به اینصورت قصد داشتند یک نسخه قابل رقابت از پروتکل با اندازه بلاک بزرگتری را راه اندازی کنند. در یک هارد فورک هر دو زنجیره می توانند به صورت تمیز تقسیم شوند. اما طرفداران Bitcoin SV می خواستند این شبکه به تنهایی فعالیت کند.
استراتژی حمله
برای این منظور، بیتکوین SV قصد داشت قدرت هش ریت Bitcoin Cash را در دست بگیرد. به این طریق می توانست منابع کافی را برای ایجاد حمله 51 درصد جمع آوری کرده و پروتکل را به طور خصمانه از بین ببرد. با این حمله، آنها در تئوری می توانستند ماینرها را از استخراج در شبکه Bitcoin Cash منصرف کرده و با استخراج بلوک های خالی به آنها پاداش های اضافی بدهند تا ماینرها به Bitcoin SV روی بیاورند.
بسیاری از افراد برجسته در جامعه بیت کوین به این جنگ پیوستند. از جمله جیهان وو ، بنیانگذار Bitmain (بزرگترین تراشه رایانه ای و شرکت ASIC برای استخراج بیت کوین). راجر ور، بنیانگذار Bitcoin Cash در حمایت از بیتکوین کش. در پاسخ به hash war و جلوگیری از حمله 51 درصدی که بلاک چین بیتکوین کش را از بین می برد، Bitmain برای یک دوره زمانی 90000 دستگاه Antminer S9 را به شبکه اختصاص داد.
نتیجه حمله
هرچند بیت کوین SV از چندین استخر (Mining Pool) پشتیبانی دریافت کرد، اما برای این حمله، پشتیبانی کافی را دریافت نکرد و پروژه حمله 51 درصد شکست خورد. این جنگ منجر به میلیون ها دلار (تقریباً 20 میلیون دلار) ضرر در هر دو زنجیره شد. در نهایت بیت کوین SV جدایی خود از شبکه بیتکوین کش اعلام کرد و از تسخیر خصمانه آن منصرف شد.
این یک نمونه جالب در مورد چگونگی رویارویی دو حکمرانی بلاکچین (Blockchain Governance) است. گاورننس می تواند منجر به حمله 51٪ رهبری شده (community-led) شود.
درباره مجید شبیری
کارشناس ارشد فناوری اطلاعات از دانشگاه صنعتی امیرکبیر. مدیر و مؤسس "علوم نوین امیرکبیر"، متخصص برنامه نویسی، شبکه، لینوکس و امنیت. از سال 84 همزمان با شروع تحصیلات دانشگاهی، وارد حوزه تخصصی مهندسی نرم افزار شدم و اکنون مشغول تحقیق، توسعه و آموزش در حوزه بلاک چین هستم و معتقدم بلاکچین به زودی فضای کسب و کارها را منقلب خواهد کرد.
نوشته های بیشتر از مجید شبیری
دیدگاهتان را بنویسید