بررسی تأثیر مکانیزمهای اجماع بر امنیت بلاکچین
مکانیزمهای اجماع بلاکچین، امنیت و پایداری شبکه را با جلوگیری از حملات و تمرکززدایی تضمین میکنند. در این مقاله، تأثیر مکانیزمهای مختلف مانند PoW، PoS و PoH بر امنیت بلاکچین بررسی میشود.
حمله 51 درصدی نام حملهای است که میتوان بهواسطه آن بزرگترین رمزارز دنیا یعنی بیت کوین را هک کرد. ممکن است این گفته برای شما هم تعجبآور باشد؛ اما حقیقت جز این نیست که حتی مقاومترین و امنترین بلاکچینهای دنیا هم ممکن است بهواسطه یک ترک کوچک، فرو بریزند. حمله 51 درصدی در زبان ساده حملهای است که در آن بیش از نیمی از نودهای اعتبارسنجی یک شبکه تحت کنترل یک فرد یا نهاد خاص قرار بگیرند و به این ترتیب، طبق دلخواه خود تراکنشها را تایید یا رد کنند.
چنین حملهای باعث میشود تخلفات زیادی در شبکه رخ دهد و کاربران به سرعت شبکه را ترک کنند. به این ترتیب، در مدت زمان بسیار کوتاهی ممکن است کل ساختار رمزارزها و شبکههای آنها با نابودی مواجه شود. البته حمله 51 درصدی کاری نیست که به سادگی بتوان آن را عملی کرد؛ به همین دلیل خوب است با این مقاله از وبسایت کریپتوباز همراه ما باشید تا درباره امنیت شبکه رمزارزها، مفهوم حمله 51 درصدی و همچنین راههای مقابله با آن صحبت کنیم.
مهمترین مشخصه این شبکهها غیرمتمرکز بودن آنهاست. درواقع تمرکز زدایی در این پلتفرمها با استفاده از نودهای اعتبارسنج انجام میشود. شبکههای رمزارز برای اینکه خود را از گزند کنترل نهادهای ناظر در امان نگه دارند، کاربرانی را تحت عنوان ماینر در شبکه مستقر میکنند که تراکنشها را بررسی کرده و با حل کردن یک تابع سخت ریاضی و رسیدن به پاسخ، یک بلوک به زنجیره بلوکی بلاکچین اضافه میکنند. همچنین این تنها ماینرها یا نودهای اعتبارسنج نیستند که اطلاعات شبکه را میبینند، بلکه تمام کاربران عادی میتوانند اطلاعاتی از جمله تاریخچه خرید و فروش، میزان توکنهای در گردش، حجم معاملات، موجودی و مواردی از این دست را مشاهده کنند؛ با این تفاوت که اطلاعات کاربران برای یکدیگر مخفی است. البته در زمان اعتبارسنجی، هر پلتفرم و شبکه یک سری الگوریتمهای اجماع جداگانه را به کار میگیرد.
الگوریتمهای اجماع روشهایی هستند که نود یک شبکه با استفاده از آنها بر سر تایید یک تراکنش به توافق میرسند. در حال حاضر دو الگوریتم اجماع اصلی با عناوین الگوریتم اثبات کار (PoW) و الگوریتم اثبات سهام (PoS) وجود دارد که اولی در شبکه بیت کوین و دومی در شبکه اتریوم به کار گرفته میشود. در زمان اعتبار سنجی، نودها در هشینگ شرکت میکنند. هشینگ فرآیندی است که طی آن ماینرها تلاش میکنند تا یک تراکنش را از ممپول یا همان استخر تراکنشهای تایید نشده بردارند. این فرایند سعی میکند که با حل تابع ریاضی سخت آن و رسیدن به جواب، آن بلوک را به شبکه اضافه کند. در این بین هرچه قدرت هشینگ در دستگاه مانیینگ یک ماینر بیشتر باشد، وی شانس بیشتری برای زودتر پیدا کردن جواب معادله دارد و هرکس که جواب معادله را زودتر بیابد آن را به شبکه معرفی میکند. به این ترتیب، نودهای دیگر دست از حل آن معادله برمیدارند و مشغول تایید آن بلوک میشوند.
درصورت تایید و اعتبارسنجی تراکنش، آن بلوک از داده به زنجیره متصل میشود و به این ترتیب، یک شبکه میتواند در سلامت کامل و بدون نیاز به ناظر واحد کار کند. در ادامه هر ماینر به این دلیل سعی میکند تا قدرت هش یا همان هش ریت خود را افزایش دهد تا درآمد بیشتری به دست آورد. همچنین ماینرها تلاش میکنند تا با اعتبارسنجی درست، علاوه بر حفظ امنیت شبکه، قدرت هش و منابعی که در شبکه صرف میکنند را هدر ندهند؛ چرا که اگر ماینری یک بلوک نامعتبر را تایید کند و بر اساس آن بلوک اشتباه یک محاسبه دیگر انجام دهد، تمام توان محاسباتی و وقت خود را هدر کرده است.
در قسمت قبل گفتیم که امنیت یک شبکه غیر متمرکز به صورت دموکراتیک و با استفاده از تایید کاربران زیاد مقیم در شبکه تحت عنوان ماینرها صورت میگیرد. همچنین باید گفت که تمام شبکههای رمزارزی تلاش میکنند تا هش ریت و قدرت ماینینگ و اعتبار سنجی را به صورت مساوی بین تمام اعضای شبکه تقسیم کنند تا در این حین هرکسی به صورت یکسان بتواند رای دهد. این کار باعث میشود کسی نتواند به نفع خود یا ارگانی خاص در شبکه رای بدهد و اعتبارسنجی را با تخلف مواجه کند. مفهوم حمله 51 درصدی در واقع در این جا معنی پیدا میکند.
در حمله 51 درصد، عموما قدرت بیش از نیمی از هش ریت در یک شبکه به دست یک ماینر یا گروهی از ماینرها میافتد. در واقع زمانی که یک سازمان کاری کند که به جای بیش از نیمی از جامعه اعتبارسنجها برای تایید بلوکها تصمیم بگیرد، میتواند شبکه را به سمتی که منافع خودش تعیین میکند پیش ببرد. توان ماینینگ را هش میگویند و هرچه توان ماینینگ بیشتر باشد، هش ریت بیشتر است. اگر این هش ریت بیشتر در جهت تایید یک تراکنش اشتباه مصرف شود، کاری میکند که رای 49 درصد شبکه بی اثر شود و به جای یک اعتبارسنجی صحیح، یک تراکنش اشتباه بهعنوان بلوک در شبکه ثبت میگردد. در این حالت میگوییم حمله 51 درصدی اتفاق افتاده است.
اگر یک ماینر یا سازمان بتواند شبکهای را تحت حمله 51 درصدی قرار دهد، توانسته قدرت 51 درصد از نودها را به دست بگیرد و چون بیشترین آرا در جهت خواستههای اوست، پس میتواند بهعنوان یک مدیریت مرکزی در شبکه شناخته شود. یک مدیر میتواند کل مجموعه را به هر طرفی هدایت کند و به این ترتیب در صورت راه اندازی حمله 51 درصدی، سازمان مربوطه میتواند مانع تکمیل شدن تراکنشهای جدید شود. همچنین سازمان حمله کننده میتواند ترتیب تراکنشها را تغییر دهد. مهمترین کاری که در حمله 51 درصدی انجام میشود و به نظر میرسد اصلیترین انگیزه سازمانهای کلاهبرداری باشد، معکوس کردن تراکنشهای شبکه است که موجب دوباره خرج کردن یک سرمایه میشود.
دوبار خرج کردن یا دابل اسپندینگ (Double spending) فرآیندی است که یک فرد با دستکاری و تخلف در شبکه از یک سرمایه برای دو یا چند تراکنش دیگر استفاده میکند. این کار باعث میشود فرد با استفاده از یک میزان سرمایه مشخص به چند برابر از دارایی دست پیدا کند. همچنین در حمله 51 درصدی میتوان از تایید یا اعتبارسنجی تراکنشها جلوگیری کرد و به جای آن یک نسخه جدید از تاریخچه و تراکنشهایی که پیش از این در شبکه تایید شدهاند ارائه داد. بازنویسی بخشهایی از بلاکچین از دیگر اقداماتی است که در خلال حمله 51 درصدی قابل انجام است و در نهایت یک حمله کننده میتواند باعث شود که هیچ ماینری نتواند بلاک جدیدی را استخراج کرده و به شبکه معرفی کند.
درست است که در حمله 51 درصدی میتوان کارهای زیادی انجام داد و حتی این کارها میتوانند از بیخ و بن ساختار بلاکچین و امنیت شبکه را به هم بزند؛ اما همچنان محدودیتهایی بر سر راه یک حمله کننده در حمله 51 درصدی وجود دارد. از محدودیتهایی که در حین حمله با آن مواجه هستیم میتوان به عدم توانایی معکوس کردن تراکنشهای دیگران اشاره داشت. به عبارت دیگر شما درصورت حمله به شبکه تنها میتوانید با استفاده از معکوس کردن تراکنشهای خودتان، از سرمایه اصلی خود برای دوباره خرج کردن پول استفاده کنید نه پول دیگران! همچنین در حمله 51 درصدی یک متخلف قادر نیست که در شبکه توکن یا کوین جدیدی بسازد یا بخواهد کوین و توکنهای ایجاد شده توسط یک بلاکچین را به نفع خودش تغییر دهد. همچنین در نهایت یک حمله کننده نمیتواند به کوینها و توکنهای دیگر دسترسی داشته باشد یا آنها را معامله کند.
آنچه که تا به اینجا برای شما درباره نحوه رخ دادن حمله 51 درصدی توضیح دادیم، مربوط به شبکههایی بود که در آنها الگوریتم اجماع بر اساس اثبات کار انجام میشود؛ اما اگر در یک شبکه از الگوریتم اثبات سهام بهره ببریم، این حمله چطور صورت خواهد گرفت؟ به صورت کلی شبکههای دارای الگوریتم اثبات سهام یا PoS کمتر دچار حمله 51 درصدی میشوند؛ اما به نظر شما دلیل این مسئله چیست؟ پیش از پرداختن به این مسئله خوب است کمی درباره نحوه کارایی الگوریتم اثبات سهام بدانیم. در این الگوریتم ماینرهایی که بهعنوان نودهای اعتبارسنجی در شبکه فعالیت میکنند نیاز دارند برای شروع کار خود مقداری از توکنهای بومی شبکه مذکور را در یک استخر استیکینگ، استیک یا به اصطلاح قفل کنند. این کار باعث میشود آنها به نسبت سرمایهای که در این استخر قفل میکنند توانایی و قدرت بیشتری در هشینگ یا رای دادن به دست آورند.
هرچه سرمایه بیشتر باشد نودهای مذکور قدرت بیشتری در شبکه خواهند داشت. به این ترتیب، اگر بخواهیم یک حمله 51 درصدی را در یک شبکه الگوریتم اثبات سهام رقم بزنیم نیاز داریم حجم بیش از 50 درصد استخر استیکینگ را ما فراهم کنیم تا به این ترتیب، قدرت شبکه به صورت انحصاری و 51 درصدی به ما تعلق بگیرد. همچنین عموما کسانی که قصد حمله 51 درصدی به چنین شبکهای را دارند سعی میکنند تا بیش از 50 درصد توکنهای استیک شده را خریداری کنند. در این صورت مسلم است هزینهای که یک سازمان برای چنین خرید کلانی باید بپردازد، شاید اصلا ارزش تسلط بر شبکه را نداشته باشد و در واقع در این صورت حتی سود کمتری نیز از آنچه که خرج کرده به دست آورد. از طرفی، از آنجایی که فرد حمله کننده بیش از 50 درصد از توکنها را در اختیار دارد، در صورت حمله به شبکه، شیرازه بلاکچین از هم میپاشد و کاربران به سرعت شبکه را ترک میکنند و به عبارت دیگر این تهدیدی علیه داراییهای خود فرد است نه کس دیگر!
چنین مواردی دست به دست هم داده تا حمله 51 درصدی به یک شبکه که از الگوریتم اثبات سهام بهره میبرد، یک کار غیر عقلانی جلوه دهد. در حال حاضر بلاکچین اتریوم از معروفترین بلاکچین هایی است که از گواهی اثبات سهام بهره میبرد و ورود توکن اتریوم به این شبکه باعث شد تا هزینه حمله 51 درصدی به این شبکه حتی بالاتر هم برود. به این ترتیب، شبکه اتریوم هم اکنون میتواند به کمک الگوریتم اجماع خود سریعا احتمال حمله را تشخیص دهد و همچنین قابلیت رای دهی این پلتفرم کمک میکند تا جامعه کاربری بتوانند با رایهای خود سریعا شبکه را به حالت سلامت خود برگردانند.
ممکن است شما هم کنجکاو باشید که با وجود این همه دردسر برای حمله 51 درصدی، آیا تا به حال این اتفاق افتاده و کسی توانسته این موانع را کنار بزند و به یک بلاکچین حمله کند؟ در پاسخ این سوال باید گفت بله! حمله 51 درصدی در شبکههای بسیار بزرگ تقریبا امری ناممکن است؛ اما در شبکههایی که افراد کمی برای کنترل شبکه و اعتبارسنجی تراکنشها سهیم هستند، این مسئله با راحتی بیشتری قابل پیاده سازی است. موسسه فناوری میشیگان در این باره اعلام کرده که از سال 2019 به بعد شبکههای کوچکتر و ضعیفتر نظیر لاین کوین، بیت کوین گولد و غیره بیش از 40 بار در سال حمله 51 درصدی را تجربه میکنند.
از میان حملههایی که تا به حال اتفاق افتاده میتوان به حمله 51 درصدی بیت کوین گلد (BTG) که منجر به دوباره خرج کردن 18 میلیون دلار پول شد اشاره کرد. این اتفاق در سال 2018 رخ داد. همچنین رمزارز بیت کوین SV تا به امروز سه بار در سال 2021 تحت حمله 51 درصدی قرار گرفته که باعث آسیب دیدن نگاه اجتماع به این پلتفرم شده است. گرین (GRIN) نیز از رمزارزهایی بود که در سال 2020 مورد تهاجم قرار گرفت و خوشبختانه شبکه توانست سریعا خود را بازیابی کند. رمزرازهای اتریوم کلاسیک و ورت کوین هم به ترتیب در سالهای 2019 و 2018 مورد حمله 51 درصدی قرار گرفتند و به نوبت هر کدام 1 میلیون دلار و 100 هزار دلار از توکنهای بومی خود را در زمینه دوبار خرج کردن از دست دادند.
حمله 51 درصدی یکی از مخربترین اتفاقاتی است که برای یک بلاکچین رخ میدهد و حتی قویترین بلاکچین یعنی بیت کوین هم ممکن است از این حیث آسیب پذیر باشد. اصلیترین راه حل جلوگیری از این حمله، بالا بردن تعداد نودهای اعتبارسنجی است. اگر به نحوه سازوکار بلاکچینها دقت کنیم این مسئله مشخص میشود. غیرمتمرکز بودن شبکههای رمزارز را مدیون وجود نودهایی هستیم که به صورت مستمر و با صداقت تمام در خصوص تایید تراکنشها اعلام حضور میکنند. کم بودن تعداد این نودها باعث میشود هزینهای که حمله کننده باید بپردازد تا یک شبکه را مورد حمله قرار دهد کمتر شود؛ به این ترتیب، هرچه تعداد بالاتر برود هزینه برای فرد متخلف بیشتر است و احتمال حمله 51 درصدی کاهش میباید.
در نهایت با بیشتر شدن حملههای 51 درصدی توسعهدهندگان تصمیم گرفتند برای این مسئله چارهای بیندیشند و یک سری راه حلها و راههای مقابله را در کنار بهکارگیری پروتکلهای امنیتی معرفی کردند. با اینکه هنوز به صورت 100 درصدی نمیتوان از حمله 51 درصدی جلوگیری کرد؛ اما به نظر میرسد به کار بستن این راههای مقابله بتواند تا حد زیادی آرامش را به شبکهها برگرداند.
تقویت جامعه کاربری شبکه یکی از راههای مقابله با حمله 51 درصدی است که امروزه بر روی آن مانورهای زیادی داده میشود. نباید فراموش کرد که این نودهای یک شبکه هستند که ضامن سلامت و حیات پلتفرماند؛ پس باید به آنها اهمیت داد. جامعه کاربری در صورت تقویت میتواند در شبکههایی که از الگوریتم اثبات سهام استفاده میکنند تاثیر بهتری روی جلوگیری از حمله 51 درصد داشته باشد. این مسئله به این دلیل است که در این پلتفرمها اعضای شبکه میتوانند درباره قابلیت اعتبارسنجی یک نود رای بدهند و اگر ماینرها متوجه شوند که یک نود قصد و قابلیت حمله به شبکه را دارد، سریعا آن را با رای گیری از شبکه بیرون میکنند. حتی با تقویت جامعه کاربری شبکه میتوان مجازاتهایی برای نودهای متخلف در نظر گرفت؛ برای مثال با رای گیری جریمههای اسلشینگ در شبکه اعمال میشود و به این ترتیب، میتوان تمام دارایی نود را به نفع شبکه مصادره کرد.
دومین راهی که بهعنوان راه های مقابله با حمله 51 درصدی توسط توسعه دهندگان ارائه شده فنیتر است. سخت افزارهای ماینینگ دستگاهها و کامپیوترهایی هستند که توان محاسباتی بالایی داشته و میتوانند در ماینینگ شرکت کنند. این دستگاهها با محاسبات پیشرفته ریاضی، جواب معادلات را محاسبه کرده و در نهایت حدس میزنند. این دستگاهها انواع متفاوتی دارند و قطعات سخت افزاری آنها میتواند در مارکها و مدلهای مختلف توزیع شوند. همچنین تغییر هر یک از قطعات در ساختار دستگاه ماینینگ میتواند بر روی هش ریت آنها تاثیر بگذارد؛ به این ترتیب، هرچه هش ریت یک دستگاه را بالا ببریم و این کار را برای کلیه دستگاههای ماینینگ یک شبکه انجام دهیم، احتمال حمله 51 درصدی در شبکه پایین میآید. این مسئله به این دلیل است که فرد حمله کننده شانس کمتری برای فراهم سازی دستگاههای قدرتمندتر برای غلبه بر این قطعات سخت افزاری قوی دارد. به نظر میرسد در بین این قطعات، نمونههای دستگاههای ایسیک ASIC سرعت پردازش بالاتری دارند و نسبت به نمونههایی که با کارت گرافیکی (GPU) کار میکنند، مقاومت بیشتری در برابر حمله 51 درصدی از خود نشان میدهند.
پیشتر گفتیم که الگوریتم اثبات سهام به این علت که حمله کننده نیاز دارد بیش از نیمی از توکنهای استیک شده را خریداری کند، توانایی ترتیب دادن حمله 51 درصدی را نخواهد داشت. همچنین این حمله بر علیه منافع خود اوست؛ پس کمتر اتفاق میافتد که بخواهیم حملههای 51 درصدی را در بستر شبکههای مبتنی بر الگوریتم اجماع اثبات سهام مشاهده کنیم. همین موضوع سبب شده تا امروزه جایگزینی الگوریتم اثبات سهام به جای الگوریتم اثبات کار، به علت امنیت بیشتر بهعنوان یکی از راه حلهای مقابله با حمله 51 درصدی مطرح شود.
یکی دیگر از راه حلهای مقابله با حمله 51 درصدی این است که توسعه دهنده هر بلاکچین محدودیتهای فنی را در بستر فناوری خود ایجاد کند که این محدودیت باعث شود هیچ ماینر یا گروهی از ماینرها نتوانند به هش ریتی بیش از نیمی از کل هش ریتها برسد. به عبارت دیگر طبق این تغییرات دیگر هیچ سازمانی توانایی به دست گرفتن کنترل بیش از نیمی از شبکه را نخواهد داشت.
در خصوص احتمال حمله 51 درصدی به شبکه بیت کوین باید گفت که این شبکه مبتنی بر الگوریتم اجماع اثبات کار عمل میکند و اگر قرار باشد حمله به این شبکه صورت پذیرد باید به جای در اختیار گرفتن نیمی از کوینهای این شبکه، نیمی از هش ریت یا قدرت استخراج را به دست گرفت. در اصل تا به حال در تاریخچه بیت کوین کسی نتوانسته چنین حملهای را رقم بزند؛ چرا که آمار و ارقام میگویند برای حمله 51 درصدی به شبکه بیت کوین باید توانایی حداقل 115 اگزاهش را در دست داشته باشیم. برای دسترسی به چنین قدرت هشی در یک شبکه تقریبا نیاز داریم 512 هزار دستگاه ماینینگ پرقدرت ASIC را با قدرت 255 تراهش در ثانیه به کار گیریم تا شاید بتوانیم یک حمله 51 درصدی را علیه بیت کوین BTC رقم بزنیم.
حمله 51 درصدی بزرگترین نقطه ضغف دنیای بلاکچینها و بازار ارز دیجیتال است. به نظر میرسد سد محکم امنیت بیت کوین را تنها این اتفاق میتواند بشکند. حمله 51 درصدی فرآیندی است که در طی آن یک سازمان، ماینر یا گروهی از نودهای اعتبارسنجی شبکه سعی میکنند تا کنترل تایید و اعتبارسنجی در شبکه را به دست بگیرند تا به این وسیله از شبکه سو استفاده کنند. با استفاده از حمله 51 درصدی میتوان اعمال مخربی را در شبکه رقم زد که از میان آنها میتوان به معکوس کردن تراکنشها، عدم اجازه به تایید تراکنشهای دیگر، بازنویسی بخشی از بلاکچین و حتی دوباره خرج کردن اشاره کرد.
خوشبختانه برای مقابله با حمله 51 درصدی راه حلهایی ارائه شده که توسعه دهندگان سعی میکنند آن را در زیرساختهای فنی پروژهها به کار بگیرند. در نهایت به نظر میرسد وقوع حمله 51 درصدی در شبکههای بزرگ و گسترده بسیار سختتر از شبکههایی است که افراد کمتری در کنترل و اعتبارسنجی آن نقش دارند. وبسایت کریپتوباز امیدوار است که این مقاله اطلاعات کافی درباره حمله 51 درصدی را به شما ارائه داده باشد. چنانچه علاقهمند به مطالعه مطالبی درباره قسمتهای دیگر دنیای رمزارزها هستید میتواند به مقالات دیگر این وبسایت مراجعه کنید.
حمله 51 درصدی درواقع حملهای است که در آن یک سازمان یا نود متخلف تلاش میکند تا کنترل بیش از نیمی از شبکه را به دست بگیرد؛ بهطوریکه بتوانند تغییراتی را به نفع خود در بلاکچین ایجاد کند.
با حمله 51 درصدی سازمانهای متخلف میتوانند تراکنشها را معکوس کنند، سرمایه خود را دوباره خرج کنند، بخشی از بلاکچین را بازنویسی کنند، مانع تایید و استخراج تراکنشهای دیگر شوند و بسیاری از موارد دیگر.
از میان راههای مقابله با حمله 51 درصدی میتوان به تقویت جامعه کاربری شبکه، استفاده از سخت افزارهای ماینینگ به خصوص، جایگزینی الگوریتم اثبات سهام به جای اثبات کار و همچنین ایجاد محدودیت 50 درصدی برای کنترل هش ریت اشاره کرد.