مکانیزمهای اجماع برای عملکرد سیستمهای توزیعشده بسیار حیاتی هستند. بسیاری بر این باورند که بزرگترین نوآوری در بیتکوین، استفاده از الگوریتم اجماع «اثبات کار» بهمنظور قادر ساختن کاربران برای توافق بر سر حقایق مشترک بوده است. امروزه، الگوریتمهای اجماع نه تنها از سیستمهای پول دیجیتال، بلکه از بلاکچینهایی که به برنامهنویسان امکان اجرای کد در یک شبکه توزیعشده میدهند نیز، پشتیبانی میکنند. آنها سنگبنای فناوری بلاکچین بوده و برای بقای طولانیمدت شبکههای موجود، بسیار حیاتی هستند. یک الگوریتم اجماع ساز و کاری است که به کاربران یا دستگاهها اجازه میدهد تا در یک محیط توزیعشده، با یکدیگر هماهنگ شوند. باید اطمینان حاصل شود که همه عوامل سیستم میتوانند روی یک منبع حقیقت توافق کنند، حتی اگر برخی عوامل موفق به این کار نشوند. به عبارت دیگر، سیستم باید در برابر خطا مقاوم باشد. در یک سیستم متمرکز، یک نهاد/فرد قدرتی بیشتر از کل سیستم دارد. در اکثر موارد، آنها میتوانند تغییرات دل بخواه خود را ایجاد کنند (هیچ سیستم مدیریت پیچیدهای برای دستیابی به اجماع بین مدیران مختلف وجود ندارد). اما در یک سیستم غیرمتمرکز، داستان کاملاً فرق میکند. فرض کنید که از یک پایگاه داده توزیعشده استفاده میکنیم - چگونه میتوان بر سر اینکه چه ورودیهایی افزوده شود به توافق رسید؟ غلبه بر این چالش در محیطی که غریبهها به یکدیگر اعتماد ندارند، شاید مهمترین پیشرفتی است که راه را برای بلاکچین هموار کرده است. در این مقاله، به این موضوع میپردازیم که الگوریتمهای اجماع برای عملکرد رمزارزها و دفاترکل توزیعشده (لجر)، چقدر حیاتی هستند. در رمزارزها، مانده حساب کاربران در یک پایگاه داده (دیتا بیس) ثبت میشود که بلاکچین نام دارد. این ضروری است که هر کس (یا بهطور دقیقتر، هر نود) یک نسخه مشابه از پایگاه داده را در اختیار داشته باشد. در غیر این صورت، شما با اطلاعات ضد و نقیض مواجه خواهید شد و هدف اصلی شبکه کریپتوکارنسی را تضعیف خواهید کرد. رمزنگاری کلید عمومی، تضمین میکند که کاربران نمیتوانند کوینهای یکدیگر را خرج کنند. اما هنوز هم باید یک مرجع حقیقت واحد وجود داشته باشد که مشارکتکنندگان شبکه به آن اعتماد کرده تا مشخص کنند که آیا وجوه تا قبل از این هزینه شده است یا خیر. ساتوشی ناکاماتو، خالق بیتکوین، یک سیستم اثبات کار را برای هماهنگی مشارکتکنندگان پیشنهاد داد. در این بخش، برخی از خصوصیات مشترک بسیاری از الگوریتمهای اجماع موجود را شناسایی خواهیم کرد. در وهله اول، نیاز است که کاربرانی که میخواهند بلاک اضافه کنند (اعتبارسنجها) استیک (سهام) فراهم کنند. استیک نوعی دارایی است که یک اعتبارسنج باید در شبکه نگه دارد، سپردهای که آنها را از ایفای نقش مخرب منع میکند. اگر آنها تقلب کنند، سهام خود را از دست میدهند. چرا آنها ریسک منابع خودشان را به جان بخرند؟ خوب، در اینجا پاداش نیز داریم. پاداش معمولاً شامل رمزارز بومی پروتکل است و از کارمزدهای (فی) پرداختشده توسط سایر کاربران، رمزارزهای تازه تولیدشده، یا هر دو تشکیل شده است. آخرین چیزی که نیاز داریم شفافیت است. باید بتوانیم وقتی کسی تقلب میکند، آن را شناسایی کنیم. در حالت ایدهآل، ایجاد بلاک باید برای آنها هزینهبر باشد، اما برای کسی که آنها را تائید میکند باید ارزان باشد. این امر باعث میشود اعتبارسنجها توسط کاربران عادی چک شوند.
اثبات کار (PoW) پدرخوانده الگوریتمهای اجماع بلاکچین است. این الگوریتم نخستین بار در بیتکوین پیادهسازی شد، اما مفهوم واقعی آن از مدتی قبل وجود داشته بود. در اثبات کار، اعتبارسنجها (که به آنها ماینر گفته میشود) تا زمانی که راهحل خاصی ارائه دهند، دادههایی را که میخواهند اضافه کنند، به هش تبدیل میکنند. هش یک رشته تصادفی از حروف و اعداد است که هنگام اجرای دادهها از طریق یک تابع هش ایجاد میشود. اگر همان دادهها را دوباره از طریق هش اجرا کنید، همیشه همان خروجی مشابه را مشاهده خواهید کرد. اما، اگر حتی اطلاعات جزیی را تغییر دهید، هش حاصلشده کاملاً متفاوت خواهد بود. با نگاه به خروجی، نمیتوانید بگویید چه اطلاعاتی در این تابع قرار گرفته است. بنابراین آنها برای اثبات اینکه شما بخشی از داده را از قبل میدانستید، مفید هستند. میتوانید هش خود را به کسی بدهید و وقتی بعداً دادهها را فاش کردید، آن شخص میتواند آن را از طریق تابع اجرا کند تا مطمئن شود که خروجی یکسان است. در اثبات کار، پروتکل شرایط خاصی را برای اعتباربخشی به بلاک ایجاد میکند. بهعنوانمثال، ممکن است فقط بلاکی که هش آن با 00 شروع میشود، معتبر باشد. تنها راهی که ماینر میتواند یک هش مطابق آن ایجاد کند، دادن ورودیهای مختلف است. آنها میتوانند یک پارامتر را در دادههای خود مکرراً تغییر داده و نتایج مختلفی را ایجاد کنند، تا زمانی که به هش صحیح برسند. در بلاکچین های اصلی، این فرآیند بسیار پیچیده تنظیم شده است. برای رقابت با سایر ماینرها، به یک انبار مملو از سختافزار مخصوص هشینگ (ASICs) نیاز دارید تا بتوانید یک بلاک معتبر ایجاد کنید. در هنگام استخراج، استیک شما هزینه این دستگاهها و برق مورد نیاز برای اجرای آنها است. ASIC ها فقط برای یک منظور ساخته شدهاند، بنابراین هیچ کاربردی غیر از استخراج رمزارز ندارند. تنها راه شما برای برگشت سرمایه استخراج است، که اگر با موفقیت یک بلاک جدید را به بلاکچین اضافه کنید، سود قابل توجهی به همراه خواهد داشت. برای شبکه، تائید اینکه که شما بلاک صحیح را ایجاد کردید، بسیار ساده است. حتی اگر برای به دست آوردن هش صحیح، تریلیونها ترکیب را امتحان کرده باشید، آنها فقط باید دادههای شما را یک بار از طریق یک تابع اجرا کنند. اگر دادههای شما یک هش معتبر تولید کند، پذیرفته شده و شما پاداش خود را دریافت میکنید. در غیر این صورت، شبکه آن را رد کرده و شما برای هیچ و پوچ، وقت و برق را هدر خواهید داد.
اثبات سهام (PoS) در اوایل راهاندازی بیتکوین بهعنوان جایگزینی برای اثبات کار پیشنهاد شد. در یک سیستم PoS، ماینر، سختافزارهای تخصصی یا مصرف گسترده انرژی وجود ندارد. تمام آنچه نیاز دارید یک کامپیوتر معمولی است. در PoS، شما بهجای یک منبع خارجی (مانند برق یا سختافزار) از یک منبع داخلی استفاده میکنید که همان رمزارز است. قوانین در هر پروتکل متفاوت است اما به طور کلی باید یک مقدار حداقلی از وجوه را نگهداری کنید تا واجد شرایط استیکینگ شوید. برای این کار، شما وجوه خود را در یک کیفپول قفل میکنید (در زمان استیکینگ قابل جابجایی نیستند). به طور معمول شما با سایر اعتبارسنجها بر سر اینکه کدام تراکنشها وارد بلاک بعدی شوند، موافقت میکنید. به عبارتی، شما روی بلاکی که انتخاب خواهد شد شرط میبندید و پروتکل یکی از آنها را انتخاب میکند. اگر بلاک شما انتخاب شود، بسته به سهام خود، بخشی از کارمزد تراکنش را دریافت خواهید کرد. هرچه بودجه بیشتری در شبکه قفل کرده باشید، درآمد بیشتری کسب میکنید. اما اگر با پیشنهاد تراکنشهای نامعتبر سعی در تقلب داشته باشید، بخشی (یا همه) سهام خود را از دست خواهید داد. بنابراین، ما مکانیزمی مشابه PoW داریم: عمل صادقانه سودآورتر از عمل غیر صادقانه است. به طور کلی، چیزی تحت عنوان کوینهای تازه تولیدشده بهعنوان بخشی از پاداش اعتبارسنجها وجود ندارد. بنابراین، ارز بومی بلاکچین باید به روش دیگری صادر شود. این کار میتواند از طریق توزیع اولیه (بهعنوانمثال، ICO یا IEO) یا با اجرای پروتکل با PoW، قبل از انتقال به PoS انجام شود. تا به امروز، اثبات سهام خالص فقط در رمزارزهای کوچکتر پیادهسازی شده است. بنابراین، هنوز مشخص نیست که این سیستم میتواند بهعنوان یک جایگزین مناسب برای PoW عمل کند یا خیر. اگرچه ازنظر تئوری مثبت به نظر میرسد، اما در عمل بسیار متفاوت خواهد بود. هنگامیکه PoS بر روی شبکهای با دارایی زیاد پیاده شود، سیستم به صحنه نظریه بازی و مشوقهای مالی تبدیل میشود. هرکسی که چگونگی هک کردن یک سیستم PoS را بلد باشد، تنها زمانی که از آن سود ببرد، این کار را انجام خواهد داد. ما به زودی شاهد آزمایش PoS در مقیاس وسیع خواهیم بود: Casper بهعنوان بخشی از بهروزرسانی به شبکه اتریوم 2.00 پیادهسازی خواهد شد.