PoW در مقابل PoS؛ مکانیزم اجماع در بلاک چین چیست و چند نوع دارد
اجماع در دنیای رمزنگاری، بهطور مختصر، یک روش تصمیمگیری به هدف اطمینان از توافق است. در این توافق همهی شرکتکنندگان شبکه باید بر افزودن اطلاعات جدید، بلاک داده یا تراکنش انجامشده، نظری یکسان داشته باشند. به عبارت دیگر، پروتکل اجماع، صحت زنجیره را تضمین و برای نگه داشتن شرکتکنندگانی صادق، انگیزه ایجاد میکند. ایجاد این ساختار، اطمینان از پیروی همهی کاربران از قوانین شبکه و جلوگیری از کنترل کل سیستم توسط یک شخص خاص را امکانپذیر میکند.
- اهمیت اجماع بلاک چین
- اصول گواه بر کار و اصول گواه بر سهام
- انتخاب گواه بر کار و انتخاب گواه بر سهام
- چگونگی تأیید تراکنشها در الگوریتم گواه بر کار
- چگونگی تأیید تراکنشها در الگوریتم گواه بر سهام
- مقایسهی الگوریتم گواه بر کار با الگوریتم گواه بر سهام
- تمرکز
- مصرف برق
- حملهی ۵۱ درصد
- معایب الگوریتم مدل گواه بر سهام
- نتیجهگیری مقایسهی الگوریتم گواه بر کار با گواه بر سهام
- گواه بر سهام واگذارشده (DPoS)
- گواه بر زمان سپریشده (PoET)
- تحمل خطای بیزانس (BFT)
- گواه بر ظرفیت (PoC) یا گواه بر فضا (PoS)
- گواه بر مفهوم (PoC)
- گواه بر موقعیت (PoL)
- گواه بر سوزاندن (PoB)
اهمیت اجماع بلاک چین
قبل از بررسی اجماع باید با بلاک چین و طرز کار آن آشنا شویم. در مقالهی بلاک چین چیست بهطور کامل به مبحث بلاک چین و کارکرد آن پرداختهایم؛ اما در ادامه، بهطور خلاصه نحوهی کار بلاک چین را بازبینی میکنیم.
دو خصوصیت مهم بلاک چین، تمرکززدایی و تاریخچهی غیر قابل تغییر است. بلاک چین، پایگاه داده توزیعشدهای است که کامپیوترهای موجود در شبکه، یا همان گرهها (نودها)، به شکل مشترکی در آن نگهداری میشوند. همه گرهها، دفتر کل کاملی هستند که کل سوابق تراکنشها را در بلاک چین محفوظ نگه میدارند. از این رو به فناوری آن، «شبکه دفتر کل توزیعشده» (DLT)، گفته میشود. این شبکه پایدار است و با خارج کردن هرکدام از سرورهای مرکزی از بین نمیرود.
سوابق بلاک یا بهاختصار، همان «بلاک»، از طریق پروتکلی به هم پیوند داده میشوند و هیچ کدام قابل حذف یا تغییر نیستند. افزودن بلاکی جدید، تنها راه بهروزرسانی بلاک چین است و هر گره، میتواند بدون اجازهی مرجع مشخصی، این کار را انجام بدهد.
اگر گرهای بدون در نظر گرفتن استانداردهای از پیش تعیینشده بلاکی ایجاد کند، آن بلاک توسط گرههای دیگر نادیده گرفته میشود؛ اما اگر گره ناسازگار همچنان (برخلاف استانداردها)، بلاک ایجاد کند و چند گرهی دیگر نیز با تکیه به آن بلاک، شروع به ایجاد بلاک کنند، در جامعه اختلاف به وجود میآید و جامعه میتواند برای برگرداندن وضعیت شبکه به شرایط قبلی، هاردفورک (بهروزرسانی، ایجاد تغییراتی یا تعریف نسخهای جدید از بلاک چین)، انجام بدهد؛ اما هاردفورکهای مکرر، بر پایداری شبکه تأثیر میگذارند. برای جلوگیری از ایجاد چنین گرههای ناهمگونی که باعث هاردفورک مکرر میشوند، یک مکانیسم اجماع لازم است.
همچنین ممکن است گرههای مخربی با استفاده از حملهی انکار سرویس توزیعشده (DDoS)، بر دیگر گرههای شبکه غلبه کنند و باعث ایجاد تراکنش اشتباه شوند: بهعنوان مثال، دو بار خرج کردن (Double-Spend) که در آن یک رمزارز دو بار خرج میشود. برای جلوگیری از این اتفاقات، سازوکار اجماع لازم است.
ابتدا نگاهی کامل به مطرحترین سازوکارهای اجماع یعنی گواه بر کار (PoW) و گواه بر سهام (PoS)، خواهیم انداخت و در ادامه چند سازوکار شناختهشدهی دیگر را بهطور مختصر، معرفی خواهیم کرد.
گواه بر کار (Proof of Work - PoW) و گواه بر سهام (Proof of Stake - PoS)، پروتکلهای پیشگامی هستند که اغلب بهعنوان نمونههای اولیه، برای سایر پروتکلهای اجماع مدرن عمل میکنند.
هر دوی این مدلها «سازوکارهای اجماع» نامیده میشوند و نیاز فعلی برای تأیید تراکنشهای انجامشده در بلاک چین، بدون نیاز به حضور شخص سوم هستند.
اصول گواه بر کار و اصول گواه بر سهام
هنگامی که ساتوشی ناکاموتو در حال ساخت اولین رمزارز (بیت کوین) بود، برای تأیید تراکنشها بدون نیاز به شخصی ثالث، پروتکل گواه بر کار را ایجاد کرد. اساساً هدف از ایجاد این پروتکل، اطمینان از اعتبار تراکنش و رخ ندادن حمله بوده است.
گواه بر کار بر اساس مدل پیشرفتهای از ریاضیات به نام رمزنگاری طراحی شده است و به همین دلیل سکههای دیجیتال مانند بیت کوین یا اتریوم، رمزارز نامیده میشوند. معادلات ریاضی رمزنگاری به خاطر پیچیدگی، تنها به وسیلهی کامپیوترهای قدرتمند قابل حل هستند و هیچ معادلهای یکسان نیست؛ به همین دلیل وقتی معادلهای حل شد، شبکه میداند تراکنش معتبر است.
بسیاری از بلاکچینها، کد اصلی بیت کوین را کپی کردهاند و به همین دلیل، الگوریتم مورد استفادهشان نیز گواه بر کار است. این الگوریتم اختراعی شگفتانگیز محسوب میشود؛ اما بههیچوجه کامل نیست و نهتنها مصرف برق بسیار بالایی دارد، بلکه تعداد تراکنشهای همزمان ممکن در آن بسیار محدود است؛ به همین دلیل سازوکارهای اجماع دیگری ایجاد شدند که یکی از مشهورترین آنها، مدل گواه بر سهام است.
الگوریتم گواه بر سهام، برای اولین بار در سال ۱۳۹۱ (۲۰۱۲)، توسط دو توسعهدهنده به نامهای اسکات نادال و سانی کینگ ساخته شد. در زمان راهاندازی، بنیانگذاران آن انرژی مصرفی روزانه برای استخراج بیت کوین، با استفاده از الگوریتم گواه بر کارش را معادل صد و پنجاه هزار دلار تخمین زدند.
تا به امروز این رقم به میلیونها دلار رسیده است. اولین پروژهی بلاک چینی که از الگوریتم گواه بر سهام استفاده کرد، پیرکوین (Peercoin) بود. مزایای اولیهی این الگوریتم شامل سیستم استخراج عادلانهتر و برابرتر، تراکنشهای مقیاسپذیرتر و اتکای کمتر به برق بود.
دومین رمزارز مطرح جهان، اتریوم، به خاطر همین مزایا در تلاش برای تغییر الگوریتم خود از گواه بر کار به گواه بر سهام است. تاریخ این انتقال هنوز تأیید نشده؛ اما تیم توسعهدهندهی آن برای این هدف بهسختی تلاش میکند.
انتخاب گواه بر کار و انتخاب گواه بر سهام
مهمترین رمزارزی که از گواه بر کار استفاده میکند، بیت کوین است. با هر بار ارسال تراکنش، تأیید شبکه حدود ۱۰ دقیقه طول میکشد. علاوه بر این، بلاک چین بیت کوین فقط میتواند حدود ۷ تراکنش در ثانیه انجام بدهد و از زمان شروع این پروژه در سال ۱۳۸۸ (۲۰۰۹)، این امر، به مقدار قابل توجهی، منجر به افزایش هزینهی تراکنشها شده است. بهعنوان مثال، کارمزد تراکنشهای بیت کوین در ابتدا مبلغ بسیار کمی (کمتر از یک سنت)، بود و انتقال مقادیر کم را بهراحتی امکانپذیر میکرد؛ اما با نگاهی به نمودار زیر، متوجه میشویم که این مبلغ برای هر تراکنش در شلوغترین دورهی خود (آذر ۱۳۹۶ - دسامبر ۲۰۱۷) تا ۴۰ دلار افزایش یافت.
این هزینهها از آن زمان کاهش یافته است؛ اما همچنان بهعنوان یک سیستم پرداخت جهانی، بسیار بالا است و مهمترین دلیل آن، عمدتاً به محدودیتهای الگوریتم گواه بر کار مربوط میشود.
اتریوم نیز از این الگوریتم استفاده میکند. جالب اینجا است که تیم توسعهدهندهی آن با چند تغییر در کد اصلی، زمان لازم برای پردازش هر تراکنش را به ۱۶ ثانیه رساند. این زمان هنوز بهینه نیست؛ اما بهمراتب سریعتر از ۱۰ دقیقهی بیت کوین است.
مشکلات مقیاسپذیری گواه بر کار در بیت کوین، برای اتریوم نیز دردسرساز است. حداکثر تعداد تراکنشهایی که بلاک چین اتریوم میتواند پردازش کند، ۱۵ تراکنش در ثانیه است که باز هم خیلی کمتر از نیاز شبکه است. تاریخ انتقال الگوریتم اتریوم به گواه بر سهام هنوز رسمی نیست؛ اما امید است که بعد از انتقال، این تعداد به هزار پردازش در ثانیه افزایش پیدا کند.
دقیقاً مانند اتریوم، بلاک چینهای دیگر نیز با تغییر الگوریتم گواه بر کار بهنوعی که از روند اعتبارسنجی تراکنش پشتیبانی کند، از نسخهی تغییریافتهی آن استفاده میکنند. از دیگر بلاک چینهای مشهور با این الگوریتم، میتوان به بیت کوین کش (Bitcoin Cash) و لایت کوین (Litecoin) اشاره کرد.
از طرف دیگر، اکنون برخی از رمزارزهای محبوب از الگوریتم گواه بر سهام استفاده میکنند. یکی از آنها دش (Dash) است که به کاربر، تنها در عرض چند ثانیه اجازهی ارسال و دریافت وجه میدهد. بلاک چین معروف دیگر، نئو (NEO - معروف به اتریوم چینی) است که از زمان راهاندازی در سال ۱۳۹۵ (۲۰۱۶)، ارزش کوینهای خود را بیشتر از صد هزار درصد افزایش داده است!
چگونگی تأیید تراکنشها در الگوریتم گواه بر کار
بلاک چینهای زیادی از الگوریتم گواه بر کار استفاده میکنند و روند کار این الگوریتم، در همهی این ارزهای دیجیتال مشابه است. در زیر برای مثال از رمزارز بیت کوین استفاده میکنیم:
قبلاً اشاره شد که تراکنشهای بیت کوین، برای تأیید شدن به ده دقیقه زمان نیاز دارند. در این ده دقیقه، یک بلاک جدید ایجاد میشود.
هر بلاک، شامل تراکنشهای مختلفی است که باید بهطور مستقل تأیید شوند. برای دستیابی به این هدف در شبکهی بیت کوین بدون حضور شخص ثالث، کسی باید از قدرت محاسباتی خود برای حل الگوریتم رمزنگاری استفاده کند. پس از این تأیید، تراکنش معتبر شناخته و برای مشاهدهی همه در بلاک چین عمومی ارسال میشود. سؤالی که مطرح میشود این است: چرا کسی فقط برای کمک به تأیید تراکنشهای بیت کوین، علاوه بر خرید سختافزار، برق زیادی مصرف میکند.
سادهترین پاسخ این است که در عوض این تلاش کاربرها، بهعنوان پاداش، بیت کوین (یا هر رمزارز دیگر که به تأیید الگوریتم گواه بر کار برسد)، دریافت میکنند. نکته مهم و قابل توجه این است که همه جایزه نمیگیرند. هزاران دستگاه مستقل برای پیشی گرفتن در حل الگوریتم با هم رقابت میکنند و هر کس که سریعتر موفق شود، پاداش دریافت میکند. به همین دلیل، الگوریتم گواه بر کار را ناعادلانه میدانند؛ چرا که کاربرانی با سختافزار قدرتمندتر و طبیعتا گرانتر، شانس بیشتری برای برنده شدن دارند.
به دلیل نحوهی ایجاد معادلات، تنها راه برای حل آنها، روش آزمون و خطا است.
معادله: ۷+۵؟
پاسخ: ۱۲
بین ماینر ۱ و ماینر ۲، برنده کسی است که اول جواب را پیدا کند.
ماینر شمارهی ۱ در تلاش اول خود به پاسخ ۱۰ میرسد، در دومین تلاش به عدد ۱۳ و در تلاش سوم به عدد ۹. همهی این پاسخها نادرست هستند.
ماینر شمارهی ۲ در تلاش اول خود به پاسخ ۱۷ میرسد، در دومین تلاش به عدد ۸ و در تلاش سوم به عدد ۱۲. دو پاسخ اول نادرست هستند و در تلاش سوم به پاسخ درست میرسد.
با توجه به مثال بالا، ماینر شمارهی ۲ زودتر به پاسخ صحیح رسید و پاداش به او میرسد. در دنیای واقعی، کامپیوترها میتوانند در ثانیه، میلیونها ترکیب مختلف را حدس بزنند که این کار با مصرف مقدار زیادی برق همراه است.
هرچه سختافزار مورد استفاده قدرتمندتر یا تعداد سختافزارها بیشتر باشد، شانس بالاتری برای حل معادله وجود دارد و همین امر، ناعادلانه بودن این سیستم را نشان میدهد.
چگونگی تأیید تراکنشها در الگوریتم گواه بر سهام
الگوریتم گواه بر سهام، از فرایند متفاوتی برای تأیید تراکنشها و اجماع استفاده میکند. پایهی الگوریتم، همان رمزنگاری است؛ اما فرایند رسیدن به پاسخ تفاوت دارد.
در سیستم گواه بر کار، ماینر برای حل معادلات پیچیده پاداش دریافت میکند؛ اما در سیستم گواه بر سهام، هر فرد بسته به مقدار سهمی که در شبکه به اشتراک میگذارد، میتواند بلاک بعدی را ایجاد کند. برای توضیح سادهتر، سهم هر فرد بر اساس تعداد کوینهایی که او در بلاک چین سرمایهگذاری میکند، در نظر گرفته میشود.
از نظر فنی در این سیستم، عملی که کاربر انجام میدهد، بهجای استخراج، فورج (Forge) میخوانند؛ چرا که پاداش بلاک در کار نیست و ماینرها تنها کارمزد تراکنشها را دریافت میکنند. در این روش تعداد واحدهای رمزارز مورد نظر هرگز تغییری نمیکند؛ چرا که از قبل استخراج شدهاند و به همین دلیل به ماینرها در این روش، فورجر (Forger) یا تأییدکننده هم میگویند.
چگونگی تأیید موفقیتآمیز تراکنش از سمت فورجرها، به این صورت است که در وهلهی اول برای داشتن امکان اعتبارسنجی تراکنشها، کاربر باید کوینهای خود را در ولت مشخصی قرار بدهد. این ولت، کوین را بهعنوان سرمایهی به اشتراک گذاشتهشده، بلوکه میکند. بیشتر بلاک چینهای مبتنی بر گواه بر سهام، مقدار حداقلی کوین برای این کار مشخص میکنند که معمولا مقداری قابل توجه است.
بهعنوان مثال، برای تأیید تراکنشهای شبکهی دش (Dash) باید حداقل هزار کوین این رمزارز بلوکه شود. در آذر ۱۳۹۶ (دسامبر ۲۰۱۷)، زمانی که این رمزارز به بالاترین نرخ خود رسیده بود، معادل یک و نیم میلیون دلار در دنیای واقعی ارزش داشت.
جدای از حداقل کوین مورد نیاز در ولت برای بلوکه شدن، احتمال برنده شدن به درصد دارایی کوینهای هر فرد مرتبط است. برای مثال:
فردی با هدف به دست آوردن پاداش، تصمیم میگیرد مقداری کوین در بلاک چین به اشتراک بگذارد. فرض کنیم کوینهای در گردش در این بلاک چین در کل، هزار کوین باشد. فرد مورد نظر صد عدد کوین در اختیار بلاک چین قرار میدهد؛ این یعنی ده درصد از کل سکههای در گردش را ذخیره کرده و شانس برنده شدنش ده درصد است.
بنابراین الگوریتم گواه بر کار برای استخراج به تلاش همهی ماینرها برای حل معادلات نیاز دارد و فردی که قدرتمندترین یا بیشترین تعداد سختافزار را داشته باشد، برنده خواهد بود؛ درحالیکه الگوریتم گواه بر سهام، برنده را بهصورت تصادفی و با توجه به مقدار کوین هر فرد در بلاک چین انتخاب میکند.
مهمترین نظریهای که از الگوریتم گواه بر سهام حمایت میکند، این است که سهامداران آن با انجام صحیح کارها میتوانند به حفظ امنیت شبکه کمک کنند.
اگر تاییدکنندهای با انجام تراکنش مخرب سعی در هک شبکه داشته باشد، کل دارایی خود را از دست میدهد.
این مهمترین دلیل برای کارکرد خوب این الگوریتم است. سهام بیشتر، درآمد بیشتری به همراه دارد؛ در عین حال، حرکت برخلاف جهت سیستم باعث از دست دادن دارایی خواهد شد.
مقایسهی الگوریتم گواه بر کار با الگوریتم گواه بر سهام
بسیاری معتقدند که مدل گواه بر سهام، عملکردی بهتری از مدل گواه بر کار دارد؛ چرا که بسیاری از مشکلات را از بین میبرد.
تمرکز
همانطور که گفته شد، در الگوریتم گواه بر کار افراد دارای سختافزار قدرتمند، شانس بیشتری برای پاداش گرفتن خواهند داشت. نتیجهی این امر این است که سازمانهای متمرکز، هزاران دستگاه (معروف به اسیک - ASIC)، با بالاترین قدرت استخراج خریداری میکنند. به این کار ایجاد استخر ماینینگ میگویند و به افراد اجازه میدهد با استفادهی یکجا از دستگاههای خود شانسشان را برای استخراج بالا ببرند.
با همین روش، امروز بیشتر از پنجاه درصد از کل توان استخراج بیت کوین در اختیار تنها چهار استخر ماینینگ در جهان است؛ که اکثر آنها به خاطر نرخ پایین قیمت برق، در چین واقع شدهاند. ناعادلانه بودن این سیستم از آن جهت است که با این روند، یک فرد عادی عملا هیچ شانسی برای برنده شدن پاداش استخراج ندارد. تفاوت عملکرد الگوریتم گواه بر سهام به این شکل است که این مدل از پیوستن افراد در قالب گروه، برای تسلط بر شبکه به جهت کسب سود جلوگیری میکند و افراد با قرار دادن سکههای خود در شبکه، متناسب با مقداری که سرمایهگذاری کردهاند، پاداش میگیرند.
مصرف برق
گفتیم که برخی از بلاک چینهای مبتنی بر الگوریتم گواه بر کار مانند بیت کوین، به خاطر پیچیدگی معادلات مصرف برق بالایی دارند. طبق تحقیقی، برق مورد نیاز برای بقای عملکرد شبکهی بیت کوین بیش از مقدار برق مصرفی بیش از ۱۵۹ کشور است!
این مصرف علاوه بر اینکه به ضرر محیط زیست است، روند ایجاد رمزارزها را نیز کاهش میدهد؛ چرا که هزینهی برق مصرفی باید با ارز اعتباری (ارز بدون پشتوانه) پرداخت شود!
درحالیکه در الگوریتم گواه بر سهام، نیازی به حل معادلات بسیار پیچیده نیست و هزینهی برق مصرفی برای بررسی و اعتبارسنجی تراکنشها بسیار پایینتر است.
حملهی ۵۱ درصد
منظور از حملهی ۵۱ درصد، واقعهی ناخوشایندی است که طی آن، گروه یا فردی بیش از ۵۰ درصد از کل قدرت استخراج را به دست میآورد و در نتیجه میتواند تغییراتی در بلاکی خاص ایجاد کند. حال اگر این فرد مجرم باشد، میتواند بلاک را به سود خود تغییر بدهد.
نمونهای اخیر از حملههای ۵۱ درصد، علیه بلاک چین ورج (Verge) اتفاق افتاد که طی آن، هکر ۳۵ میلیون سکهی XVG (رمزارز ورج) را از آن خود کرد. در زمان این حمله، ارزش واقعی این ارز دیجیتال ۱٫۷۵ میلیون دلار بود!
در سازوکار اجماع گواه بر سهام، تلاش برای انجام حملهی ۵۱ درصد منطقی نیست؛ چرا که برای دستیابی به آن، فرد مخرب باید حداقل ۵۱ درصد از کل رمزارزهای گردش را به دست آورد. تنها راه انجام این کار، خرید سکه در بازار آزاد است که در جریان این کار، ارزش سکه در دنیای واقعی افزایش پیدا میکند و در نهایت باید مقدار قابل توجهی بیش از آنچه میتوان از حمله به دست آورد، هزینه کرد. علاوه بر این، زمانی که بقیه اعضای شبکه متوجه موضوع شوند، این فرد همه سهام خود را از دست خواهد داد!
بعد از این همه نکوهش سیستم گواه بر کار و تعریف از الگوریتم گواه بر سهام، معایب الگوریتم گواه بر سهام را نیز بررسی میکنیم:
معایب الگوریتم مدل گواه بر سهام
اولین دغدغه هنگام بحث در مورد برتری الگوریتم گواه بر سهام در مقابل گواه بر کار، این است که برخی از افراد معتقدند مدل گواه بر سهام به ثروتمندتر شدن ثروتمندان کمک میکند. چرا که هرچه توانایی خرید سکه بیشتر باشد، درآمد حاصل از سکههای قرار دادهشده در بلاک چین بیشتر خواهد بود؛ یعنی اگر فردی پول کافی و لازم برای قرار دادن در شبکه داشته باشد که معمولا ندارد، بازگشت سرمایهی بسیار خوبی خواهد داشت. افراد با پول بیشتر، همیشه شانس بیشتری برای دریافت پاداش خواهند داشت و ثروتمندان، ثروتمندتر خواهند شد. این عیب در این الگوریتم با مشکل گفتهشده دربارهی الگوریتم گواه بر کار تفاوت چندانی ندارد: ماینرهای ثروتمند میتوانند بهسادگی هزاران دستگاه اسیک بخرند.
دومین نگرانی دربارهی الگوریتم گواه بر سهام، توانایی تأیید تراکنشها در چندین زنجیره توسط افراد است که طی آن، احتمال انجام حملهی دابل-اسپند، قدرت میگیرد. در این نوع حمله، فرد خرابکار موفق میشود بعد از انتقال وجه و قبل از تأیید آن، یک بار دیگر وجه را خرج کند. در شرایط عادی، سایر ماینرها با مشاهدهی این موضوع از چنین تلاشی جلوگیری میکنند. البته در سیستم گواه بر کار، تنها دستگاهها امکان استخراج روی زنجیره دارند؛ در آن صورت زنجیرهی خاطی بهسادگی حذف خواهد شد.
از طرف دیگر در مدل گواه بر سهام، فورجرها هزینهای برای استخراج از چندین زنجیره صرف نمیکنند که همین امر، احتمال حملهی دابل-اسپند را افزایش میدهد.
نتیجهگیری مقایسهی الگوریتم گواه بر کار با گواه بر سهام
الگوریتم گواه بر کار روش فعلی استخراج اتریوم، بیت کوین، دش و برخی رمزارزهای دیگر و شامل مشکلاتی مانند مصرف زیاد برق، متمرکز بودن قدرت در استخرهای استخراج و نگرانی برای حمله ۵۱ درصد است. در گواه بر کار، هرچه توان محاسباتی بالاتر باشد، شانس افزودن بلاک بیشتر میشود و موفقیت در گروی سیستم قویتر است؛ اما در گواه بر سهام، برای موفقیت بیشتر به پول بیشتری در سیستم نیاز داریم. در حقیقت انتخاب بین دو الگوریتم گواه بر کار و گواه بر سهام، همیشه بحثبرانگیز است و هرکدام موافقان و مخالفان خود را دارند.
در ادامه به معرفی چند الگوریتم مطرح اجماع دیگر میپردازیم:
گواه بر سهام واگذارشده (DPoS)
الگوریتم گواه بر سهام واگذارشده (Delegated Proof of Stak - DePoS)، یکی از انواع الگوریتم گواه بر سهام است که در آن بلاکها توسط نمایندگان منتخب امضا میشوند. افراد با بیشترین موجودی، نمایندگان خود را انتخاب میکنند که هرکدام حق امضای بلاک در شبکهی بلاک چین دارند. هر نماینده با یک یا چند درصد از کل آرا بسته به تعداد سکههایش، وارد «شورا» میشود و نمایندهی بعدی که بلاک بعدی را امضا میکند، از آن شورا انتخاب خواهد شد.
اگر نماینده به هر دلیلی نوبت خود را در امضای بلاک از دست بدهد، از آرای واگذارشده محروم میشود و شورا را ترک میکند و کاندیدای مناسبتری بهجای او انتخاب میشود. با واگذاری حق انتخاب، صاحبان حساب، کنترل خود را از دست نمیدهند و هر زمان که بخواهند میتوانند این حق را پس بگیرند.
در این الگوریتم، صاحبان حساب میتوانند بدون واگذاری منابع واقعی، تنها حق رأی خود را واگذار کنند. آنها شانس برداشت سود بیشتری از مالکیت خود خواهند داشت و برخلاف الگوریتم گواه بر سهام، در این الگوریتم، با کاهش تعداد اعتبارسنجها و کارهای غیر ضروری، بلاکها با سرعت بالاتری ایجاد و تراکنشها با هزینهی کمتری انجام میشوند. هر بلاک جدید، هر ۱ یا ۲ ثانیه یک بار ایجاد میشود که در مقایسه با گواه بر سهام، سریعتر و منصفانهتر است.
گواه بر زمان سپریشده (PoET)
در این الگوریتم بلاکها در محیطی قابل اعتماد با دورههای برابر ایجاد میشوند. گواه بر زمان سپری شده (Proof of Elapsed Time - PoET)، مکانیسم اجماعی است که در شبکههای بلاک چین دارای مجوز، برای تصمیمگیری حقوق استخراج یا برندههای بلاکها در شبکه استفاده میشود. هر گره، در شبکه زمان انتظار تصادفی ایجاد میکند و برای آن زمان مشخص به خواب فرو میرون. هر کدام از گرهها که زودتر بیدار شود، وظیفهی ایجاد بلاک جدید در شبکه و خبررسانی دربارهی اطلاعات مورد نیاز برای شبکهی همتای کلی را به عهده دارد.
این الگوریتم، باید از تصادفی بودن مدت زمان انتخابی، مطمئن شود. همچنین گذراندن مدت زمان لازم، برای هر گره اجباری است.
الگوریتم گواه بر زمان سپری شده، در اواخر سال ۱۳۹۵ (اوایل سال ۲۰۱۶)، توسط شرکت اینتل، ایجاد شد و به الگوریتم گواه بر کار، شباهت زیادی دارد، با این تفاوت که مصرف برق کمتری با آن دارد. گرهها در زمان استراحت خود، میتوانند به کارهای دیگر رسیدگی کنند و هزینهها بسته به نسبت ارزش هر پردازش متفاوت است.
تحمل خطای بیزانس (BFT)
خطای بیزانس ژنرالها در سال ۱۳۶۱ (۱۹۸۲ میلادی)، توسط Leslie Lamport، Robert Shostak و Marshall Pease مطرح و الهام بخش مفهوم تحمل خطای بیزانس شد. راهحل تحمل خطای بیزانس در سیستمهای کامپیوتری و دنیای ارزهای دیجیتال کاربرد دارد.
برای آشنایی بهتر با خطای بیزانس مطرح شده، شرایطی را تصور کنید که چندین ژنرال بیزانس اطراف محل استقرار دشمن اردو زدهاند و تنها راه ارتباطی برای تصمیمگیری جمعی در مورد حمله یا عقبنشینی، ارسال پیام است. حال اگر برخی از ژنرالها خیانتکار باشند و در جهت عدم رسیدن به اجماع تلاش کنند و پیامهای خرابکارانهای ارسال کنند یا مانع رسیدن پیامها به برخی ژنرالهای دیگر شوند، چگونه میتوان سیستمی ایجاد کرد که بدون دانستن اینکه کدام ژنرال خائن است به برنامهی عملی مشترک برای اجماع بین ژنرالهای وفادار رسید؟
تجزیه و تحلیل دقیق این مسئله نشان میدهد که تنها در صورت وفاداری بیش از دو سوم ژنرالها، میتوان به چنین الگوریتمی رسید. ارزهای دیجیتال غیرمتمرکز مانند بیت کوین در واقع سیستمهای کامپیوتری توزیع شدهای شامل شبکهی نودهای منفرد هستند که توسط افراد یا سازمانهای مستقل اداره میشوند. این افراد یا سازمانها برای پردازش تراکنشها و اضافه کردن آنها به انتهای بلاک چین با هم رقابت میکنند.
با مستقل بودن نودها از هم (یا هر مرجع اصلی دیگری) و متفاوت بودن محل جغرافیایی آنها، شناسایی نودی که بهطور تصادفی یا از روی قصد اطلاعات معیوب دربارهی تراکنشها ارائه میکند، غیرممکن است.
تحمل خطای بیزانس راهحلی برای غلبه بر این مشکل پیشنهاد میدهد که طی آن میتوان بدون توجه به اینکه برخی نودها عملکردی مخرب دارند، به اجماع رسید. این الگوریتم از طریق راهحلهای فنی مانند الگوریتم گواه بر کار بیت کوین حاصل میشود، به شرطی که حداقل دو سوم نودها به سیستم وفادار باشند.
گواه بر ظرفیت (PoC) یا گواه بر فضا (PoS)
برست کوین (Burst coin)، اولین پلتفرم بلاک چینی بود که از این الگوریتم گواه بر ظرفیت (Proof of Capacity - PoC) پشتیبانی کرد. پس از آن رمزارزهای دیگر مانند چیا از این اجماع استفاده کردند. روش کار آن به شرح زیر است:
هر ماینر، مقدار زیادی داده محاسبه میکند که در زیرسیستم دیسکِ گره (هارددیسک، فضای ذخیرهی ابری یا سایر موارد) ضبط میشود. به این مجموعهی داده اولیه در الگوریتم گواه بر ظرفیت، فضا (Space) گفته میشود.
به ازای هر بلاک جدید در بلاک چین، ماینر، یک مجموعه دادهی کوچک برابر با ۱٫۴۰۹۶، (تقریبا بیست و چهار هزارم درصد از تمام دادههای ذخیرهشده) را میخواند. سپس نتیجه (مهلت) را با گذشت زمان از ایجاد آخرین بلاک برمیگرداند و پس از آن ماینر میتواند یک بلاک جدید ایجاد کند. ماینری که حداقل مهلت زمانی را دریافت کند، بلاک را امضا و پاداش معاملات را دریافت میکند.
بنابراین منابع محاسباتی مورد نیاز برای این کار، با زمان لازم برای خواندن فایلها از زیرسیستم دیسک محدود میشود. این اصلیترین فاکتوری است که اجازه میدهد استخراج با بازده انرژی نسبتاً بالا انجام شود. رقابت ماینرها نه بر سر سرعت تجهیزات (مانند الگوریتم گواه بر کار)، بلکه بر سر مقدار دادههای ذخیرهشده است.
گواه بر ظرفیت (Proof of Space - PoS) با اختلاف قابل توجهی، مشابه گواه بر کار است و به جای انجام کار زیاد برای تأیید هر بلاک، کار از قبل توسط پردازشی به نام پلاتینگ (رسم کردن) انجام شده است و نتایج حاصل از این فرایند، بعداً برای تأیید هر بلاک استفاده میشود.
پلات کردن، روند تولید فایلهای خاصی به نام «پلات فایل» است که تعداد زیادی از هشهای از پیش محاسبهشده را ذخیره میکند. کوتاهترین راهحل برای الگوریتم استخراج، حق استخراج بلاک بعدی را میدهد. این الگوریتم کارآمد، ارزان و توزیعشده است.
گواه بر مفهوم (PoC)
الگوریتم گواه بر مفهوم (Proof of Concept - PoC) در هر زمینهای از جمله ردیابهای رأیگیری، ثبت ذخیرهسازی، اسناد قانونی و ... استفاده میشود. گواه بر مفهوم میتواند نمونهی اولیهای بدون هیچ کدی برای پشتیبانی یا حداقل محصول قابل ارائهی (MVP)، دارای مجموعه ویژگیهای پایه باشد. این الگوریتم مدلی است که برای یک سازمان داخلی، با هدف درک بهتر پروژهها مورد استفاده قرار میگیرد. پروتکلهای اجماع، بخش جداییناپذیری از سیستمهای توزیعشده هستند و برای دستیابی به عدالت و جلوگیری از خرابی سیستم - در صورت خرابی یکی از گرهها - کمک میکنند. علاوه بر آن، محیطی غیر متمرکز (حتی در محیطی که اعتمادی وجود ندارد) به راهحلهایی برای پیشرفت و تغییر وضعیت عمومی نیاز دارد که این قوانین خاص، برای دستیابی به «اتفاق نظر» کمک میکنند.
گواه بر موقعیت (PoL)
گرهها در حالت همگام شده، نشانگذاری میشوند و حضورشان بهصورت موقتی علامتگذاری میشود. الگوریتم گواه بر موقعیت (Proof of Location - PoL) ایمن کردن یک موقعیت جیپیاس خاص و در نتیجه، احراز هویت کاربران در شبکه را امکانپذیر میکند. الگوریتم گواه بر موقعیت با ضبط نشانگرهای موقعیت جغرافیایی و زمانی در بلاک چین، باعث جلوگیری از اختلالات و تقلب در سیستم میشود.
گواه بر سوزاندن (PoB)
در الگوریتم گواه بر سوزاندن (Proof of Burn - PoB) ماینر کوینها را به آدرس تصادفی هش تولیدشده میفرستد. مصرف کوینهای منتقلشده به این آدرس اساساً غیر ممکن است؛ چرا که احتمال کشف کلید خصوصی آن صفر است. با سوزاندن کوینها، ماینر فرصتی پیدا میکند تا بلاکی از این الگوریتم را پیدا کند و برای آن جایزه بگیرد. شانس استخراج این بلاک جدید، با افزایش تعداد کوینهای سوخته افزایش پیدا میکند. از نظر اقتصادی، میتوان سوزاندن کوین را معادل خرید یک ریگ استخراج دانست. واضح است که استفاده از چنین الگوریتمی در مراحل ابتدایی رمزارزها کاربردی نیست؛ چرا که چیزی برای سوزاندن در آن مراحل وجود ندارد.
نکتهی جالب این است که این روش برای انتقال رمزارز «قدیمی» به «جدید» عالی عمل میکند. برای مثال، وقتی رمزارزی قدیمی در مرحلهی پایانی استخراج خود باشد، استفاده از این الگوریتم برای سوزاندن رمزارز قدیمی و انتقال به رمزارز جدید کاربرد دارد. در پلتفرم اسلیم کوین (Slimcoin)، از الگوریتم گواه بر سوزاندن استفاده میشود.
رقابت در ارائهی پروتکلها و الگوریتمهایی که آیندهی استخراج رمزارزها را تعریف میکنند، در آغاز راه است و هیچکس نمیتواند تعیین کند که کدام موفقتر خواهد بود؛ چرا که راهحلهای اتخاذشده مدام در حال پیشرفت هستند؛ اما تلاش تیم توسعهدهندهی اتریوم برای تغییر روش اصلی نحوهی استخراج این رمزارز تا حدودی برتری مکانیسم گواه بر سهام را مشخص میکند.
در جهان بلاک چینها، الگوریتمهای اجماع زیادی برای انتخاب وجود دارند که دو الگوریتم گواه بر کار و گواه بر سهام معرفیشده، پیشروترین آنها هستند.