الگوریتم اجماع (Consensus Algorithms) چیست؟ این الگوریتمهای چه نقشی در خرید و فروش ارز دیجیتال دارند؟ مکانیزمی است که به کاربر اجازه میدهد تا با سایر کاربران و بلاکچین یک رمزارز هماهنگ شود. الگوریتم اجماع باید اطمینان حاصل کند که تمام کاربران حاضر در شبکه از یک منبع واحد استفاده میکنند و اگر تعدادی از کاربران از شبکه خارج شوند، ضرری به کلیت سیستم وارد نمیشود.
به عبارت دیگر، الگوریتم اجماع Consensus Algorithms کمک میکند که سیستم تحمل خطا را داشته باشد. برای اینکه بیشتر با مفهوم الگوریتم اجماع در بلاکچین آشنا شوید، با ما در ادامه این مقاله هلدینگ سیمیا همراه شوید.
بلاکچین زنجیرهای از بلوکهاست که تراکنشهایی داخل آن قرار میگیرد. این تراکنشها باید تایید شوند تا به اجرا درآیند. حال سوال اینجاست که چطور میتوان آنها را تایید کرد؟ چه سازوکاری باید پیاده شود تا میان کاربران و فعالان حاضر در شبکه، توافقی بر سر وضعیت فعلی شبکه به وجود بیاید؟ همینجاست که پای مفهوم مهمی به اسم الگوریتم اجماع (Consensus Algorithm) به میان میآید. به کمک این الگوریتمها، تراکنشها مطابق با روشهایی که در ادامه بیان خواهیم کرد، تایید میشوند.
مفهوم الگوریتم اجماع Consensus Algorithms با مفهوم سیستمهای توزیعشده گره خورده است. الگوریتم اجماع فرایندی در علوم کامپیوتر است. مطابق این فرایند میتوان بر سر ارزش دادهای واحد در میان سیستمها و فرایندهای توزیع شده، به توافق رسید. وقتی در شبکهای کاربران یا نودهای زیادی مشغول به فعالیت هستند، این الگوریتمها به اعتمادپذیری آن شبکه کمک میکنند.
یکی از ویژگیهای مهم تکنولوژی بلاکچین و انواع دیگر دفتر توزیع شده (DLT)، غیرمتمرکز بودن است. غیرمتمرکز بودن در دنیای کامپیوتر به این معناست که هر اطلاعات ارزشمندی در یک سرور مرکزی ذخیره و پردازش نمیشود؛ بلکه تمامی دادهها در چندین کامپیوتر ذخیره و نگهداری میشوند. به سرورهایی که این اطلاعات را ذخیره میکنند و به نوعی سرویسدهنده شبکه هستند، گره یا نود (Node) میگوییم.
بزرگترین دلیل استفاده از انواع دفاتر کل توزیع شده مانند بلاکچین، بالا بردن امنیت و اطمینان از نابود نشدن دادههاست. اگر اطلاعات ذخیره شده در یکی از سرورها (گرهها) به هر دلیلی از بین برود، چندین هزار و حتی میلیونها سرور دیگر آن اطلاعات را در خود ذخیره کردهاند. وجود همین نسخههاست که باعث میشود امنیت شبکه به میزان زیادی تامین شود.
اما هنگام استفاده از بلاکچین، یک مسئله حیاتی مطرح میشود. زمانی که قرار باشد اطلاعات بهروزرسانی شوند، این اتفاق باید در سیستم همه نودها بیفتد. برای حل این مسئله، از مکانیسم اجماع استفاده میشود.
طبق این الگوریتم Consensus Algorithms، قبل از هر چیز فرض شده است که برخی از گرهها در دسترس نباشند؛ در حقیقت هم دسترسی به تمام گرهها در یک زمان واحد احتمال بسیار کمی دارد. در سیستمهای متمرکز مانند یک شرکت، تمام کارمندان در زمان مشخصی در اداره حضور دارند و در صورت نیاز همه آنها در دسترس خواهند بود.
اما در سیستمهای غیرمتمرکز این ویژگی وجود ندارد. در نتیجه، الگوریتمهای اجماع Consensus Algorithms باید دارای یک حداقل برای تصویب اجرای تغییرات باشند. به طور مثال اگر ۵۱ درصد از گرههای یک شبکه در الگوریتم اجماع بلاکچین به توافق برسند که اطلاعات را آپدیت و بهروزرسانی کنند، این اتفاق خواهد افتاد.
فهرست محتوا
تفاوت سیستم متمرکز با سیستم غیرمتمرکز
در یک سیستم متمرکز، یک مرکز واحد، مدیریت کل سیستم را بر عهده دارد. در بیشتر موارد، مرکز مدیریت میتواند هر تغییری که بخواهد ایجاد کند و مراحل پیچیدهای برای ایجاد تغییرات وجود ندارد. سیستمهای متمرکزی مانند بانکها و دولتها، نهادهایی هستند که مدیریت و ایجاد تغییر در آنها در اختیار یک قدرت مرکزی است.
اما در یک سیستم غیرمتمرکز، داستان به کلی متفاوت است. فرض کنید تمامی کاربران در حال ایجاد تغییر روی یک سیستم توزیع شده هستند. چطور میتوان وحدت سیستم را حفظ کرد تا هرکسی راه خودش را نرود و همه روی یک نسخه از سیستم توافق کنند؟ اینجا است که الگوریتمهای اجماع Consensus Algorithms اهمیت خود را نشان میدهند. چالش نبود اعتماد بین نودهایی (کاربران شبکه) که هیچ شناختی نسبت به هم ندارند، یک فرصت برای بلاکچین ایجاد میکند. فرصتی که در آن بنا بر اعتماد به همه کاربران است نه فقط به یک قدرت مرکزی.
تاریخچه الگوریتم اجماع Consensus Algorithms
با توجه به این نکته که الگوریتمهای اجماع صرفا در بلاکچین و رمزارزها به کار گرفته نمیشوند، وقتی میخواهیم تاریخچه الگوریتم اجماع Consensus Algorithms را بررسی کنیم، باید به زمان پیش از پیدایش بیت کوین و به طور کلی رمزارزها برگردیم.
در این سیستمها باید میان اعضای شبکه توافقی حاصل شود تا سیستم بتواند کارایی خود را حفظ کند. پس دلیل ایجاد مکانیزم اجماع این بود که برخی از عوامل شبکه شکست میخوردند یا به هر طریقی قابل اعتماد نبودند. به طور کلی مشکل اجماع و توافق در سیستمهای توزیع شده، مشکلی بنیادی و اساسی است که از سالهای دور هم وجود داشته است.
اما در دنیای رمزارزها، مکانیسم اجماع Consensus Algorithms یکی از اجزای حیاتی و مهم بلاکچین است که توافقهایی را بر سر وضعیت فعلی شبکه انجام میدهد. از زمان ظهور بیت کوین در سال ۲۰۰۸، مکانیزم اجماع اصلی آن یعنی گواه اثبات کار (PoW)، مورد تقلید قرار گرفته و کپی شده است. به این ترتیب راه برای یک سری الگوریتمهای جایگزین باز شد که هر کدام ویژگیهای متفاوت و منحصربهفرد خود را دارند. در ادامه مطلب، این الگوریتمها را بررسی میکنیم.
ایده و اهداف الگوریتم اجماع در بلاکچین
الگوریتمهای اجماع Consensus Algorithms با ایجاد توافق در شبکه، دو فاکتور اعتبار (Reliability) و اعتماد را تامین میکنند؛ اعتبار در شبکه بلاکچین و اعتماد بین نودها یا همتایان ناشناس در محیط محاسباتی توزیع شده. پروتکل اجماع اطمینان حاصل میکند هر بلاک جدید که به بلاکچین اضافه میشود، تنها نسخهای است که تمام نودها بر سر آن با هم توافق دارند.
الگوریتم اجماع Consensus Algorithms در بلاکچین شامل اهداف خاصی نظیر دستیابی به توافق، همکاری، برابری و مساوات حقوق هر نود و حضور اجباری آنها در فرایند اجماع است. همچنین باید این نکته را هم در نظر گرفت که الگوریتمهای اجماع جدیدتر، معمولا با این هدف ایجاد میشوند که ایرادات و مشکلات الگوریتمهای قبلی را از بین ببرند.
الگوریتم اجماع و رمزارزها
در رمزارزها، دارایی کاربران در یک پایگاه داده در بلاکچین ذخیره میشود و بسیار ضروری است که همه کاربران یک نسخه واحد از این پایگاه داده را در اختیار داشته باشند. در غیر این صورت، خیلی زود کاربران با تضادهای زیادی مواجه خواهند شد که برخلاف هدف اصلی بلاکچین است.
کلید عمومی رمزنگاری شده اطمینان حاصل میکند که کاربران نتوانند کوینهای یکدیگر را خرج کنند. اما هنوز معضل دوباره خرج کردن (Double-spending) ارزها باقی میماند. ساتوشی ناکاموتو (خالق بیت کوین) سازوکار اثبات کار (Proof of Work) را برای این حل این مسئله پیشنهاد کرده است.
ماهیت الگوریتم اجماع Consensus Algorithms چیست؟
ما در مکانیزم الگوریتمهای بلاک چین، اول از همه به کاربرانی نیاز داریم که بخواهند به بلاکچین، بلاک اضافه کنند تا در آن بتوان تراکنشهای جدید را ثبت کرد. ما به این کاربران اعتبارسنج (نود ولیدیتور) میگوییم. لازم است که هر ولیدیتور، یک ارزش به شبکه اضافه کند که این ارزش او را از تقلب منع و به فعالیت صادقانه در شبکه تشویق کند. اگر هر ولیدیتور عملی غیرصادقانه در شبکه انجام دهد، سهام خود را در شبکه از دست میدهد. این سهام میتواند قدرت پردازش کامپیوتری، رمزارز و یا حتی حسن شهرت او باشد.
اما چرا یک ولیدیتور باید روی داراییهای خود ریسک کند؟ اینجا بحث پاداش مطرح میشود؛ پاداشی که معمولاً از ارزی در همان بلاکچین به کاربر داده شده تا او را به ماندن در شبکه تشویق کند. این پاداش یا از کارمزدهایی که سایر کاربران پرداخت میکنند تشکیل شده یا کوینهای جدیدی است که در بلاک جدید نهفته و به کاربر تعلق میگیرد (یا هر دو).
آخرین چیزی که در این مسیر نیاز داریم، شفافیت است. ما باید مطمئن شویم که هیچ کس در شبکه تقلب نمیکند. در یک سیستم با الگوریتم اجماع، تقلب کردن در شبکه بسیار هزینهبر است و برای هیچ کس به صرفه نیست، در عوض فعالیت صادقانه سودآور و کم هزینه است.
الگوریتم اجماع چطور کار میکنند؟
این پرسش، پاسخ واحدی ندارد. به این خاطر که الگوریتم اجماع Consensus Algorithms انواع متفاوتی دارند و هر کدام به شیوهای منحصربهفرد کار میکنند. آنچه در تمام این الگوریتمها مشترک است، مسئله توافق است که باید حاصل شود. در بخشهای بعدی و با معرفی انواع مکانیزمهای اجماع، اشارهای هم به نحوه کارکرد هر کدام خواهیم داشت.
ویژگیهای الگوریتم اجماع(Consensus Algorithms) چیست؟
درست مانند پرسش قبلی، این سوال را نیز باید با توجه به انواع الگوریتمهای اجماع Consensus Algorithms پاسخ داد. اما بهطور کلی میتوان ویژگیهایی نظیر تحمل خطا، امنیت اقتصادی، مجوزدهی به نودها، نهاییسازی، همگامسازی، امنیت، قابلیت ادامه و پیشروی و مصرف انرژی را به عنوان مهمترین شاخصههای مکانیزمهای اجماع بلاکچین نام برد.
کاربرد الگوریتم اجماع چیست؟
الگوریتم اجماع Consensus Algorithms در بلاکچین کاربردهای مختلفی دارد. مهمترین کاربرد آن، همانطور که قبلاً هم گفته شد، هماهنگی و پذیرش تمام اعضای شبکه بر سر یک تغییر یا به روزرسانی در شبکه است. اما این ویژگی بلاکچین خاصیتهای دیگری نیز دارد:
- تایید تراکنشها
- انتخاب گره برای نمایندگی شبکه در دفتر توزیع
- تضمین یکدستی اطلاعات در شبکه
توافق بر سر هر یک از عملکردهای گفته شده، از طریق رایگیری بین اعضای شبکه انجام میشود. هر گره یا نود حق رای برابر با دیگران دارد. اگر یک گره یا نود، صلاحیت یک تراکنش را برای ثبت در بلاکچین تایید کند، تراکنش انجام خواهد شد و اگر آن را رد کند، ثبت تراکنش لغو میشود.
در همان مثال شرکت، اگر کارمندان بر سر یک موضوع اتفاق نظر نداشته باشند، مدیر شرکت تصمیم نهایی را خواهد گرفت. با استفاده از الگوریتم اجماع، ایجاد توافق میان گرهها از طریق یک سیستم رایگیری (Voting) انجام خواهد شد.
به این صورت که اگر یک کاربر، تراکنشی (شامل هر نوع اطلاعاتی) را به شبکه ارسال کند، دادههای ارسالی توسط تمام گرهها بررسی میشوند. اگر با توجه به اطلاعات قبلی، تراکنش ارسالی درست باشد، گره یک تاییدیه مبنی بر صحت آن تراکنش به شبکه ارسال میکند.
در ادامه مجموعهای از تراکنشها یک بلاک را میسازند. اگر بیش از ۵۱ درصد گرهها اضافه شدن این بلوک را به بلاکچین تایید کنند، گرهها بلاک جدید را به سیستم خود اضافه خواهند کرد و تراکنشهای داخل آن موفق و نهایی خواهد شد.
انواع الگوریتم اجماع
الگوریتم اجماع Consensus Algorithms انواع مختلفی دارد که هر یک سازوکار و مزایا و معایب خود را دارند. این الگوریتمها به شرح زیر هستند:
نام فارسی الگوریتم | نام انگلیسی | نام اختصاری |
گواه اثبات کار | Proof of Work | PoW |
گواه اثبات تاخیر کار | Delayed Proof of Work | dPoW |
گواه اثبات سهام | Proof of Stake | PoS |
تحمل خطای بیزانس عملی | Practical Byzantine Fault Tolerance | PBFT |
گواه اثبات اعتبار سهام | Proof of Staked Authority | PoSA |
گواه اثبات سهام نیابتی | Delegated Proof of Stake | dPos |
گواه اثبات سهام استیجاری | Leased Proof of Stake | lPoS |
گواه اثبات اهمیت | Proof of Importance | PoI |
گواه اثبات اعتبار | Proof of Authority | PoA |
گواه اثبات سوزاندن | Proof of Burn | PoB |
گواه اثبات ظرفیت | Proof of Capacity | PoC |
گواه اثبات فعالیت | Proof of Activity | PoA |
گواه اثبات تاریخچه | Proof of History | PoH |
گواه اثبات زمان | Proof of Time | PoT |
گواه اثبات انتقال | Proof of Transfer | poX |
گواه اثبات زمان سپری شده | Proof of Elapsed Time | PoET |
گواه اثبات فضای ذخیرهسازی | Proof of Storage | PoS |
در ادامه هر یک از این الگوریتمها را توضیح میدهیم.
گواه اثبات کار (PoW)
برای آشنایی با گواه اثبات کار یا Proof of Work (به اختصار PoW)، باید ابتدا به مبحث ماینینگ (Mining) بپردازیم. استخراج یا ماینینگ فرایندی است که در جریان آن، بلوکهای جدیدی تولید میشوند. برای انجام این کار لازم است که ابتدا تراکنشهای روی شبکه تایید شوند. افرادی که وظیفه استخراج را به عهده دارند، با نام ماینر شناخته میشوند. این افراد باید تراکنشها را دریافت و صحت آنها را تایید کنند. اما چگونه؟
آنها از سختافزارهایی مثل CPU یا کارت گرافیک رایانه خود استفاده میکنند تا بتوانند یک معمای رمزنگاریشده را حل کنند. سرانجام هر ماینری که زودتر به پاسخ صحیح دست پیدا کند، باید راه حل خود را در شبکه منتشر کند تا سایر ماینرها نیز آن را بررسی کنند. اگر راهکار مذکور، مورد تایید ماینرهای دیگر هم قرار بگیرد، اجماع حاصل میشود.
سپس تراکنش به بلاک اضافه میشود و ماینر هم میتواند پاداش خود را از این عمل به دست آورد. پاداش ماینرها در قالب دو مولفه پرداخت میشود؛ یکی پاداش بلاک (Block Reward) و دیگری کارمزد تراکنش (Transaction Fee). پاداش بلاک مقدار مشخصی از رمزارزهای بومی شبکه است که به ماینر تعلق میگیرد. ماینرها همچنین با تایید صحت تراکنشها، بخشی از کارمزد تراکنش را نیز دریافت میکنند.
اولین و معروفترین مورد استفاده از بلاکچین، رمزارز بیت کوین است که بر اساس الگوریتم گواه اثبات کار عمل میکند. در بلاکچین بیت کوین، هر بلوک شامل اطلاعات تراکنش (فرستنده و گیرنده و مبلغ ارسالی)، هش بلاک قبلی و هش بلاک فعلی است.
گرهها در شبکه بیت کوین با استفاده از الگوریتم اجماع اثبات کار، تراکنشها را تایید و بلاکهای جدید را تولید میکنند. در این شبکه، پاداشها طی فرایندی به نام هاوینگ نصف میشود. اکنون پاداش بلاک بیت کوین برابر است با ۶.۲۵ بیت کوین و پس از هاوینگ بعدی، این رقم به ۳.۱۲۵ کاهش پیدا خواهد کرد.
مزایا و معایب الگوریتم Proof of Work
در این بخش نگاهی هم به مزایا و معایب الگوریتم PoW میاندازیم.
مزایا:
- ارائه سطح قابل قبولی از عدم تمرکز: قیمت و هزینه انرژی برق در نقاط مختلف جهان فرق دارد. این امر ماینرها را تشویق میکند تا عمل استخراج را در نقاط مختلفی از جهان توزیع کنند.
- جلوگیری از ایجاد فورکهای فراوان: انگیزههای اقتصادی تعبیه شده در شبکههای مبتنی بر PoW مانع از فورک شدنهای پیدرپی میشود.
- امنیت بالا: هرچه تعداد ماینرها بیشتر باشد، امنیت شبکه نیز به نسبت بیشتر خواهد شد. این امنیت از طریق توان محاسباتی تجهیزات و سختافزار ماینرها تامین میشود.
- عدم نیاز به رمزارز برای شروع فعالیت: در گواه اثبات کار، بدون داشتن رمزارز میتوانید کارتان را شروع کنید.
معایب:
- هزینه بالا و نیاز به سختافزارهای قدرتمند: خرید تجهیزات ماینینگ به منظور استخراج بلوک و دریافت پاداش، نیازمند پرداخت هزینه بالاست.
- مصرف انرژی بالا: از آنجایی که ماینرها برای استخراج بلوکهای جدید نیازمند توان کامپیوتری بالایی هستند، انرژی برق زیادی را نیز مصرف میکنند.
- آسیبپذیری در برابر حمله ۵۱٪: حمله ۵۱٪ به آن معناست که یک کاربر یا گروهی از کاربران میتوانند با خرید دستگاههای استخراج قدرتمند، بخش زیادی از توان محاسباتی را در اختیار بگیرند و شبکه را از حالت منصفانه خارج کنند. البته در حال حاضر انجام چنین کاری عملا غیرممکن است؛ چرا که نیازمند خرید تجهیزاتی است که هزینه بسیار بالایی را میطلبد.
- ایمنی کمتر در شبکههای کوچکتر: هرچه هش ریت (واحد اندازهگیری میزان قدرت پردازش در شبکه) کمتر باشد، ایمنی آنها نیز کمتر خواهد شد؛ چرا که در این صورت تدارک حملاتی مانند ۵۱٪ کمهزینهتر خواهد بود.
- سرعت پایین تراکنشها: انجام محاسبات به منظور حل معمای بلاکچین فرایندی زمانبر و نیاز به انجام محاسبات طولانی است.
گواه اثبات تاخیر کار (dPoW)
گواه اثبات تاخیر کار یا Delayed Proof of Work (به اختصار dPoW) نسخه تغییریافتهای از PoW است که توسط پروژه Komodo معرفی شد. این مکانیزم اجماع نسخه تغییریافتهای از PoW است که از قدرت هش بلاکچین بیت کوین استفاده میکند تا امنیت شبکه را بهبود ببخشد. سیستم کومودو در فواصل زمانی ده دقیقهای، اسنپ شاتی از بلاکچین خودش میگیرد. منظور از اسنپ شات، ثبت و ضبط تصویری از محتوای دفتر کل عمومی بلاکچین است که شامل آدرسهای موجود و دادههای مرتبط با آنها در تاریخی مشخص است.
سپس این اسنپ شات، طی فرایندی با نام Notarization (ثبت گواهی رسمی) در بلاکی روی شبکه بیت کوین نوشته میشود. این فرایند منجر به ایجاد بکاپی از کل سیستم کومودو میشود که در بلاکچین بیت کوین ذخیره میشود.
البته اگر بخواهیم موشکافانه به این مفهوم نگاه کنیم، نمیتوانیم آن را به عنوان یک الگوریتم اجماع در نظر بگیریم؛ چرا که dPoW برای رسیدن به اجماع روی بلوکهای جدید به کار نمیرود. در حقیقت dPoW یک مکانیزم امنیتی است که به عنوان لایه ثانویه روی یک مکانیزم اجماع اولیه (PoW یا PoS) ایجاد میشود.
مکانیزم امنیتی dPoW باعث میشود که بلاکچین ایمنتر و در برابر حمله ۵۱٪ مقاوم شود. در حمله ۵۱٪، شخص حملهکننده مانع از ارسال تراکنشهای مشخصی به بلاکچین میشود؛ اما وقتی بلاکی روی زنجیره بیت کوین ثبت شود، حتی اگر کنترل ۵۱ درصد از نودهای Notary هم در اختیار شخص حملهکننده باشد، باز هم نمیتوان دادههای ثبت شده را تغییر داد یا حذف کرد.
مزایا و معایب DPoW
مزایا و معایب این مکانیزم به شرح زیر است:
مزایا:
- افزایش بهرهوری انرژی
- ایمنی بالا
معایب:
- محدود شدن به بلاکچینهایی که از PoW یا PoS استفاده میکنند.
گواه اثبات سهام (PoS)
در این نوع از الگوریتم اجماع، دیگر ماینرها نقش اصلی را به عهده ندارند؛ بلکه با اعتبارسنج یا ولیدیتورها (Validator) سروکار داریم. در گواه اثبات سهام یا Proof of Stake (به اختصار PoS) نودهای اعتبارسنج باید رمزارز بومی شبکه را استیکینگ یا سپردهگذاری کنند. سپس میتوانند تراکنشها را بررسی و بلاکهای جدید در شبکه ایجاد کنند. در این سیستم، برخلاف اثبات کار، دیگر نیازی به تهیه پردازندهها و تجهیزات گرانقیمت نیست.
همین امر مصرف انرژی را بسیار کاهش میدهد؛ به علاوه باعث میشود که اعتبارسنجها با سرمایه کمتری وارد شبکه شوند و باعث افزایش عدم تمرکز آن شوند.
نودهای شبکههای PoS، در ازای اعتبارسنجی تراکنشها بخشی از کارمزد شبکه را به عنوان پاداش دریافت میکنند. از معروفترین شبکههایی که به این شیوه به اجماع میرسند، میتوان به اتریوم اشاره کرد.
مزایا و معایب Proof of Stake
این مکانیزم اجماع هم مانند سایر مکانیزمها، مزایا و معایبی دارد که در ادامه به مهمترین آنها اشاره میکنیم.
مزایا:
- سرعت: فرایند انجام تراکنشها در این سیستم نسبت به مکانیزم گواه اثبات کار، سریعتر است.
- کارایی: مصرف کمتر انرژی نسبت به PoW این سیستم را مقرونبهصرفهتر میکند.
- عدم نیاز به سختافزارهای قدرتمند: برای فعالیت در شبکههای اثبات سهام، نیازی به تهیه سوپرکامپیوترها و سختافزارهای گرانقیمت نیست.
- مصرف کمتر انرژی: به دلیل عدم نیاز به تجهیزات اثبات کار، انرژی کمتری نیز مصرف میکند.
معایب:
- آسیبپذیری: این مسئله مربوط به ساختار کلی اثبات سهام است. فردی که دارایی بیشتری داشته باشد، میتواند سیستم را تخریب کند و این کار تنها از طریق سرمایهگذاری انجام میشود. این برخلاف اثبات کار است که در آن علاوه بر هزینه، به تخصص، زمان و انرژی برق نیز نیاز است. البته برخی از شبکهها، محدودیتی برای میزان سرمایهگذاری وجود دارد تا از چنین مشکلاتی جلوگیری شود.
- سیستم توزیع پاداش ناعادلانه: به آن معنا که افراد ثروتمند در این شبکه، ثروتمندتر میشوند؛ چرا که هرکسی دارایی بیشتری را استیک کند، پاداش بیشتری دریافت میکند.
- متمرکز شدن قدرت در تایید تراکنشها: اعتبارسنجهایی که دارایی بیشتری دارند، تاثیر بیشتری در تایید تراکنشهای شبکه خواهند داشت.
تحمل خطای بیزانس عملی (PBFT)
برای انجام هر عملی روی شبکه، نودها باید با یکدیگر توافق کنند. آنها با این کار امنیت شبکه را تامین میکنند و در ازای آن پاداش میگیرند. اما مسئله اینجاست که تمام نودها کارشان را به درستی انجام نمیدهند. خطای بیزانس (Byzantine Fault) به مواقعی اشاره دارد که برخی از نودهای مخرب با انجام عملی روی شبکه موافقت نمیکنند و بر این اساس، کار شبکه را مختل میکنند.
به همین ترتیب تحمل خطای بیزانس عملی یا Practical Byzantine Fault Tolerance (به اختصار PBFT) هم میزان ظرفیت شبکه را برای مقابله با چنین خطایی نشان میدهد.
تحمل خطای بیزانس به دنبال آن است که توانایی لازم را برای ایجاد اجماع در اختیار شبکه قرار دهد. این الگوریتم به سیستم اجازه میدهد حتی در مواقعی که بازیگران مخرب با رفتارهای نادرست خود (مانند اطلاعات گمراهکننده) سعی در مختل کردن شبکه دارند، همچنان بتواند عملکرد خود را به درستی پیاده کند.
در این مدل، چنین فرض میشود که نودهای مخرب شبکه نمیتوانند همزمان برابر یا بیشتر از یک سوم کل نودهای سیستم باشند. مشخص است که وجود نودهای بیشتر، موجب میشود این احتمال کمتر هم بشود.
در طی جریان انتقال اطلاعات، PBFT از الگوریتمهای رمزنگاری همچون امضا، تایید امضا و هش استفاده میکند تا مطمئن شود که هر اقدامی روی شبکه قطعی، انکارناپذیر، غیرقابل جعل کردن و غیرقابل بازگشت است. در یک شبکه توزیعشده که از ۳F+۱ (F نماینده تعداد نودهای بیزانس است) گره تشکیل شده است، اجماع میتواند تا زمانی ادامه پیدا کند که همچنان کمتر از ۲F+۱ نود غیربیزانسی به درستی در حال اجرای وظایف خود باشند.
این به آن معناست که وقتی بیش از ۷۰ درصد نودهای بلاکچین به درستی عمل کنند، مکانیزم اجماع نیز به شکل معمول کار خود را انجام میدهد.
مزایا و معایب PBFT
مزایا و معایب این الگوریتم را میتوانید در ادامه مطالعه کنید.
مزایا:
الگوریتم PBFT، نوع بهبودیافته الگوریتمهای اجماع تحمل خطای بیزانس (BFT) است که کاهش پیچیدگی را به دنبال دارد؛ به این ترتیب در سیستمهای واقعی قابل پیادهسازی خواهد بود. این الگوریتم ایجاد یک سیستم توزیعشده قوی را تضمین میکن و برای زنجیرههای خصوصی گزینهای مطلوب است.
معایب:
درست است که با افزایش نودهای شبکه، احتمال خرابکاری نودهای اخلالگر کم میشود، اما این سکه روی دیگری هم دارد. افزایش نودهای اجماع در سیستمهای توزیعشده، موجب کاهش کارایی اجماع میشود؛ به این معنا که با بیشتر شدن مشارکتکنندگان در شبکه، عمل اجماع به زمان بیشتری نیاز خواهد داشت.
گواه اثبات اعتبار سهام (PoSA)
الگوریتم اجماع گواه اثبات اعتبار سهام یا Proof of Staked Authority (به اختصار PoSA)، تلفیقی از گواه اثبات اعتبار (PoA) و گواه اثبات سهام نیابتی (DPoS) است (که در ادامه توضیح میدهیم). در روش گواه اثبات اعتبار سهام، اعتبارسنجها وظیفه تولید بلوک را به صورت نوبتی به عهده دارند.
اعتبارسنجهای فعال نیز از طریق فرایند رایگیری که بر مبنای میزان استیکینگ انجام میشود، انتخاب میشوند. درست مانند اثبات سهام، برای اینکه یک نود در این شبکه به اعتبارسنج تبدیل شود، باید بخشی از رمزارز بومی آن شبکه را استیک کند. شبکه بایننس اسمارت چین از این روش استفاده میکند.
مزایا و معایب PoSA
بزرگترین مزیت این الگوریتم این است که با ترکیب دو مکانیزم PoA و DPoS توان عملیاتی آن بالا میرود و منجر به ایجاد شبکهای سریع میشود. در بیان عیب این شبکه نیز میتوان به متمرکز شدن بیشتر شبکه اشاره کرد.
گواه اثبات سهام نیابتی (DPos)
الگوریتم گواه اثبات سهام نیابتی یا Delegated Proof Of Stake (به اختصار DPos) به نوعی مشابه گواه اثبات سهام است. در این روش، با تولیدکنندگان بلوک (Block Producer) یا شاهدان (Witness) سروکار داریم که قابلیت تایید تراکنشها و ایجاد بلاک را دارند.
این نودها بر اساس آرای افرادی انتخاب میشوند که دارایی خود را در شبکه سپردهگذاری کردهاند. تفاوت عمده این روش با اثبات سهام در این است که در DPoS تعداد نودهایی که اجازه ایجاد بلوک جدید را دارند، کاهش پیدا کرده است؛ یعنی این نودها به نمایندگی از سایر نودها میتوانند به تایید تراکنشها و ایجاد بلاکها بپردازند.
به همین خاطر است که نام این مکانیزم، اثبات سهام نیابتی یا وکالتی است. ایاس رمزارزی است که از این روش برای دستیابی به اجماع استفاده میکند.
مزایا و معایب گواه اثبات سهام نیابتی
این سیستم نسبت به PoS مزایا و معایبی دارد که بهتر است آنها را بررسی کنیم.
مزایا:
- شاهدان انگیزه کافی دارند تا با صداقت کار کنند و ظرفیت محاسباتی مورد نیاز را برای شبکه تامین کنند؛ در غیر این صورت از شبکه اخراج میشوند.
- عملکرد بهتر و مقیاسپذیری بیشتر در اثر TPS بالا در این سیستم به دست خواهد آمد.
- شاهدان میتوانند در ثانیه تراکنشها را تایید کنند.
- هزینههای تراکنش معمولا بسیار پایین است و در مواقعی اصلا نیاز به پرداخت کارمزد نیست.
- مصرف انرژی و کاهش هزینه در این سیستم در مقایسه با PoS یا PoW چشمگیر است. چرا که به قدرت محاسباتی بالایی نیاز ندارد.
- کاهش مصرف انرژی در این سیستم، DPoS را به مکانیزمی سازگار با محیط زیست تبدیل کرده است.
- این سازوکار سیستم حاکمیتی مستحکمی دارد.
- رایدهندگان هر عمل مخربی را بلافاصله تشخیص میدهند. این افراد همچنین میتوانند نمایندگان یا شاهدان متخلف را نیز از سیستم خارج کنند و به امنیت بیشتر شبکه کمک کنند.
معایب:
- ممکن است Witness یا همان نمایندهها کارتلی تشکیل دهند و تمرکز شبکه را به دست بگیرند.
- از آنجا که افراد کمتری در حفظ بقای شبکه نقش دارند، احتمال وقوع حمله ۵۱٪ بیشتر خواهد بود.
- زمانی که پای نهنگها به این سیستم باز شود و بتوانند قدرت را در دست بگیرند، احتمال دارد که به دوستان و موافقان خود رای دهند و سیستم را متمرکز کنند.
- افرادی که میزان دارایی کمی در شبکه دارند، ممکن است انگیزه چندانی برای رایدهی در سیستم نداشته باشند؛ هرچند در حالت کلی اشاره کردیم که این سیستم به شاهدان خود انگیزه کافی را برای انجام اعمال صادقانه و سالم ایجاد میکند.
گواه اثبات سهام استیجاری (LPoS)
مکانیزم گواه اثبات سهام استیجاری یا Leased Proof of Stake (به اختصار LPoS) نسخه بهبودیافتهای از اثبات سهام است. در گواه اثبات سهام استیجاری هر نودی که میزان مشخصی از رمزارز را هولد میکند، این قابلیت را دارد که بلوک بعدی را به بلاکچین اضافه کند. LPoS دقیقا مشابه گواه اثبات سهام است؛ با این تفاوت که به افرادی که مقدار کمی رمزارز دارند این انگیزه را میدهد که با اجاره داراییهای خود، در شبکه مشارکت کنند. به تصویر زیر نگاه کنید.
نودهایی که هولدرهای کوچکی هستند (D، E، F، G و H) موجودی خود را به یک نود استیکینگ مانند B اجاره میدهند؛ در حالی که این موجودی اجاره داده شده، همچنان تحت کنترل کامل مالک اصلی خود خواهد ماند.
در حقیقت با آغاز فرایند اجاره، توکنهای اجارهای قفل میشوند و در همان آدرسی که مالک به آنها دسترسی دارد، باقی میمانند. این داراییها به نود استیکینگ منتقل نمیشوند؛ بلکه تا زمانی که اجارهدهنده قرارداد اجاره را لغو نکند، قابل خرج کردن نخواهند بود.
در این روش، دارنده اصلی توکنهای اجارهای نیز میتواند بخشی از پاداش را دریافت کند. هرچه میزان توکنهایی که اجاره داده میشود بیشتر باشد، شانس نود برای انتخاب شدن بیشتر خواهد بود. مثلا در پلتفرم Waves، کاربران میتوانند رمزارزهای WAVES خود را از ولتشان بردارند و به نودهای دیگر اجاره دهند و در ازای آن درصد مشخصی از پاداش آنها را دریافت کنند.
مزایا و معایب LPoS
مزایا و معایب این الگوریتم اجماع را در این بخش مرور میکنیم.
مزایا:
- امنیت بیشتر: مشارکتکنندگان بیشتر در شبکه، تلاش بیشتری برای امنیت شبکه میکنند.
- مشوقهای بیشتر برای افرادی با دارایی کمتر: این سیستم با ایجاد مشوقهایی، افراد با دارایی کمتر را تشویق میکند تا سرمایهشان را به دیگران اجاره داده و از این طریق به سود برسند.
معایب:
- ثروتمندتر شدن افراد ثروتمند: اینجا هم این مشکل وجود دارد که هر کسی دارایی بیشتری داشته باشد، ثروت بیشتری را به دست خواهد آورد.
گواه اثبات اعتبار (PoA)
مکانیزم اجماع گواه اثبات اعتبار یا Proof of Authority (به اختصار PoA) یک روش اعتبارمحور است که باعث ایجاد تراکنشهای بیشتری در هر ثانیه میشود. گواه اثبات اعتبار راهکارهای موثر و عملی را برای شبکههای بلاکچینی به ویژه شبکههای خصوصی به ارمغان میآورد.
نخستین بار در سال ۲۰۱۷ بود که همبنیانگذار و مدیر اسبق ارشد فناوری اتریوم یعنی گوین وود (Gavin Wood) از اصطلاح PoA استفاده کرد. گواه اثبات اعتبار، ارزش هویتها را مدنظر قرار میدهد؛ به این معنا که اعتبارسنجها دیگر نیازی به استیک کردن کوینهای خود ندارند و به جای آن باید از اعتبار خود استفاده کنند.
نودهای اعتبارسنج، باید از میان کاربران قابل اعتماد انتخاب شوند و تعداد آنها محدود است. انتخاب اعتبارسنجها کار آسانی نیست. نامزدهای اعتبارسنجی باید در یک فرایند انتخاب شرکت کنند که در آن میتوانند تعهد بلندمدت خود را نسبت به شبکه اثبات کنند.
آنها همچنین باید آماده سرمایهگذاری داراییشان باشند و از اعتبار خود در طی فرایند انتخاب، مایه بگذارند. در نهایت هم شیوه انتخاب اعتبارسنجها باید مطابق قوانین استانداردی باشد که به تمام کاندیداها شانس و فرصت برابری برای انتخاب میدهد. از میان پلتفرمهایی که به این شیوه عمل میکنند میتوان به وی چین (VeChain) اشاره کرد.
مزایا و معایب PoA
مصرف پایین انرژی، مزیت مهم این الگوریتم به شمار میرود. در مورد معایب آن هم میتوان این مسئله را بیان کرد که معمولا در شبکههای خصوصی مورد استفاده قرار میگیرد که به مجوز نیاز دارند.
گواه اثبات سوزاندن (PoB)
مفهوم گواه اثبات سوزاندن یا Proof Of Burn (به اختصار PoB) برای آن پدید آمد تا مشکلات مرتبط با مصرف بالای انرژی را در شبکههای اثبات کار مرتفع کند. الگوریتم گواه اثبات سوزاندن روشی است مابین اثبات کار و اثبات سهام. تمام سیستمهای اثبات (مبتنی بر مکانیزمهای اجماع)، بر مبنای قوانینی عمل میکنند که ایجاد بلاک در آنها نیازمند پرداخت هزینه است. این مسئله باعث افزایش امنیت شبکه و جلوگیری از ورود بازیگران مخرب میشود.
در مکانیزم اثبات کار، این هزینه صرف خرید تجهیزات و سختافزارهای گرانقیمت میشود و در گواه اثبات سوزاندن، با سوزاندن دارایی تامین میشود.
در این روش، قدرت استخراج بلوک را با استفاده از سوزاندن بخشی از توکنهایی که در اختیار دارند به دست میآورند؛ یعنی ظرفیت ماینینگ به ماینرهایی داده میشود که بخشی از دارایی خود را با میل خود برای به دست آوردن حق ماین کردن خرج کنند.
ماینرها برای سوزاندن توکن باید تراکنشی را ایجاد کنند که مطابق آن، بخشی از داراییشان به یک آدرس مشخص ارسال میشود. این آدرس مشخص، آدرسی است که مخصوص سوزاندن توکن است و کسی به آن دسترسی ندارد. پس از انجام این کار، آن دارایی دیگر در اختیار مالکش نخواهد بود.
پس از آنکه شبکه مالک این دارایی سوزاندهشده را شناسایی کرد، به او این مجوز را میدهد که یک بلوک جدید را تولید کند. ماینرها در پایان در ازای سوزاندن توکن، پاداش خود را دریافت خواهند کرد. هرچه نودها بتوانند سکههای بیشتری را بسوزانند، شانس بیشتری برای ایجاد بلوک دارند. این نودها امتیازی تحت عنوان سکههای سوزانده شده موثر (Effective Burnt Coins) دریافت میکنند که شانس آنها را برای یافتن بلوکها مشخص میکند.
در نهایت هم ایجادکنندگان بلوک، پاداش ساخت بلوک را دریافت خواهند کرد. کانترپارتی (Counterparty) یکی از شبکههایی است که این شیوه را به خدمت گرفته است.
مزایا و معایب گواه اثبات سوزاندن
در بیان مزایا و معایب این الگوریتم، میتوان موارد زیر را بررسی کرد.
مزایا:
- پایداری بالا
- مصرف برق کم
- عدم نیازمندی به سختافزارهای ویژه
- کاهش عرضه در گردش رمزارز و در نتیجه افزایش قیمت و ارزش آن
- ایجاد مشوق به منظور متعهد نگه داشتن ماینرها در بلندمدت
- کمک به غیرمتمرکز شدن
معایب:
- عدم سازگاری با محیط زیست
- احتمال عدم کارایی در مقیاسهای بزرگ
- تاخیر در تایید توسط ماینرها که باعث میشود در مقایسه با سیستمهای PoW سرعت کمتری داشته باشند
- عدم شفافیت
- احتمال دشواری تایید فرایند سوزاندن سکهها توسط کاربران عادی به دلیل پیچیدگی
گواه اثبات ظرفیت (PoC)
الگوریتم گواه اثبات ظرفیت یا Proof of Capacity (به اختصار PoC) را معمولا با نام Proof of Space نیز میشناسند. مکانیزم اجماع گواه اثبات ظرفیت روشی را پیاده میکند که به دستگاههای ماینینگ اجازه میدهد از ظرفیت در دسترس و خالی هارد خود استفاده کنند؛ به این ترتیب میتوانند عملیات ماینینگ و همچنین اعتبارسنجی تراکنشها را انجام بدهند. این رویکرد در مقابل روش استفاده از توان محاسباتی دستگاههای ماینینگ (در الگوریتم اثبات کار) یا استیک کردن رمزارزهای ماینرها (در الگوریتم اثبات سهام) قرار میگیرد.
این الگوریتم به نودها اجازه میدهد که از فضای خالی کامپیوتر خود استفاده کنند و به ماین کردن رمزارزهای موجود در شبکه بپردازند. PoC به جای آنکه مانند گواه اثبات کار اعداد هدر بلاک (Header Block) را تغییر دهد و فرایند هش کردن را مدام تکرار کند، فهرستی از راهحلهای ممکن را روی هارد دستگاههای ماینینگ ذخیره میکند؛ حتی قبل از آنکه این دستگاهها فعالیتشان را آغاز کرده باشند، عمل ذخیرهسازی اتفاق میافتد.
هدر بلاک به منظور شناسایی یک بلاک خاص روی بلاکچین مورد استفاده قرار میگیرد و به منظور ایجاد پاداشهای PoW مدام هش میشود. در واقع به بخشی از هر بلاک گفته میشود که خلاصهای از اطلاعات تراکنشها را نشان میدهد.
هرچه هارد بزرگتر باشد، راهحلهای بیشتری را میتوان روی آن ذخیره کرد. در نتیجه ماینرها هم شانس بیشتری را برای تطابق خروجی هش با اعداد موجود در این فهرست خواهند داشت. شانس بیشتر هم برابر است با پاداشهای استخراج بیشتر.
برای فهم بهتر این الگوریتم، میتوان دست به دامان مفهوم لاتاری شد. اگر پاداش لاتاری بر مبنای تطابق بیشترین ارقام بلیط برنده باشد، بازیکنی که تعداد بیشتری بلیط داشته باشد، شانس بالاتری برای برنده شدن دارد. همچنین فرد این امکان را خواهد داشت که بلیطهای بختآزماییاش را بارها و بارها مورد استفاده قرار دهد؛ چرا که آنها را قبلا ذخیره کرده است. استورج (Storj) یکی از معروفترین پلتفرمهایی است که از PoC استفاده میکند.
مزایا و معایب الگوریتم Proof of Capacity
این الگوریتم در کنار مزایای خود، ایراداتی نیز دارد که در این بخش آنها را بررسی میکنیم.
مزایا:
- عدم نیاز به سختافزارهای ویژه
- افزایش کارایی انرژی ۳۰ برابری در مقایسه با روشهای مبتنی بر اسیک
- سازگار با هارد درایوهای معمولی مانند دستگاههای مبتنی بر اندروید
- دادههای استخراج شده به راحتی از فضای ذخیره پاک میشوند و میتوان این فضاها را به سادگی مجددا برای ذخیره دادههای دیگر استفاده کرد.
معایب:
- توسعهدهندگان زیادی این سیستم را نپذیرفتهاند.
- احتمال تاثیر بدافزارها بر فعالیتهای استخراج وجود دارد.
گواه اثبات فعالیت (PoA)
گواه اثبات فعالیت Proof of Activity (به اختصار PoA) که با نام گواه اثبات کار/ اثبات سهام ترکیبی (Hybrid PoW/PoS) نیز شناخته میشود، موازنهای میان الگوریتمهای PoW و PoS است. این مکانیزم با ایجاد بلوکهای جدید توسط ماینرهای اثبات کار شروع میشود. پس از آن که بلوکها استخراج شدند، اعتبارسنجهای اثبات سهام پا به عرصه میگذارند تا بلاکها را تایید یا رد کنند.
در طی این فرایند، ولیدیتورها باید بخشی از توکنهای خود را در الگوریتم اثبات سهام استیک کنند. اما برخلاف PoS تعداد کل رایها توسط این الگوریتم، تخمین زده نمیشود؛ به جای آن، به صورت تصادفی پنج رای انتخاب میشود تا میزان اثربخشی Block جدید را تعیین کند.
اگر از میان این آرا، سه رای مثبت باشد، آنگاه توافق و اجماع حاصل خواهد شد و در نتیجه بلوک به بلاکچین اضافه خواهد شد. سیستم پاداش هم به این نسبت توزیع میشود: ۶۰ درصد به ماینرهای اثبات کار، ۳۰ درصد به ماینرهای اثبات سهام و ۱۰ درصد باقیمانده نیز برای بهبود سیستم. پروژه Decred به کمک این رویکرد ترکیبی عمل میکند.
مزایا و معایب PoA
مزایا و معایب دو الگوریتم PoW و PoS در این الگوریتم نیز وجود دارد. در ادامه به چند نمونه اشاره میکنیم.
مزایا:
- بهرهگیری از سیستم هشینگ اثبات کار و امضای دیجیتال اثبات سهام
- تحمل خطای بالا که مانع تعطیلی کل سیستم میشود.
- فراهم کردن موقعیتهایی برای کسب پاداش، هم برای ماینرها و هم برای اعتبارسنجها
- کاهش احتمال حمله ۵۱٪ به میزان زیاد
معایب:
- مصرف انرژی بالا برای انجام فرایند ماینینگ
- نیاز به زمان طولانی برای استخراج به دلیل انجام محاسبات زیاد
- وابستگی به سختافزارهای گران برای انجام محاسبات
- احتمال کمتر بودن اعتبارسنجها به دلیل کمتر بودن منافعشان
گواه اثبات تاریخچه (PoH)
گواه اثبات تاریخچه یا Proof of History (به اختصار PoH)، از یک روش رمزنگاری شده برای اثبات گذرگاه زمانی رویدادها و جایی که وقایع در آن بازه زمانی رخ میدهند، استفاده میکند. البته باید به این مسئله توجه کنید که PoH را نمیتوان یک مکانیزم اجماع دانست؛ بلکه راهی برای اثبات رمزنگاری گذر زمان (Passage of Time) بین دو واقعه است.
گواه اثبات تاریخچه همراستا با اثبات کار یا اثبات سهام مورد استفاده قرار میگیرد. در این الگوریتم، از تابعی استفاده میشود که در آن خروجی قبلی به عنوان ورودی فعلی مورد استفاده قرار میگیرد. این الگوریتم باعث ایجاد تاریخچهای از سوابق میشود؛ به این ترتیب میتوان ثابت کرد که یک رویداد در زمانی خاص رخ داده است. گواه اثبات تاریخچه برای کاهش بار نودهای شبکه در جریان ایجاد بلوکها به وجود آمده است. از مهمترین شبکههایی که از این مکانیزم استفاده میکنند، میتوان به سولانا اشاره کرد.
مزایا و معایب PoH
گواه اثبات تاریخچه مزایا و معایبی به شرح زیر دارد:
مزایا:
- مقیاسپذیری بیشتر
- کارمزد پایینتر
معایب:
- نگرانیهایی در مورد تمرکز شبکه
- برنامههای غیرمتمرکز (dApp) کمتر
گواه اثبات زمان (PoT)
الگوریتم اجماع گواه اثبات زمان یا Proof of Time (به اختصار PoT) در پی یافتن سندی است که نشانگر وقوع یک رویداد مشخص باشد. گواه اثبات زمان از قدرت «زمان دقیق» استفاده میکند تا سیستمی بدون نیاز به اعتماد به شخص ثالث ایجاد کند. این مکانیزم به کاربران اجازه میدهد که به میزان زیادی بر فاکتور زمان تکیه کنند؛ بدون آنکه راهی برای جعل یا دستکاری این دادهها توسط بازیگران و عوامل مخرب در شبکه وجود داشته باشد.
اثبات زمان از طریق انتخاب ولیدیتورها به نسبت امتیازات ردهبندی و میزان استیکینگشان عمل میکند. امتیاز ردهبندی یک مقیاس وزندهی عددی است که بر اساس الگوریتم به هر ولیدیتور اختصاص داده میشود. این عدد با توجه به تجربه تاریخی نود (صحتی که هر نود به کمک آن دادههای رویدادها را اعتبارسنجی میکند) و تجربیات سایر ولیدیتورها با آن نود انتخاب میشود.
در سمت دیگر هم یک مکانیزم استیکینگ را داریم که در آن تمام ولیدیتورها میزان یکسانی از رمزارزهای بومی یک شبکه را استیک میکنند. با این کار میتوانند در فرایند اجماع مشارکت کند. این مسئله تفاوت میان این الگوریتم و اثبات سهام را نشان میدهد؛ جایی که در اثبات سهام، نودها باید معمولا مقادیر زیادی از دارایی را استیک کنند.
این مکانیزم یک فرایند دومرحلهای است: رایگیری نرم (Soft Voting) و رایگیری سخت (Hard Voting). در طی مرحله اول، داده مربوط به رویداد به شبکه ارسال میشود. مرحله رایگیری سخت هم به فرایند تایید Block مربوط است. از میان پروژههایی که از این سازوکار استفاده میکنند، میتوان به شبکه آنالوگ اشاره کرد.
مزایا و معایب گواه اثبات زمان
چند مورد از مزایا و معایب این سیستم را با هم مرور میکنیم.
مزایا:
- این گواه، سیستمی برابر برای اعتبارسنجی ایجاد میکند.
- نیاز به سختافزارهای گرانقیمت ندارد.
- نیاز به افزایش مبلغ استیک شده برای اعتبارسنجی بلوک ندارد؛ پس از استیک کردن مبلغ اولیه، تنها عملکرد شما به عنوان اعتبارسنج است که اهمیت دارد.
- به ایمنی بیشتر بلاکچین کمک میکند.
- اعتبارسنجها انگیزه بالایی برای کسب شهرت و اعتبار بیشتر دارند؛ چرا که به این ترتیب شانس آنها برای انتخاب شدن بیشتر میشود.
معایب:
- درست است که این سیستم منصفانه است، اما به دست آوردن اعتبار و شهرت ممکن است نیازمند زمان زیادی باشد.
- این سیستم جدید است و هنوز مورد پذیرش و گسترش قرار نگرفته است.
گواه اثبات انتقال (PoX)
مکانیزم گواه اثبات انتقال یا Proof of Transfer (به اختصار PoX) یک افزونه از گواه اثبات سوزاندن است که در بالا آن را شرح دادیم. این الگوریتم یک مکانیزم استخراج است که باید با مجموعهای از قوانین اجماع ترکیب شود تا یک الگوریتم اجماع با عملکرد کامل را شکل دهد. هدف الگوریتم گواه اثبات انتقال، بهینهسازی گواه اثبات کار است. PoX از رمزارز اثبات کار یک بلاکچین شناختهشده (بیت کوین) استفاده میکند تا امنیت یک بلاکچین جدید را فراهم کند.
در این سازوکار به جای توکنسوزی، رمزارزهای ماین شده در شبکه به سایر کاربران این شبکه منتقل میشوند. این کار باعث میشود که علاوه بر تامین امنیت شبکه، امکان دریافت پاداش نیز فراهم شود. گواه اثبات انتقال به نوعی عمومیسازی مفهوم PoB برای الگوریتم اجماع بلاکچین استکس (Stacks) است.
مزایا و معایب PoX
این الگوریتم اجماع مدلی نسبتا نوین است که مزایا و معایب آن را میتوان به شرح زیر بیان کرد.
مزایا:
- الگوریتم اجماع PoX در بلاکچین استکس باعث ایجاد قراردادهای هوشمندی میشود که امنیت آنها توسط بلاکچین بیت کوین تامین میشود. این امر باعث میشود دریچههای جدیدی برای ایجاد NFT و محصولات دیفای باز شود.
- همچنین این الگوریتم اجماع، با ارائه پاداش به مشارکتکنندگان شبکه، به پایداری شبکه کمک میکند.
- هر فرد میتواند عمل ماینینگ را بدون نیاز به سختافزارهای ویژه انجام دهد.
- این مکانیزم اجماع فرصتهای کسبوکار و مدلهای تامین مالی جدیدی را برای سازندگان فراهم میکند.
- گواه اثبات انتقال از امنیت مکانیزم PoW بهره میبرد.
معایب:
- هنوز در مقیاسهای بزرگ آزمایش نشده است.
گواه اثبات زمان سپری شده (PoET)
مکانیزم گواه اثبات زمان سپری شده یا Proof of Elapsed Time (به اختصار PoET) یکی دیگر از الگوریتمهای اجماع است که در دنیای بلاکچین وجود دارد. این مکانیزم از مصرف بالای انرژی و استفاده زیاد از منابع جلوگیری میکند. به این ترتیب، فرایندها با دنبال کردن یک سیستم بختآزمایی منصفانه، به شکل کاراتری اجرا میشوند. این الگوریتم از یک زمان سپری شده تصادفی استفاده میکند تا در مورد حق استخراج و برندگان بلوکها در یک شبکه بلاکچین تصمیم بگیرد.
گواه اثبات زمان سپری شده شانس پیروزی را در میان شرکتکنندگان شبکه به صورت مساوی و یکسان تقسیم میکند. با این کار هر نود شانسی برابر دارد و این کار باعث برقراری عدالت و برابری در شبکه خواهد شد. الگوریتم PoET یک زمان انتظار تصادفی را برای هر نود حاضر در شبکه تولید میکند و هر نود باید در طول این مدت استراحت کند. نودی که زمان انتظار کوتاهتری دارد، اول از همه بیدار میشود و برنده بلاک خواهد شد.
PoET از طریق اجرای یک کد قابل اعتماد در یک محیط ایمن به شفافیت نیز کمک میکند؛ به این صورت که اطمینان حاصل میکند که نتایج لاتاری توسط شرکتکنندگان خارجی و بیرونی تایید میشوند. رمزارز FFYI از این مکانیسم استفاده میکند.
مزایا و معایب گواه اثبات زمان سپری شده
در ادامه به برخی از مزایا و معایب این الگوریتم اشاره میکنیم.
مزایا:
- مقیاسپذیری و کارایی بالا
- قابلیت پیادهسازی در بلاکچینهای خصوصی
- مقاوم در برابر حملات خارجی و داخلی شبکه
- عدم تمرکز در ساخت بلاک
معایب:
- نیاز به سختافزارهای ویژه و وابستگی فراوان به فناوری اینتل
- این الگوریتم با پلتفرمهای دیگر سازگار است، اما تغییر در آن میتواند موجب ناسازگاری یا بروز مشکلات جدی شود.
- احتمال وقوع حملات ناشی از آسیبپذیری پردازندههای اینتل
گواه اثبات اهمیت ( PoI)
مکانیزم گواه اثبات اهمیت یا Proof of Importance (به اختصار PoI) را میتوان به نوعی مشابه اثبات سهام دانست، اما معیارهای متفاوتی برای نودها در این روش وجود دارد. در این الگوریتم، ماینرهایی که تعداد تراکنشهای بیشتری انجام داده باشند، اولویت بالاتری دارند. هرچه تراکنشها بیشتر باشد، شانس نود نیز بالاتر میرود.
گواه اثبات اهمیت با پروژه نم (NEM) معرفی شد. این مکانیزم مشخص میکند که کدام یک از مشارکتکنندگان (یا همان نودها) در شبکه حق اضافه کردن بلاک را به بلاکچین دارند. افزودن بلوکها در این شبکه، با نام Harvesting (برداشت) شناخته میشود. زمانی که نودها این عمل را انجام میدهند، میتوانند کارمزدهای تراکنشهای همان بلوک را جمعآوری کنند. هرچه امتیاز اهمیت (Importance) بیشتر باشد، نود هم شانس بیشتری دارد تا برای اجرای عمل Harvest بلوک انتخاب شود.
گواه اثبات اهمیت با هدف برطرف کردن مشکلات Proof of Stake به وجود آمد. در شبکههای مبتنی بر PoI سه فاکتور مهم وجود دارد که باعث میشود نودها امکان افزودن بلاک را به شبکه پیدا کنند. این سه فاکتور عبارتاند از: وستینگ، شرکای تراکنش و تعداد و اندازه تراکنشها در سی روز اخیر. در ادامه نگاهی به این سه فاکتور میاندازیم.
وستینگ
وستینگ به معنای قفل کردن کوینها در شبکه برای مدتی معین است؛ یعنی باید این تعداد کوین در کیف پولتان دستنخورده باقی بماند و آنها را خرج نکنید. هر شبکه زمانبندی وستینگ مختص خود را دارد که ممکن است با سایر شبکهها متفاوت باشد. در شبکه NEM،این فاکتور خود سه شرط زیر را در بر میگیرد:
- برای انجام عمل هاروست، نودها باید دستکم ۱۰ هزار کوین بومی شبکه نم (با نماد XEM) را در شبکه Vesting یا قفل کرده باشند. وقتی برای اولین باری فردی رمزارزهای XEM را در حساب خود سپردهگذاری میکند، پس از ۲۴ ساعت، ۱۰ درصد از این میزان قفل میشود. پس از گذشت ۲۴ ساعت آینده، ۱۰ درصد دارایی قفلنشده نیز قفل میشود. تا زمانی که رمزارز XEM را در ولت خود داشته باشید، این چرخه همینطور ادامه پیدا میکند. اگر تراکنشی انجام دهید، هم داراییهای قفلشده و هم داراییهای قفلنشده مورد استفاده قرار میگیرند تا نسبت آنها مانند قبل بماند و تغییری نکند.
- هرچه تعداد کوینهای قفلشده بیشتر باشد، امتیاز PoI آن حساب کاربری بیشتر خواهد شد.
- در این سازوکار تنها سکههایی در نظر گرفته میشوند که برای چند روز در یک حساب قفل شده باشند.
شرکای تراکنش
اینجا نیز دو مقوله باید بررسی شوند:
- Proof of Importance به کاربرانی پاداش میدهد که تراکنشهایی را با سایر حسابهای کاربری موجود در شبکه انجام میدهند.
- کاربران نمیتوانند شبکه را فریب دهند؛ یعنی نمیتوانند تراکنشهای رفت و برگشتی بین حسابها انجام دهند. الگوریتم اثبات اهمیت تنها به خالص مبلغ انتقالی در طول زمان توجه دارد.
تعداد و اندازه تراکنشها در یک ماه اخیر
این فاکتور نیز در انتخاب یک نود معتبر در شبکه موثر است:
- هر تراکنش که بالاتر از حداقل اندازه مشخص شده باشد، در فرایند امتیازدهی PoI در نظر گرفته میشود.
- تراکنشهای بیشتر و بزرگتر امتیاز اثبات اهمیت را افزایش میدهند.
مزایا و معایب PoI
این مکانیزم به محاسبات پیچیده نیاز ندارد؛ از این رو مصرف انرژی در آن پایین است و نیاز به خرید سختافزار تخصصی نیست. از سویی دیگر نیاز به حداقل ۱۰,۰۰۰ رمزارز برای انجام عمل هاروست و انجام تراکنش از جمله شروطی هستند که باید حتما برقرار باشند تا بتوان در این شبکه به ایجاد بلوک پرداخت.
گواه اثبات فضای ذخیرهسازی (PoS)
الگوریتم اجماع Proof of Storage یک پروتکل رمزنگاری شده است که نودها به کمک آن میتوانند صحت دادههای ریموت را تایید کنند. نودها برای استفاده از این مکانیزم، یک نسخه کدگذاری شده از دادههای خود را به سرور ارسال میکنند؛ این در حالی است که بخش کوچکی از حالت را به شکل محلی نگهداری میکنند. نودهای مذکور در هر نقطه از زمان میتواند صحت دادههای خود را با اجرای یک پروتکل پاسخ چالش (Challenge-Response)، تایید کنند. پروژه Filecoin از این مکانیسم اجماع استفاده میکند.
ماینرهای فایل کوین باید ثابت کنند که یک کپی از دادهها را در هر نقطهای از زمان نگهداری میکنند. Storage Miner Actor کسی است که وظیفه دارد از این امر مطمئن شود. اثبات اینکه یک ماینر در این شبکه یک کپی از دادهها را نگهداری میکند، از طریق «چالش» انجام میشود. این کار با ارائه پاسخهایی برای سوالات مشخص انجام میشود که سیستم آنها را مطرح میکند. برای پیادهسازی این مسئله، چالش باید یک قسمت تصادفی از دادهها را در نظر بگیرد و در زمانی درخواست شود که پاک کردن دادهها و بازیابی دوباره آنها برای کاربر منطقی، سودآور یا ممکن نباشد.
کدام الگوریتم اجماع Consensus Algorithms محبوبتر است؟
امروزه الگوریتمهای مختلفی در شبکه بلاکچین برای رسیدن به اجماع و هماهنگی میان اعضا استفاده میشوند. هرچند الگوریتم اثبات کار توفیق زیادی را در بین سایر الگوریتمها داشته، اما هنوز فرصت برای روشها و راهحلهای جدید فراوان است. الگوریتم اثبات سرمایه، الگوریتم اثبات زمان سپری شده، الگوریتم اثبات تاخیر کار و الگوریتم اثبات شهرت تنها برخی از الگوریتمهای بلاکچین هستند که به تازگی در حوزه رمزارزها استفاده میشوند.
به دلیل اینکه الگوریتمهای اجماع Consensus Algorithms تنها دلیل موفقیت بلاکچینها و بینیازی آنها به یک قدرت مرکزی هستند، بنابراین از اهمیت زیادی برخوردارند. از بین تمامی الگوریتمهای اجماع، اثبات کار همچنان گزینه پیشنهادی اصلی است و هنوز جایگزینی با اطمینان و ایمنی بیشتر برای آن ارائه نشده است. با این اوصاف، تحقیقات و توسعه فوق العادهای در زمینه جایگزینی اثبات سهام انجام شده و احتمالاً طی سالهای آینده شبکههای بیشتری از این الگوریتم استفاده خواهند کرد.
جمعبندی
در دنیای مدرن امروزی که همه چیز به سمت دیجیتالی شدن حرکت میکند، غیرمتمرکزسازی یکی از عوامل مهم برای جوامع خواهد بود. کنترل و مدیریت زندگی بدون وجود نهاد مرکزی مزایای زیادی به همراه خواهد داشت، اما مشکلاتی در این میان وجود دارد.
یکی از این مشکلات، نحوه توافق بر سر وضعیت فعلی سیستم است. الگوریتم اجماع Consensus Algorithms راهکاری است که برای حل این مشکل در سیستمهای توزیع شده معرفی شد. اکنون در بلاکچین نیز انواع مکانیزم اجماع در شبکههای مختلف مورد استفاده قرار میگیرند. در این مطلب دریافتیم که الگوریتم اجماع چیست و انواع آن کدام است. حال میتوان فهمید که چرا Consensus Algorithm بخش جدانشدنی شبکههای بلاکچین هستند.
سوالات متداول:
+الگوریتم اجماع (Consensus Algorithms) چیست؟
توافقی است که میان کاربران شبکه بر سر دادههای موجود در بلاکچین انجام میشود. این عمل بر اساس مدلهای مختلفی انجام میشود که هر کدام سازوکار مخصوص به خود را دارند.
+انواع الگوریتم اجماع بلاکچین کداماند؟
تعداد این الگوریتمها زیاد است، اما مهمترین آنها عبارتاند از: گواه اثبات کار، گواه اثبات سهام، تحمل خطای بیزانس، گواه اثبات سهام نیابتی، گواه اثبات سوزاندن، گواه اثبات سهام استیجاری، گواه اثبات ظرفیت و …
+الگوریتم اجماع بیت کوین چیست؟
بیت کوین بر مبنای الگوریتم گواه اثبات کار یا PoW عمل میکند.
+گواه اثبات کار بهتر است یا گواه اثبات سهام؟
این سوال پاسخ مشخصی ندارد. هر کدام از این مکانیزمها مزایا و معایبی دارند که کاربران بر این اساس میتوانند آنها را رتبهبندی کنند.