الگوریتم های اجماع (معرفی ۱۷ نوع از الگوریتم های اجماع)
الگوریتم های اجماع
بلاکچین، زنجیرهای از بلوکهاست که تراکنشهایی داخل آن قرار میگیرد. این تراکنشها باید تایید شوند، تا به اجرا درآیند. سوال اینجاست که، چطور میتوان آنها را تایید کرد؟ چه ساز و کاری باید پیاده شود، تا میان کاربران و فعالان حاضر در شبکه، توافقی بر سر وضعیت فعلی شبکه به وجود بیاید؟ همینجاست که پای مفهوم مهمی به اسم الگوریتم های اجماع به میان میآید. به کمک الگوریتم های اجماع، تراکنشها مطابق با روشهایی که در ادامه بیان خواهیم کرد، تایید میشوند.
معرفی الگوریتم های اجماع
هنگام استفاده از بلاکچین یا انواع دیگر دفاتر کل توزیعشده، موضوعی بسیار حیاتی وجود دارد؛ اگر قرار باشد دادهها مداوم بهروزرسانی گردند، الزاماً باید بر روی تمامی گرهها یا سرورها انجام شود. الگوریتم های اجماع در حوزهی شبکهی بلاکچین و ارزهای دیجیتال، اهمیت بسیار زیادی دارد. این مکانیزم ها، مهمترین نقش را در امنیت سیستمهای توزیعشده و شبکههای بلاکچین دارد.
بازار مالی ارزهای دیجیتال یکی از مهمترین و پرسودترین بازارهای مالی برای کاربران است. شناخت الگوریتم های اجماع بلاکچین، میتواند به کاربران بازار رمز ارزها برای شناخت بیشتر بستر بلاکچین و همچنین به استراتژی های معاملاتی فرد کمک کند. بزرگترین ویژگی بلاکچین امنیت و غیرمتمرکز بودن این بستر است.
مفهوم غیرمتمرکز بودن (Decentralized) در دنیای کامپیوتر به زبان ساده به این معناست که، هر نوع اطلاعات در یک سرور مرکزی ذخیره و پردازش نخواهد شد؛ چراکه تمامی اطلاعات آنها در چندین کامپیوتر ذخیره و نگهداری می شود، به معنی دیگر یعنی هر کامپیوتر می تواند یک سرور باشد. لازم به ذکر است که به این سرورهای ذخیره اطلاعات، گره یا نود (Node) می گویند.
بهدلیل این که شبکه بلاکچین خوداجرا و غیرمتمرکز (Decentralized) است، پروتکلهایی خودکار لازم دارد تا نودهای شبکه تنها در مورد تراکنشهای معتبر به توافق برسند. این پروتکلها برای جلوگیری از فعالیتهای مخرب مانند حملات دابل اِسپندینگ (دوبار خرج کردن / Double Spending) بهکار گرفته شدهاند تا عملکرد یک شبکه بلاک چین دچار مشکل نشود.
احتمالا، اسم الگوریتم های اجماع را شنیده باشید. اما اینکه الگوریتم های اجماع دقیقاً چه هستند و در دنیای بلاکچین چه نقشی بر عهده دارند را، میخواهیم بررسی کنیم.
همه بلاکچینها بر اساس الگوریتم های اجماع ساخته شدهاند. در واقع، الگوریتم های اجماع جز اصلی هر بلاکچینی هستند. الگوریتم های اجماع هستند که، پروتکلهای مختلف بلاکچین را از هم متمایز میکنند. اگر الگوریتمهای اجماع وجود نداشته باشند، بلاکچینی هم وجود نخواهد داشت. چراکه بدون الگوریتم های اجماع، بلاکچین به پایگاه دادهای غیرقابل انعطاف تبدیل میشود؛ که دیگر قابلیتهایی را که از یک بلاکچین انتظار داریم برآورده نمیکند.
الگوریتم های اجماع (Consensus Algorithms)، فرآیندی هستند که، بهمنظور رسیدن به توافق، بهصورت غیرمتمرکز در مورد وضعیت و اطلاعات دفتر کل مربوطه سیستمهای بلاکچینی، مورد استفاده قرار میگیرند. الگوریتم های اجماع معمولاً در شبکههایی پیادهسازی میشود که فرآیندها و کاربران زیادی را در بر دارند.
کاربردها و ویژگی الگوریتم های اجماع باعث شده، که اینگونه مکانیزمها در فناوریهای رمزارزها، بلاکچین و دفتر کل توزیع شده (DLT) به یک عنصر اساسی تبدیل شوند. یک مکانیزم اجماع، بهمراتب از اعتبارسنجها و حسابرسان انسانی سریعتر و بهینهتر عمل میکند.
الگوریتم های اجماع در بلاکچین، این اطمینان را ایجاد میکند که، هر بلاک اضافهشده به آن معتبر و حقیقی است و تمام نودهای شبکه بر سر آن بلاک به توافق جمعی رسیدهاند.
بهطور اساسی، پروتکل اجماع تضمین میکند؛ هر بلاک جدیدی که به شبکهی بلاکچین افزوده میشود، تنها نسخهی واقعی است و توسط تمام گرهها یا نودها مورد تایید واقعشده است.
مکانیزم الگوریتم های اجماع بلاکچین، اهداف خاصی نظیر حق مساوی هر نود، همکاری، دستیابی به توافق و حضور اجباری هر نود در فرآیند اجماع را دنبال میکند. بدین ترتیب، الگوریتم های اجماع در تلاش برای رسیدن به یک توافق مشترک هستند، که توسط کل اعضای حاضر در شبکه، تایید شده باشد.
کاربردهای الگوریتم های اجماع
فرآیند الگوریتم های اجماع سه کاربرد مهم در شبکهی بلاکچین دارد:
- یکپارچهسازی اطلاعات روی سیستم اعضای شبکه
- مدیریت شبکه با انتخاب برخی از اعضاء بهعنوان رهبر
- بررسی و تصمیمگیری در مورد صحت هر تراکنش و ذخیره روی دفتر کل توزیعشده
برای مثال، در یک شرکت اگر نیروها بر سر یک موضوع اختلاف نظر داشته باشند، مدیر شرکت تصمیمگیرندهی نهایی خواهد بود. با کمک الگوریتم های اجماع، به توافق رسیدن بین نودها از طریق یک سیستم رأیگیری صورت میگیرد. اگر یک کاربر، تراکنشی را به شبکه ارسال کند، اطلاعات ارسال شده توسط همهی گرهها بررسی میشود. اگر با توجه به اطلاعات قبلی، تراکنش فرستاده شده صحت داشته باشد، گره تاییدیهای مبنی بر صحت آن به شبکه ارسال میکند.
مجموعهای از تراکنشها یک بلاک را تشکیل میدهند. اگر بیشاز ۵۱% نودها، اضافه شدن این بلاک را به بلاکچین تایید کنند، نودها بلاک جدید را به سیستم خود اضافه میکنند و تراکنشهای داخل آن موفق و نهایی میشود.
وقتی شما برای شخصی دیگر در بانک تراکنش انجام می دهید، سیستم بانکی با استفاده از سرویس ها و سرورهایی که به آنها اعتماد دارد و خودش راه اندازی کرده است، تراکنش شما را تائید می کند، که در اینجا نیاز به اثبات سهام یا اثبات کار نیست.
در شبکه غیرمتمرکز بلاکچینی، مانند ارز دیجیتال بیت کوین، همه می توانند در کنترل شبکه سهیم باشند. یعنی، همه افراد مالک شبکه هستند؛ اما مشکل سرقت در این شبکه چگونه حل می شود؟ راه حل این مسئله الگوریتم های اجماع هستند. الگوریتم های اجماع، شامل قوانین و شرایطی هستند که، با آن مشارکت کنندگان می توانند از صحت کار در شبکه اطمینان حاصل کنند.
چگونه میتوان به توافق رسید که چه دادههایی به سیستم وارد و ثبت شوند؟
در محیطی که افراد غریبه به یکدیگر اعتماد ندارند، شاید حیاتیترین دستاورد در سیر پیشرفت فناوری بلاکچین و برجستهترین کاربرد الگوریتم های اجماع، پاسخ به همین سؤال باشد.
رمزنگاری (Cryptography) که در کلیدهای عمومی (Public Key) کیف پول کاربران وجود دارد، مانع از این شده که شخصی بتواند رمزارز کاربر دیگری را خرج کند؛ اما، همچنان یک منبع برای استعلام حقیقت اطلاعات نیاز است. بدین صورت، فعالان شبکه میتوانند به آن اعتماد کنند و تشخیص دهند که سرمایه مربوطه، قبلاً خرج نشده است.
از اینرو، ساتوشی ناکاموتو، خالق بیت کوین، الگوریتم های اجماع اثبات کار را پیشنهاد کرد. این الگوریتم کاربرانی را که میخواهند بلوکهایی در شبکه داشته باشند، وادار میکند تا سهمی ارائه دهند. یا بخشی از دارایی دیجیتالشان را استیک (Stake) کنند. استیک، نوعی ارزش است که اعتبارسنج یا ولیدیتور (Validator) آن را فراهم میکند.
این ارزش، که توسط شبکه ضبط میشود، ضامن رفتار صادقانه اعتبارسنج در شبکه بلاکچین است. اگر اعتبارسنج تقلب کند، استیک خود را از دست میدهند. استیک ممکن است قدرت محاسباتی، ارز دیجیتال یا شهرت او باشد.
شاید بگویید که اصلاً چرا کسی باید بخواهد در یک شبکه بلاکچین استیکینگ انجام دهد؟
حل مسائل ریاضی در شبکه بلاکچین برای اعتبارسنجها، سود به همراه خواهد داشت. همچنین، این فرایند سبب شفافیت سازوکار شبکههای غیرمتمرکز میشود. این یکی دیگر از ویژگیهای اصلی شبکههای بلاکچین است. الگوریتمهای اجماع، به مشخص کردن مواردی ازجمله موارد زیر کمک میکنند:
- تعیین اینکه آیا کاربران میتوانند تراکنش توزیعشدهای را در پایگاه داده انجام دهند یا خیر
- تعیین یک گره یا نود (Node) برای مدیریت برخی وظایف توزیعشده در شبکه
شبکههای بلاکچین، از الگوریتم های اجماع مشابهی استفاده میکنند. اما، هرکدام پیادهسازی و نحوه اجرای خاص خود را دارند. برای مثال؛ ریپل (XRP)، از نسخه تحمل خطای بیزانس (BFT) ویژه خود استفاده میکند و شبکه رادیکس (Radix)، الگوریتم های اجماع ابداعی خود به نام سربروس (Cerberus) را پیادهسازی کرده است.
الگوریتم های اجماع، این ضرورت را ایجاد میکند که تمام عوامل یک سیستم، حتی در صورت غیاب یا از کار افتادگی برخی از آنها، بتوانند تنها بر سر یک حقیقت و صحت اطلاعات به توافق برسند. چنین سیستمی باید در برابر خطا مقاوم (Fault-Tolerant) باشد.
تاریخچه الگوریتم های اجماع
الگوریتم های اجماع، صرفا در بلاکچین و رمزارزها به کار گرفته نمیشوند. در این سیستمها، باید میان اعضای شبکه توافقی حاصل شود تا سیستم بتواند کارایی خود را حفظ کند. پس، دلیل ایجاد مکانیزم اجماع، این بود که برخی از عوامل شبکه شکست میخوردند یا به هر طریقی قابل اعتماد نبودند. به طور کلی مشکل اجماع و توافق در سیستمهای توزیع شده، مشکلی بنیادی و اساسی است که از سالهای دور هم وجود داشته است.
در دنیای رمزارزها، الگوریتم های اجماع یکی از اجزای حیاتی و مهم بلاکچین است. این مکانیزم، توافقهایی را بر سر وضعیت فعلی شبکه انجام میدهد. از زمان ظهور بیت کوین در سال ۲۰۰۸، الگوریتم های اجماع اصلی آن یعنی گواه اثبات کار (POW)، مورد تقلید قرار گرفته و کپی شده است. به این ترتیب راه برای یک سری الگوریتم های اجماع جایگزین باز شد.
الگوریتم های اجماع چطور کار میکنند؟
این پرسش، پاسخ واحدی ندارد. الگوریتم های اجماع انواع متفاوتی دارند. هر کدام به شیوهای منحصربهفرد کار میکنند. آنچه در تمام الگوریتم های اجماع مشترک است، مسئله توافق است که باید حاصل شود.
انواع الگوریتم های اجماع کدامند؟
برای پاسخ به این سؤال، تا انتهای مطلب همراه من باشید.
انواع الگوریتم های اجماع:
۱. گواه اثبات کار (PoW)
برای آشنایی با گواه اثبات کار یا Proof of Work، باید ابتدا به مبحث ماینینگ (Mining) بپردازیم. استخراج یا ماینینگ، فرایندی است که در جریان آن، بلوکهای جدیدی تولید میشوند. برای انجام این کار، لازم است که ابتدا تراکنشهایی، روی شبکه تایید شوند. افرادی که وظیفه استخراج را به عهده دارند، با نام ماینر شناخته میشوند. این افراد باید تراکنشها را دریافت و صحت آنها را تایید کنند.
آنها از سختافزارهایی مثل CPU یا کارت گرافیک رایانه خود استفاده میکنند؛ تا بتوانند یک معمای رمزنگاریشده را حل کنند. سرانجام هر ماینری که زودتر به پاسخ صحیح دست پیدا کند، باید راه حل خود را در شبکه منتشر کند، تا سایر ماینرها نیز آن را بررسی کنند. اگر راهکار مذکور، مورد تایید ماینرهای دیگر هم قرار بگیرد، اجماع حاصل میشود.
سپس، تراکنش به بلاک اضافه میشود و ماینر، میتواند پاداش خود را از این عمل به دست آورد. پاداش ماینرها در ۲ حالت پرداخت میشود؛ ۱. پاداش بلاک یا Block Reward و ۲. کارمزد تراکنش یا Transaction Fee. پاداش بلاک، مقدار مشخصی از رمزارزهای بومی شبکه است که به ماینر تعلق میگیرد. ماینرها همچنین با تایید صحت تراکنشها، بخشی از کارمزد تراکنش را نیز دریافت میکنند.
اولین و معروفترین مورد استفاده از بلاکچین، رمزارز بیت کوین است که بر اساس الگوریتم های اجماع گواه اثبات کار عمل میکند. در بلاکچین بیت کوین، هر بلوک شامل اطلاعات تراکنش (فرستنده و گیرنده و مبلغ ارسالی)، هش بلاک قبلی و هش بلاک فعلی است. گرهها در شبکه بیت کوین با استفاده از الگوریتم های اجماع اثبات کار، تراکنشها را تایید و بلاکهای جدید را تولید میکنند. در این شبکه، پاداشها طی فرایندی به نام هاوینگ نصف میشود.
مزایا و معایب این الگوریتم
مزایا
- ارائه سطح قابل قبولی از عدم تمرکز
- جلوگیری از ایجاد فورکهای فراوان
- امنیت بالا
- عدم نیاز به رمزارز برای شروع فعالیت
معایب
- هزینه بالا و نیاز به سختافزارهای قدرتمند
- مصرف انرژی بالا
- آسیبپذیری در برابر حمله ۵۱٪
- ایمنی کمتر در شبکههای کوچکتر
- سرعت پایین تراکنشها
۲. گواه اثبات تأخیر کار (DPoW)
نسخه تغییریافتهای از PoW است که، توسط پروژه Komodo معرفی شد. این مکانیزم، از قدرت هش بلاکچین بیت کوین استفاده میکند؛ تا امنیت شبکه را بهبود ببخشد. سیستم کومودو در فواصل زمانی ده دقیقهای، اسنپ شاتی از بلاکچین خودش میگیرد.
منظور از اسنپ شات، ثبت و ضبط تصویری از محتوای دفتر کل عمومی بلاکچین است؛ که شامل آدرسهای موجود و دادههای مرتبط با آنها در تاریخی مشخص است. سپس این اسنپ شات، طی فرایندی با نام Notarization (ثبت گواهی رسمی) در بلاکی روی شبکه بیت کوین نوشته میشود. این فرایند منجر به ایجاد بکاپی از کل سیستم کومودو میشود، که در بلاکچین بیت کوین ذخیره میشود.
مکانیزم امنیتی DPoW باعث میشود که بلاکچین ایمنتر و در برابر حمله ۵۱٪ مقاوم شود. در حمله ۵۱٪، شخص حملهکننده مانع از ارسال تراکنشهای مشخصی به بلاکچین میشود؛ اما وقتی بلاکی روی زنجیره بیت کوین ثبت شود، حتی اگر کنترل ۵۱ درصد از نودهای Notary هم در اختیار شخص حملهکننده باشد، باز هم نمیتوان دادههای ثبت شده را تغییر داد یا حذف کرد.
مزایا و معایب DPoW
مزایا
- افزایش بهرهوری انرژی
- ایمنی بالا
معایب
- محدود شدن به بلاکچینهایی که از PoW یا PoS استفاده میکنند.
۳. گواه اثبات سهام (PoS)
دیگر ماینرها نقش اصلی را به عهده ندارند؛ بلکه با اعتبارسنج یا ولیدیتورها (Validator) سروکار داریم. نودهای اعتبارسنج، باید رمزارز بومی شبکه را سپرده گذاری کنند. سپس، میتوانند تراکنشها را بررسی و بلاکهای جدید در شبکه ایجاد کنند. در این سیستم، برخلاف الگوریتم های اجماع اثبات کار، دیگر نیازی به تهیه پردازندهها و تجهیزات گرانقیمت نیست. همین امر، مصرف انرژی را بسیار کاهش میدهد؛ به علاوه باعث میشود که اعتبارسنجها با سرمایه کمتری وارد شبکه شوند.
نودهای شبکههای PoS، در ازای اعتبارسنجی تراکنشها بخشی از کارمزد شبکه را به عنوان پاداش دریافت میکنند. از معروفترین شبکههایی که به این شیوه به اجماع میرسند، میتوان به اتریوم اشاره کرد.
مزایا و معایب Proof of Stake
مزایا
- سرعت
- کارایی
- عدم نیاز به سختافزارهای قدرتمند
- مصرف کمتر انرژی
معایب
- آسیبپذیری
- سیستم توزیع پاداش ناعادلانه
- متمرکز شدن قدرت در تایید تراکنشها
۴. تحمل خطای بیزانس عملی (PBFT)
فرض کنید، هر فرمانده یا ژنرال (General) در منطقهای لشکر خود را دارد و باید برای حمله یا عقبنشینی یک تصمیم بهصورت گروهی بگیرند. چنانچه تمام آنها تصمیمی مشابه بگیرند، موفق میشوند و در صورت برقراری ارتباطی اشتباه یا خیانت کردن، برخی از فرماندهان حمله و بقیه عقبنشینی میکنند و نبرد با شکست مواجه میشود. به اینگونه موارد خطاهای بیزانسی میگویند.
برای انجام هر عملی روی شبکه، نودها باید با یکدیگر توافق کنند. با این کار، امنیت شبکه را تامین میکنند و در ازای آن پاداش میگیرند. اما تمام نودها کارشان را به درستی انجام نمیدهند. خطای بیزانس (Byzantine Fault)، به مواقعی اشاره دارد که، برخی از نودهای مخرب با انجام عملی روی شبکه موافقت نمیکنند و کار شبکه را مختل میکنند. تحمل خطای بیزانس عملی، میزان ظرفیت شبکه را برای مقابله با چنین خطایی نشان میدهد.
تحمل خطای بیزانس، به دنبال آن است که توانایی لازم را برای ایجاد اجماع در اختیار شبکه قرار دهد. این الگوریتم، به سیستم اجازه میدهد؛ حتی در مواقعی که بازیگران مخرب با رفتارهای نادرست خود (مانند اطلاعات گمراهکننده)، سعی در مختل کردن شبکه دارند، همچنان بتواند عملکرد خود را به درستی پیاده کند. در این مدل، چنین فرض میشود که؛ نودهای مخرب شبکه نمیتوانند همزمان برابر یا بیشتر از یک سوم کل نودهای سیستم باشند.
در طی جریان انتقال اطلاعات، PBFT از الگوریتمهای رمزنگاری؛ مانند امضا، تایید امضا و هش استفاده میکند. و مطمئن میشود که هر اقدامی روی شبکه قطعی، انکارناپذیر، غیرقابل جعل کردن و غیرقابل بازگشت است.
پلتفرم هایپرلجر، از دو تا از الگوریتم های اجماع تحمل خطای بیزانس عملی (PBFT) و سیو (SEIVE) پشتیبانی میکند که در اینجا سیو، مسئولیت اجرای کدهای غیر قطعی (non-deterministic) شبکه را بر عهده دارد. الگوریتم های اجماع PBFT بهعنوان اولین راهکار جهت رسیدن به توافق، در صورت از کار افتادن مکانیزم بیزانس استفاده میشود. از بین برترین پروژههای برتر بازار که از الگوریتم اجماع تحمل خطای بیزانس عملی استفاده میکنند، میتوان ریپل (Ripple / XRP) و استلار (Stellar / XLM) را نام برد.
در یک سیستم تحمل خطای بیزانس ساده شده یا SBFT، یک تولیدکننده بلاک (Block Generator) در زمانهای مختلف تمام تراکنشهای موجود را جمعآوری و پس از دستهبندی آنها در یک بلاک جدید، تراکنشها را تایید میکند. الگوریتم های اجماع SBFT نوعی جدید از الگوریتم های اجماع تحمل خطای بیزانس را پیادهسازی کرده که به چالشهای مقیاسپذیری و تمرکززدایی (Decentralization) این مکانیزم رسیدگی میکند.
مزایا و معایب PBFT
مزایا
این الگوریتم، نوع بهبودیافته الگوریتم های اجماع تحمل خطای بیزانس (BFT) است که؛ کاهش پیچیدگی را به دنبال دارد؛ به این ترتیب در سیستمهای واقعی قابل پیادهسازی خواهد بود. این الگوریتم، ایجاد یک سیستم توزیعشده قوی را تضمین میکند و برای زنجیرههای خصوصی گزینهای مطلوب است.
معایب
درست است که با افزایش نودهای شبکه، احتمال خرابکاری نودهای اخلالگر کم میشود، اما این سکه روی دیگری هم دارد. افزایش نودهای اجماع در سیستمهای توزیعشده، موجب کاهش کارایی اجماع میشود. یعنی، با بیشتر شدن مشارکتکنندگان در شبکه، عمل اجماع به زمان بیشتری نیاز خواهد داشت.
۵. گواه اثبات اعتبار سهام (PoSA)
الگوریتم های اجماع گواه اثبات اعتبار سهام یا، تلفیقی از گواه اثبات اعتبار (PoA) و گواه اثبات سهام نیابتی (DPoS) است. در این روش، اعتبارسنجها وظیفه تولید بلوک را به صورت نوبتی به عهده دارند. اعتبارسنجهای فعال نیز، از طریق فرایند رایگیری که بر مبنای میزان استیکینگ انجام میشود، انتخاب میشوند. درست مانند اثبات سهام، برای اینکه یک نود در این شبکه به اعتبارسنج تبدیل شود، باید بخشی از رمزارز بومی آن شبکه را استیک کند. شبکه بایننس اسمارت چین، از این روش استفاده میکند.
مزایا و معایب PoSA
بزرگترین مزیت این الگوریتم، این است که با ترکیب دو مکانیزم PoA و DPoS توان عملیاتی آن بالا میرود و منجر به ایجاد شبکهای سریع میشود. در بیان عیب این شبکه نیز، میتوان به متمرکز شدن بیشتر شبکه اشاره کرد.
۶. گواه اثبات سهام نیابتی (DPos)
الگوریتم های اجماع اثبات سهام نیابتی، به نوعی مشابه گواه اثبات سهام است. در این روش، با تولیدکنندگان بلوک (Block Producer) یا شاهدان (Witness) سروکار داریم؛ که قابلیت تایید تراکنشها و ایجاد بلاک را دارند. این نودها بر اساس آرای افرادی انتخاب میشوند که، دارایی خود را در شبکه سپردهگذاری کردهاند. تفاوت عمده این روش با اثبات سهام در این است که؛ در DPoS تعداد نودهایی که اجازه ایجاد بلوک جدید را دارند، کاهش پیدا کرده است؛ یعنی این نودها به نمایندگی از سایر نودها، میتوانند به تایید تراکنشها و ایجاد بلاکها بپردازند. ایاس، رمزارزی است که از این روش برای دستیابی به اجماع استفاده میکند.
بسیاری از متخصصان این شیوه را یک نسخه دموکراسی از سیستم اجماع اثبات سهام میدانند؛ زیرا بهجای استفاده از نودهای مستقل در شبکه، طبق یک فرآیند رأیدهی شبیه به یک دائو (DAO) و انتخاب نماینده عمل میکند. طبقه عقیده آنها، الگوریتم های اجماع DPoS ظرفیت تراکنشهای بیشتر و زمان تایید کمتری را نسبت به مکانیزمهای اجماع PoW و PoS دارد؛ چراکه جهت تایید دادههای یک بلاک جدید در بلاک چین از نودهای شبکه یا شاهدان کمتری استفاده میکند.
مزایا و معایب گواه اثبات سهام نیابتی
مزایا
- شاهدان انگیزه کافی دارند تا با صداقت کار کنند و ظرفیت محاسباتی مورد نیاز را برای شبکه تامین کنند؛ در غیر این صورت از شبکه اخراج میشوند.
- عملکرد بهتر و مقیاسپذیری بیشتر در اثر TPS بالا در این سیستم به دست خواهد آمد.
- شاهدان میتوانند در ثانیه تراکنشها را تایید کنند.
- هزینههای تراکنش معمولا بسیار پایین است و در مواقعی اصلا نیاز به پرداخت کارمزد نیست.
- مصرف انرژی و کاهش هزینه در این سیستم در مقایسه با PoS یا PoW چشمگیر است. چرا که به قدرت محاسباتی بالایی نیاز ندارد.
- کاهش مصرف انرژی در این سیستم، DPoS را به مکانیزمی سازگار با محیط زیست تبدیل کرده است.
- این سازوکار سیستم حاکمیتی مستحکمی دارد.
- رایدهندگان هر عمل مخربی را بلافاصله تشخیص میدهند. این افراد همچنین میتوانند نمایندگان یا شاهدان متخلف را نیز از سیستم خارج کنند و به امنیت بیشتر شبکه کمک کنند.
معایب
- ممکن است Witness یا همان نمایندهها کارتلی تشکیل دهند و تمرکز شبکه را به دست بگیرند.
- از آنجا که افراد کمتری در حفظ بقای شبکه نقش دارند، احتمال وقوع حمله ۵۱٪ بیشتر خواهد بود.
- زمانی که پای نهنگها به این سیستم باز شود و بتوانند قدرت را در دست بگیرند، احتمال دارد که به دوستان و موافقان خود رای دهند و سیستم را متمرکز کنند.
- افرادی که میزان دارایی کمی در شبکه دارند، ممکن است انگیزه چندانی برای رایدهی در سیستم نداشته باشند؛ هرچند در حالت کلی اشاره کردیم که این سیستم به شاهدان خود انگیزه کافی را برای انجام اعمال صادقانه و سالم ایجاد میکند.
۷. گواه اثبات سهام استیجاری (LPoS)
الگوریتم های اجماع اثبات سهام استیجاری، نسخه بهبودیافتهای از اثبات سهام است. در این الگوریتم، هر نودی که میزان مشخصی از رمزارز را هولد میکند، این قابلیت را دارد که بلوک بعدی را به بلاکچین اضافه کند. دقیقا مشابه الگوریتم های اجماع اثبات سهام است؛ با این تفاوت که به افرادی که مقدار کمی رمزارز دارند؛ این انگیزه را میدهد که با اجاره داراییهای خود، در شبکه مشارکت کنند.
در این روش، دارنده اصلی توکنهای اجارهای نیز، میتواند بخشی از پاداش را دریافت کند. هرچه میزان توکنهایی که اجاره داده میشود، بیشتر باشد، شانس نود برای انتخاب شدن بیشتر خواهد بود. مثلا در پلتفرم Waves، کاربران میتوانند رمزارزهای WAVES خود را از ولتشان بردارند و به نودهای دیگر اجاره دهند و در ازای آن، درصد مشخصی از پاداش آنها را دریافت کنند.
مزایا و معایب LPoS
مزایا
- امنیت بیشتر
- مشوقهای بیشتر برای افرادی با دارایی کمتر
معایب
- ثروتمندتر شدن افراد ثروتمند
۸. گواه اثبات اعتبار (PoA)
الگوریتم های اجماع گواه اثبات اعتبار، یک روش اعتبارمحور است، که باعث ایجاد تراکنشهای بیشتری در هر ثانیه میشود. این دسته از الگوریتم های اجماع، راهکارهای مؤثر و عملی را، برای شبکههای بلاکچینی به ویژه شبکههای خصوصی به ارمغان میآورد. اولین بار، در سال ۲۰۱۷ بود که همبنیانگذار و مدیر اسبق ارشد فناوری اتریوم، یعنی گوین وود، از اصطلاح PoA استفاده کرد. گواه اثبات اعتبار، ارزش هویتها را مدنظر قرار میدهد؛ یعنی، اعتبارسنجها دیگر نیازی به استیک کردن کوینهای خود ندارند و به جای آن باید از اعتبار خود استفاده کنند.
نودهای اعتبارسنج، باید از میان کاربران قابل اعتماد انتخاب شوند و تعداد آنها محدود است. انتخاب اعتبارسنجها کار آسانی نیست. نامزدهای اعتبارسنجی، باید در یک فرایند انتخاب شرکت کنند که در آن میتوانند تعهد بلندمدت خود را نسبت به شبکه اثبات کنند. باید آماده سرمایهگذاری داراییشان باشند و از اعتبار خود در طی فرایند انتخاب، مایه بگذارند. شیوه انتخاب اعتبارسنجها باید مطابق قوانین استانداردی باشد، که به تمام کاندیداها شانس و فرصت برابری برای انتخاب میدهد. از میان پلتفرمهایی که به این شیوه عمل میکنند میتوان به وی چین اشاره کرد.
مزایا و معایب PoA
مصرف پایین انرژی، مزیت مهم این دسته از الگوریتم های اجماع به شمار میرود. در مورد معایب آن، میتوان این مسئله را بیان کرد که، معمولا در شبکههای خصوصی مورد استفاده قرار میگیرد؛ که به مجوز نیاز دارند.
۹. گواه اثبات سوزاندن (PoB)
این مفهوم، برای آن پدید آمد تا مشکلات مرتبط با مصرف بالای انرژی را در شبکههای اثبات کار، مرتفع کند. این دسته از الگوریتم های اجماع، روشی است مابین اثبات کار و اثبات سهام. تمام سیستمهای اثبات (مبتنی بر مکانیزمهای اجماع)، بر مبنای قوانینی عمل میکنند که ایجاد بلاک در آنها، نیازمند پرداخت هزینه است. این مسئله، باعث افزایش امنیت شبکه و جلوگیری از ورود بازیگران مخرب میشود. در مکانیزم اثبات کار، این هزینه صرف خرید تجهیزات و سختافزارهای گرانقیمت میشود و در گواه اثبات سوزاندن، با سوزاندن دارایی تأمین میشود.
در اینجا، قدرت استخراج بلوک را، با استفاده از سوزاندن بخشی از توکنهایی که در اختیار دارند، به دست میآورند؛ یعنی ظرفیت ماینینگ به ماینرهایی داده میشود که بخشی از دارایی خود را با میل خود، برای به دست آوردن حق ماین کردن خرج کنند. ماینرها برای سوزاندن توکن، باید تراکنشی را ایجاد کنند که مطابق آن، بخشی از داراییشان به یک آدرس مشخص ارسال میشود. این آدرس مشخص، آدرسی است که مخصوص سوزاندن توکن است و کسی به آن دسترسی ندارد. پس از انجام این کار، آن دارایی دیگر در اختیار مالکش نخواهد بود.
پس از اینکه، شبکه مالک این دارایی سوزاندهشده را شناسایی کرد، به او این مجوز را میدهد که یک بلوک جدید را تولید کند. سپس، هر کس در ازای سوزاندن توکن، پاداش خود را دریافت خواهند کرد. هرچه نودها بتوانند سکههای بیشتری را بسوزانند، شانس بیشتری برای ایجاد بلوک دارند. این نودها، امتیازی تحت عنوان سکههای سوزانده شده موثر (Effective Burnt Coins) دریافت میکنند که، شانس آنها را برای یافتن بلوکها مشخص میکند. در انتها، ایجادکنندگان بلوک، پاداش ساخت بلوک را دریافت خواهند کرد. کانترپارتی، یکی از شبکههایی است که این شیوه را به خدمت گرفته است.
مزایا و معایب گواه اثبات سوزاندن
مزایا
- پایداری بالا
- مصرف برق کم
- عدم نیازمندی به سختافزارهای ویژه
- کاهش عرضه در گردش رمزارز و در نتیجه افزایش قیمت و ارزش آن
- ایجاد مشوق به منظور متعهد نگه داشتن ماینرها در بلندمدت
- کمک به غیرمتمرکز شدن
معایب
- عدم سازگاری با محیط زیست
- احتمال عدم کارایی در مقیاسهای بزرگ
- تاخیر در تایید توسط ماینرها که باعث میشود در مقایسه با سیستمهای PoW سرعت کمتری داشته باشند
- عدم شفافیت
- احتمال دشواری تایید فرایند سوزاندن سکهها توسط کاربران عادی به دلیل پیچیدگی
۱۰. گواه اثبات ظرفیت (PoC)
الگوریتم های اجماع گواه اثبات ظرفیت را، معمولا با نام Proof of Space نیز میشناسند. این مکانیزم، به دستگاههای ماینینگ اجازه میدهد؛ از ظرفیت در دسترس و خالی هارد خود استفاده کنند؛ به این ترتیب میتوانند عملیات ماینینگ و همچنین اعتبارسنجی تراکنشها را انجام بدهند. این رویکرد، در مقابل روش استفاده از توان محاسباتی دستگاههای ماینینگ (در الگوریتم اثبات کار) یا استیک کردن رمزارزهای ماینرها (در الگوریتم اثبات سهام) قرار میگیرد.
برای فهم این الگوریتم، باید متوجه مفهوم لاتاری شد. اگر پاداش لاتاری، بر مبنای تطابق بیشترین ارقام بلیط برنده باشد، بازیکنی که تعداد بیشتری بلیط داشته باشد، شانس بالاتری برای برنده شدن دارد. فرد این امکان را خواهد داشت که، بلیطهای بختآزماییاش را بارها و بارها مورد استفاده قرار دهد؛ چرا که آنها را قبلا ذخیره کرده است. استورج، یکی از معروفترین پلتفرمهایی است که از PoC استفاده میکند.
مزایا و معایب الگوریتم Proof of Capacity
مزایا
- عدم نیاز به سختافزارهای ویژه
- افزایش کارایی انرژی ۳۰ برابری در مقایسه با روشهای مبتنی بر اسیک
- سازگار با هارد درایوهای معمولی مانند دستگاههای مبتنی بر اندروید
- دادههای استخراج شده به راحتی از فضای ذخیره پاک میشوند و میتوان این فضاها را به سادگی مجددا برای ذخیره دادههای دیگر استفاده کرد.
معایب
- توسعهدهندگان زیادی این سیستم را نپذیرفتهاند.
- احتمال تاثیر بدافزارها بر فعالیتهای استخراج وجود دارد.
۱۱. گواه اثبات فعالیت (PoA)
با نام گواه اثبات کار/ اثبات سهام ترکیبی (Hybrid PoW/PoS) نیز، شناخته میشود، موازنهای میان الگوریتمهای PoW و PoS است. این مکانیزم، با ایجاد بلوکهای جدید توسط ماینرهای اثبات کار شروع میشود. بعد از آن که بلوکها استخراج شدند، اعتبارسنجهای اثبات سهام پا به عرصه میگذارند تا بلاکها را تایید یا رد کنند.
سیستم پاداش هم، به این نسبت توزیع میشود: ۶۰ درصد به ماینرهای اثبات کار، ۳۰ درصد به ماینرهای اثبات سهام و ۱۰ درصد باقیمانده نیز، برای بهبود سیستم.
مزایا و معایب PoA
مزایا
- بهرهگیری از سیستم هشینگ اثبات کار و امضای دیجیتال اثبات سهام
- تحمل خطای بالا که مانع تعطیلی کل سیستم میشود.
- فراهم کردن موقعیتهایی برای کسب پاداش، هم برای ماینرها و هم برای اعتبارسنجها
- کاهش احتمال حمله ۵۱٪ به میزان زیاد
معایب
- مصرف انرژی بالا برای انجام فرایند ماینینگ
- نیاز به زمان طولانی برای استخراج به دلیل انجام محاسبات زیاد
- وابستگی به سختافزارهای گران برای انجام محاسبات
- احتمال کمتر بودن اعتبارسنجها به دلیل کمتر بودن منافعشان
۱۲. گواه اثبات تاریخچه (PoH)
گواه اثبات تاریخچه، از یک روش رمزنگاری شده برای اثبات گذرگاه زمانی رویدادها و جایی که وقایع در آن بازه زمانی رخ میدهند، استفاده میکند. به این مسئله توجه کنید که PoH را نمیتوان یک مکانیزم اجماع دانست؛ بلکه راهی برای اثبات رمزنگاری گذر زمان (Passage of Time) بین دو واقعه است.
در این الگوریتم، از تابعی استفاده میشود که در آن خروجی قبلی به عنوان ورودی فعلی، مورد استفاده قرار میگیرد. این الگوریتم، باعث ایجاد تاریخچهای از سوابق میشود. میتوان ثابت کرد که یک رویداد در زمانی خاص رخ داده است. گواه اثبات تاریخچه، برای کاهش بار نودهای شبکه در جریان ایجاد بلوکها به وجود آمده است. از مهمترین شبکههایی که از این مکانیزم استفاده میکنند، میتوان به سولانا اشاره کرد.
سولانا با استفاده از این تابع، یک ورودی را گرفته و خروجی منحصربهفردی تولید میکند که پیشبینی آن بسیار مشکل است و خروجی یک تراکنش بهعنوان ورودی برای هش بعدی استفاده میشود.
مزایا و معایب PoH
مزایا
- مقیاسپذیری بیشتر
- کارمزد پایینتر
معایب
- نگرانیهایی در مورد تمرکز شبکه
- برنامه های غیر متمرکز کمتر
۱۳. گواه اثبات زمان (PoT)
الگوریتم اجماع گواه اثبات، در پی یافتن سندی است که نشانگر وقوع یک رویداد مشخص باشد. از قدرت زمان دقیق، استفاده میکند تا سیستمی بدون نیاز به اعتماد به شخص ثالث ایجاد کند. این مکانیزم به کاربران اجازه میدهد که به میزان زیادی بر فاکتور زمان تکیه کنند؛ بدون آنکه راهی برای جعل یا دستکاری این دادهها توسط بازیگران و عوامل مخرب در شبکه وجود داشته باشد.
این مکانیزم، یک فرایند دومرحلهای است: رایگیری نرم (Soft Voting) و رایگیری سخت (Hard Voting) که، در طی مرحله اول، داده مربوط به رویداد به شبکه ارسال میشود. مرحله رایگیری سخت، به فرایند تایید Block مربوط است. از میان پروژههایی که از این سازوکار استفاده میکنند، میتوان به شبکه آنالوگ اشاره کرد.
مزایا و معایب گواه اثبات زمان
مزایا
- این گواه، سیستمی برابر برای اعتبارسنجی ایجاد میکند.
- نیاز به سختافزارهای گرانقیمت ندارد.
- نیاز به افزایش مبلغ استیک شده برای اعتبارسنجی بلوک ندارد؛ پس از استیک کردن مبلغ اولیه، تنها عملکرد شما به عنوان اعتبارسنج است که اهمیت دارد.
- به ایمنی بیشتر بلاکچین کمک میکند.
- اعتبارسنجها انگیزه بالایی برای کسب شهرت و اعتبار بیشتر دارند؛ چرا که به این ترتیب شانس آنها برای انتخاب شدن بیشتر میشود.
معایب
- درست است که این سیستم منصفانه است، اما به دست آوردن اعتبار و شهرت ممکن است نیازمند زمان زیادی باشد.
- این سیستم جدید است و هنوز مورد پذیرش و گسترش قرار نگرفته است.
۱۴. گواه اثبات انتقال (PoX)
مکانیزم گواه اثبات انتقال، یک افزونه از گواه اثبات سوزاندن است. این الگوریتم، یک مکانیزم استخراج است که باید با مجموعهای از قوانین اجماع ترکیب شود تا، یک الگوریتم اجماع با عملکرد کامل را شکل دهد. هدف، بهینهسازی گواه اثبات کار است. در این سازوکار به جای توکنسوزی، رمزارزهای ماین شده در شبکه به سایر کاربران این شبکه منتقل میشوند.
مزایا و معایب PoX
مزایا
- الگوریتم اجماع PoX در بلاکچین استکس باعث ایجاد قراردادهای هوشمندی میشود که امنیت آنها توسط بلاکچین بیت کوین تامین میشود. این امر باعث میشود دریچههای جدیدی برای ایجاد NFT و محصولات دیفای باز شود.
- همچنین این الگوریتم اجماع، با ارائه پاداش به مشارکتکنندگان شبکه، به پایداری شبکه کمک میکند.
- هر فرد میتواند عمل ماینینگ را بدون نیاز به سختافزارهای ویژه انجام دهد.
- این مکانیزم اجماع فرصتهای کسبوکار و مدلهای تامین مالی جدیدی را برای سازندگان فراهم میکند.
- گواه اثبات انتقال از امنیت مکانیزم PoW بهره میبرد.
معایب
- هنوز در مقیاسهای بزرگ آزمایش نشده است.
۱۵. گواه اثبات زمان سپری شده (PoET)
سیستم اجماع اثبات زمان سپریشده توسط شرکت Intel جهت مقابله با چالشهای انتخاب تصادفی یک رهبر طراحی شده است. این پروتکل در بخشی از کتاب راهنمای نرمافزاری “Software Guard Extensions (SGX)” منتشر شده است.
مکانیزم گواه اثبات زمان سپری شده، از الگوریتمهای اجماع است که در دنیای بلاکچین وجود دارد. این مکانیزم، از مصرف بالای انرژی و استفاده زیاد از منابع جلوگیری میکند. به این ترتیب، فرایندها با دنبال کردن یک سیستم بختآزمایی منصفانه، اجرا میشوند. این الگوریتم، از یک زمان سپری شده تصادفی استفاده میکند، تا در مورد حق استخراج و برندگان بلوکها در یک شبکه بلاکچین تصمیم بگیرد.
مزایا و معایب گواه اثبات زمان سپری شده
مزایا
- مقیاسپذیری و کارایی بالا
- قابلیت پیادهسازی در بلاکچینهای خصوصی
- مقاوم در برابر حملات خارجی و داخلی شبکه
- عدم تمرکز در ساخت بلاک
معایب
- نیاز به سختافزارهای ویژه و وابستگی فراوان به فناوری اینتل
- این الگوریتم با پلتفرمهای دیگر سازگار است، اما تغییر در آن میتواند موجب ناسازگاری یا بروز مشکلات جدی شود.
- احتمال وقوع حملات ناشی از آسیبپذیری پردازندههای اینتل
۱۶. گواه اثبات اهمیت (PoI)
مکانیزم گواه اثبات اهمیت را، میتوان به نوعی مشابه اثبات سهام دانست، اما معیارهای متفاوتی برای نودها در این روش وجود دارد. در این الگوریتم، ماینرهایی که تعداد تراکنشهای بیشتری انجام داده باشند، اولویت بالاتری دارند. هرچه تراکنشها بیشتر باشد، شانس نود نیز بالاتر میرود.
گواه اثبات اهمیت با پروژه نِم معرفی شد. این مکانیزم مشخص میکند که؛ کدام یک از مشارکتکنندگان (یا همان نودها) در شبکه حق اضافه کردن بلاک را به بلاکچین دارند. افزودن بلوکها در این شبکه، با نام Harvesting (برداشت) شناخته میشود. زمانی که نودها، این عمل را انجام میدهند، میتوانند کارمزدهای تراکنشهای همان بلوک را جمعآوری کنند. هرچه امتیاز اهمیت، بیشتر باشد، نود هم شانس بیشتری دارد تا برای اجرای عمل Harvest بلوک انتخاب شود.
مزایا و معایب PoI
این مکانیزم، به محاسبات پیچیده نیاز ندارد؛ از این رو مصرف انرژی در آن پایین است و نیاز به خرید سختافزار تخصصی نیست. از سویی دیگر، نیاز به حداقل ۱۰,۰۰۰ رمزارز برای انجام عمل هاروست و انجام تراکنش، از جمله شروطی هستند که باید حتما برقرار باشند، تا بتوان در این شبکه به ایجاد بلوک پرداخت.
۱۷. گواه اثبات فضای ذخیرهسازی (PoS)
الگوریتم اجماع Proof of Storage یک پروتکل رمزنگاری شده است، که نودها به کمک آن میتوانند صحت دادههای ریموت را تایید کنند. نودها برای استفاده از این مکانیزم، یک نسخه کدگذاری شده از دادههای خود را به سرور ارسال میکنند؛ این در حالی است که بخش کوچکی از حالت را به شکل محلی نگهداری میکنند. نودهای مذکور، در هر نقطه از زمان میتواند صحت دادههای خود را با اجرای یک پروتکل پاسخ – چالش، تایید کنند.
جمع بندی
امروز، همه چیز به سمت دیجیتالی شدن حرکت میکند. بنابراین، غیرمتمرکزسازی یک امتیاز مهم برای جوامع خواهد بود. کنترل و مدیریت زندگی، بدون وجود نهاد مرکزی مزایای زیادی به همراه خواهد داشت؛ اما، با این وجود مشکلاتی هم وجود دارد.
یکی از این مشکلات، نحوه توافق بر سر وضعیت فعلی سیستم است. الگوریتم های اجماع راهکاری هستند که برای حل این مشکل در سیستمهای توزیع شده معرفی شدند. اکنون در بلاکچین نیز، انواع مکانیزم اجماع در شبکههای مختلف مورد استفاده قرار میگیرند.
در این مطلب سعی کردم به صورت مختصر بگویم؛ الگوریتم های اجماع چیستند و انواع آن کدام اند. امیدوارم، این مطلب برای شما مفید باشد!