معرفی بلاک چین از طریق کریپتو اکونومیکس – قسمت 2: اثبات کار و اجماع ناکاموتو

این مقاله، قسمت دوم از یک مجموعه‌‌ مقدماتی درباره‌‌ سیستم‌‌های تشویقی کریپتو اکونومیکی است که شالوده‌‌ی پروتکل‌‌های بلاک چین مختلف و سؤال‌‌های پژوهشی نوظهور در فضای فناوری بلاک چین محسوب می‌شوند. این بخش به راه حل حمله عدم پذیرش سرویس، هزینه‌های استخراج، مزایای اثبات کار و حمله‌‌ی 51% می‌پردازد.

0 77

بخش 1: راه‌‌حل‌‌های پیشنهاد شده برای Dos (حمله‌‌ عدم پذیرش سرویس)

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

ما سه راه‌‌حل احتمالی را مطرح می‌‌کنیم:

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

پازل‌‌های پرهزینه: وارد کردن هر بلاک جدید را دشوار و پرهزینه نمایید. در چنین رویکردی، برای یک استخراج کننده، پیشنهاد یک بلاک، 100 دلار و پیشنهاد 100 بلاک، 10.000 دلار هزینه خواهد داشت. بنابراین، برای یک استخراج‌‌کننده، بسیار پرهزینه است که توسط مقادیر زیادی بلاک، شبکه را مورد حمله‌‌ی عدم پذیرش سرویس قرار دهد. این رویکرد، ایده‌‌ی اثبات کار است و امروزه، توسط بیت کوین‌‌ و اکثر بلاک چین‌‌های عمومی دیگر استفاده می‌‌شود.

از طریق تنبیهات شدید برای بدرفتاری و تشویق‌‌ها برای رفتار درست، اعتماد ایجاد نمایید. این اقدام، مشخصه‌‌ی بسیاری از سیستم‌‌های بلاک چین “اثبات سهام” است.

ما در این مطلب، 2 راه حل احتمالی اول، یعنی استخراج‌‌کنندگان قابل اعتماد و پازل‌‌های پرهزینه را مورد بحث قرار می‌‌دهیم.

بخش 2: استخراج‌‌کنندگان قابل اعتماد

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

بنابراین، این نودهای قابل اعتماد، باید یک ID (شناسه) ثبت نمایند که مطابق با هویت زندگی واقعی آنها باشد. برخی از پروتکل‌‌ها مانند استلار، از روشی استفاده می‌‌کنند که در آن، هر نود، سایر نودهای سالم شبکه را مشخص می‌‌کند. همچنانکه که یک نود، تصدیق‌‌های بیشتری مبنی بر سالم بودن، از همتایان خود دریافت می‌‌کند، قدرت رأی‌‌دهی بیشتری در شبکه به دست می‌‌آورد.

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

بخش 3: پازل‌‌های پرهزینه

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

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

بخش 4: مزایای PoW

مفهوم PoW، چند مزیت قابل توجه بیش از سایر روش‌‌ها دارد. با کاهش سرعت معامله:

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

Bitcoin

منبع: Georgios Konstantopoulos

قسمت 5: نظریه‌‌ بازی‌‌ طولانی‌‌ترین زنجیره

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

با این وجود، همچنان یک مسئله‌‌ی اساسی وجود دارد: اگر دو استخراج‌‌کننده‌‌ی مختلف، پازل‌‌ PoW خود را همزمان حل نمایند چه اتفاقی رخ می‌‌دهد؟ کدام بلاک در بلاک چین درج می‌‌شود؟ به عبارت دیگر، چگونه تمام افراد را ترغیب به توافق بر همان نسخه از بلاک چین می‌‌نماییم؟

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

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

bitcoin

گرفته شده از: SPECTRE: ترتیب اتفاقات اثبات کار، تأیید معاملات از طریق انتخابات تکرارشونده (توسط Yoad Lewenberg، Yonatan Sompolinsky و Aviv Zohar)

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

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

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

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

bitcoin

نماد بیت کوین‌‌، بسته به شخصی که از او سؤال می‌‌کنید. بیت کوین‌‌، واقعا سلیقه‌‌ای است.

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

اما اگر شرایط، عادی نباشد، چه اتفاقی رخ می‌‌دهد؟

بخش 6: حمله‌‌ 51%

با توجه به این که هیچ قطعیتی در بلاک چین‌‌های اثبات کار سنتی‌‌ مانند بیت کوین‌‌ وجود ندارد، این امر، یک محور حمله‌‌ی احتمالی، یعنی حمله‌‌‌‌ی 51% را نشان می‌‌دهد. ‘قطعیت’ یک بلاک، احتمالی و مشروط بر این است که آن بلاک، در زنجیره‌‌ای باشد که اکثریت/ انبوه قدرت استخراج، پشتیبان آن هستند. اما اگر شخصی، 51% قدرت پردازش هش را به دست آورد، قادر به حل پازل‌‌های PoW با نرخ سریع‌‌تری از هر شرکت‌‌کننده‌‌ی دیگر در شبکه‌‌ خواهد بود و بنابراین، نسخه‌‌ بلاک چین او، سریع‌‌تر از تمام نسخه‌‌های دیگر زنجیره‌‌ی ترکیب‌‌شده، رشد خواهد کرد. در نتیجه، به لحاظ نظری، مهاجم می‌‌تواند استخراج را از بلاک اولیه (یعنی اولین بلاک) شروع نماید و تا زمانی که زنجیره‌‌ی او طولانی‌‌تر از زنجیره‌‌ی دیگران شود استخراج کند که به موجب آن، تاریخچه‌‌ی بلاک چین را از بین می‌‌برد و تمام معاملاتی را که تا به حال رخ داده‌‌اند باطل می‌‌کند.

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

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

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

ارسال پاسخ

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