بررسی انواع الگوریتم اجماع و مزایا و معایب آن ها


تمام تراکنشهایی که در بلاکچین انجام میشوند، در سیستمی بهنام دفتر کل توزیعشده (DLT) ذخیره میگردند؛ بهطوریکه هر گره در شبکه، یک نسخه از این دفتر کل را در اختیار دارد. از آنجایی که بلاکچین ذاتاً غیرمتمرکز است، معمولاً این پرسش پیش میآید که چگونه این گرهها بدون وجود یک مرکز کنترل، با یکدیگر هماهنگ میشوند تا شبکه دچار بینظمی نشود؟ برای پاسخ به این سؤال، باید ابتدا با مفهوم کلیدی «الگوریتمهای اجماع» آشنا شویم.
الگوریتمهای اجماع، ستون فقرات هماهنگی در میان گرهها هستند و وظیفه آنها جلوگیری از خطا، حفظ انسجام اطلاعات و محافظت از امنیت شبکه است. علاوه بر این، شاخصهایی مانند سرعت پردازش، پایایی و توان مقیاسپذیری در بلاکچین، ارتباط مستقیمی با نوع الگوریتم اجماعی دارند که استفاده میشود. یکی از شناختهشدهترین این الگوریتمها، مکانیزم اثبات کار است که شاید نام آن را شنیده باشید. اما پیش از بررسی انواع الگوریتمهای مورد استفاده، لازم است با خود مفهوم «اجماع» آشنا شوید.
تعریف سادهای از الگوریتم اجماع

در یک بیان ابتدایی، اجماع یعنی رسیدن چند طرف به یک نظر مشترک. پس الگوریتمهای اجماع، مجموعهای از قواعد و مشوقها هستند که کمک میکنند نودهای مختلف در یک شبکه بلاکچینی، با وجود غیرمتمرکز بودن، به توافق برسند. هر بلاکچین، سیستم اجماع خاص خود را دارد. مثلاً در الگوریتم اثبات کار، نودها باید یک مسئله پیچیده رمزنگاری را حل کنند. اولین نودی که موفق به حل آن شود، مجوز ثبت بلاک بعدی را پیدا کرده و پاداش دریافت میکند.
برای درک بهتر، فرض کنید اطلاعات مالی کاربران در شبکه رمزارزها، روی یک دیتابیس مشترک بهنام دفتر کل ذخیره شده است. همه نودها، نسخهای از این پایگاه داده را در اختیار دارند تا مانع از بروز تناقضات شوند. این نسخهها که به آنها لجر (Ledger) گفته میشود، باید پیش از ثبت یک تراکنش جدید، بهروزرسانی شوند. اما ثبت یک تراکنش در لجر نیاز به توافق دارد؛ یعنی باید گرهها در مورد صحت تراکنش همنظر شوند. اینجاست که الگوریتمهای اجماع وارد عمل میشوند.
البته هماهنگ شدن تمام نودها بهصورت دائمی ممکن نیست. در واقع، الگوریتم باید معیاری برای حداقل توافق نیز مشخص کند. مثلاً در شبکه اتریوم، زمانی اجماع تأیید میشود که دستکم دو سوم نودها روی یک نتیجه اتفاق نظر داشته باشند. حالا که مفهوم اجماع را درک کردید، نگاهی به گذشته این الگوریتمها خواهیم داشت.
نگاهی به پیشینه الگوریتمهای اجماع
برخلاف باور عموم، الگوریتمهای اجماع برای اولین بار توسط ساتوشی ناکاموتو معرفی نشدهاند. پایهگذار نخستین نمونه از این الگوریتمها فردی بود به نام آدام بک که در سال ۱۹۹۷ سیستم ابتداییای بهنام هشکش (Hashcash) را معرفی کرد. هدف او مقابله با پیامهای اسپم در ایمیل و انجمنهای اینترنتی بود.
در سال ۲۰۰۲، بک مقالهای با عنوان «هشکش: راهکاری برای مقابله با حملات محرومسازی از سرویس» منتشر کرد. در این مقاله گفته شد که کاربران پیش از ارسال ایمیل باید یک مسئله دشوار را حل کنند تا این فرآیند وقتگیر، ارسال اسپم را کاهش دهد.
اصطلاح «Proof of Work» یا همان اثبات کار نیز برای نخستین بار در سال ۱۹۹۹ توسط مارکوس جیکوبسون و آری جوئلز مطرح شد. بعدها ساتوشی ناکاموتو از همین مفهوم در طراحی بیت کوین استفاده کرد و نسخهای بهروز از الگوریتم PoW را ارائه داد. البته نباید فراموش کرد که پیش از سال ۲۰۰۰ هم الگوریتمهایی مانند «Paxos» و نسخه اولیه تحمل خطای بیزانس (PBFT) وجود داشتهاند.
معرفی مهمترین مدلهای اجماع در بلاکچین

الگوریتمهای اجماع تنوع بالایی دارند و هرکدام بر پایه یک منطق خاص طراحی شدهاند. در این بخش، پرکاربردترین مکانیزمهای اجماع در دنیای بلاکچین را معرفی میکنیم. در کنار هر الگوریتم، مزایا و معایب آن نیز بررسی خواهد شد. ابتدا با الگوریتمی آغاز میکنیم که در بیتکوین به کار رفته؛ یعنی اثبات کار یا PoW.
مکانیزم اثبات کار (PoW) در بلاکچین
الگوریتم اثبات کار یا Proof of Work یکی از قدیمیترین روشهای رسیدن به توافق در بلاکچین محسوب میشود. این الگوریتم نخستین بار توسط ساتوشی ناکاموتو در بیتکوین پیادهسازی شد و اکنون بلاکچینهای دیگری مانند لایت کوین، بیت کوین کش و مونرو نیز از آن بهره میبرند. در این روش از پروتکلهای رمزنگاری مانند SHA-256، Scrypt یا SHA-3 برای تضمین امنیت استفاده میشود.
در الگوریتم PoW، گرههای شبکه که معمولاً به آنها ماینر گفته میشود، باید مسئلههای رمزنگاری پیچیدهای را حل کنند. این مسائل معمولاً با روش آزمون و خطا انجام میشوند و بنابراین نیازمند قدرت پردازشی بالایی هستند. نخستین ماینری که موفق به حل مسئله شود، نتیجه را منتشر میکند و پس از تایید سایر ماینرها، اجازه مییابد بلاک جدید را بسازد و پاداش دریافت کند. خروجی حل مسئله در قالب یک مقدار هش ۶۴ رقمی هگزادسیمال است که در پروتکل SHA-256 به آن هش گفته میشود.
سختی این معماها بهطور خودکار متناسب با قدرت پردازش شبکه تنظیم میشود؛ مثلاً اگر قدرت محاسباتی افزایش یابد، معماها دشوارتر میشوند تا سرعت ایجاد بلاک جدید ثابت باقی بماند. در بیتکوین، بهطور میانگین هر ۱۰ دقیقه یک بلاک جدید ساخته میشود که به این بازه زمانی «زمان بلاک» یا Block Time میگویند.
مزایای اثبات کار
امنیت بالا و مقاومت در برابر حملات ۵۱ درصد به دلیل نیاز به منابع محاسباتی عظیم
تمرکززدایی مطلوب با تشویق گسترده کاربران برای مشارکت در استخراج
پرداخت پاداش به ماینرها بدون نیاز به خرید اولیه ارز شبکه
معایب اثبات کار
مصرف انرژی بسیار زیاد که مشکلات زیستمحیطی به دنبال دارد
محدودیت در مقیاسپذیری و افزایش زمان و هزینه تراکنشها با رشد شبکه
نیاز به سختافزارهای تخصصی و گرانقیمت برای استخراج
الگوریتم اثبات سهام (Proof of Stake یا PoS)
همانطور که قبلاً گفتیم، الگوریتم اثبات کار با محدودیتهایی از جمله مصرف انرژی بالا و کندی تراکنشها روبرو است. به همین دلیل در سال ۲۰۱۱، الگوریتم اثبات سهام مطرح شد تا این مشکلات را کاهش دهد. در PoS، گرههای شبکه به جای ماینر، به اعتبارسنج یا ولیدیتور معروف هستند. این اعتبارسنجها باید مقدار مشخصی از ارز دیجیتال بومی شبکه را به عنوان وثیقه قفل کنند، فرآیندی که به آن استیکینگ (Staking) میگویند.
برای انتخاب اعتبارسنجی که بلاک بعدی را تایید کند، از روشی تصادفی استفاده میشود اما احتمال انتخاب شدن هر اعتبارسنج با میزان و مدت استیک کردن ارز او رابطه مستقیم دارد. اعتبارسنج منتخب میتواند بلاک جدید را بسازد (که به آن مینت کردن میگویند) و به عنوان پاداش کارمزد تراکنشها یا کوین جدید دریافت کند. اتریوم و تزوس از نمونههای شناختهشدهای هستند که از این الگوریتم استفاده میکنند.
مزایای اثبات سهام
امنیت بالاتر در مقابل حملات ۵۱ درصد نسبت به اثبات کار
مصرف انرژی بسیار کمتر و سازگاری با محیط زیست
سرعت بالاتر تراکنشها و مقیاسپذیری بهتر به دلیل حذف نیاز به حل مسائل پیچیده
معایب اثبات سهام
احتمال تسلط سرمایهگذاران بزرگتر بر شبکه که میتواند خلاف اصول غیرمتمرکز باشد
نیاز به مکانیزمهای پیچیده برای انتخاب اعتبارسنجها و مدیریت داراییهای قفلشده
انگیزه انباشت ارز دیجیتال و کاهش فعالیت برخی گرهها
الگوریتم اثبات سهام واگذار شده (Delegated Proof of Stake یا DPoS)
اثبات سهام واگذار شده یا DPoS، نسخهای توسعه یافته از PoS است که به شیوهای نمایندگی شده عمل میکند. در این الگوریتم، تعدادی نماینده یا شاهد (Delegate/Witness) توسط دارندگان ارز دیجیتال شبکه انتخاب میشوند تا تراکنشها را تایید کرده و بلاکها را تولید کنند. این انتخاب از طریق رأیگیری صورت میگیرد که وزن رأی هر شرکتکننده به میزان دارایی استیکشده او وابسته است.
نمایندگان منتخب وظیفه دارند به نفع شبکه عمل کنند و در صورت رفتار غیرقانونی یا خرابکارانه، از موقعیت خود کنار گذاشته میشوند. این سازوکار باعث افزایش امنیت شبکه میشود. پروژههایی مثل ترون و ایاس از DPoS استفاده میکنند.
مزایای اثبات سهام واگذار شده
کنترل مستمر امنیت شبکه با استفاده از مکانیزم رأیگیری
مصرف انرژی و هزینه تراکنش بسیار کمتر نسبت به سایر الگوریتمها حتی PoS
توان بالا در پردازش تراکنشها، از ۲۰۰۰ تا ۸۰۰۰ تراکنش در ثانیه
معایب اثبات سهام واگذار شده
آسیبپذیری نسبی در برابر حملات ۵۱ درصد به دلیل تعداد محدود نمایندگان
احتمال تشکیل گروههای انحصاری یا کارتل توسط نمایندگان
عملکرد ضعیف در شبکههای کوچک با تعداد کاربران محدود
الگوریتم اعتمادسنجی (Proof of Authority)
اثبات اعتبار یا Proof of Authority یکی از الگوریتمهای مبتنی بر اعتبار در بلاکچین است که در آن نیازی به استیک ارز دیجیتال نیست. به جای آن، اعتبار هر گره توسط شبکه به رسمیت شناخته میشود. این گرهها که به آنها اعتبارسنج گفته میشود، با کلید عمومی و شهرتشان قابل شناسایی هستند. انتخاب اعتبارسنجها معمولاً توسط یک نهاد مرکزی یا گروهی مورد اعتماد انجام میشود که براساس اعتبار و توانایی مدیریت شبکه، این افراد را برمیگزینند.
اعتبارسنجهای انتخاب شده مسئول تایید تراکنشها و ایجاد بلاک جدید هستند و برای تشویق آنها، پاداشهایی در نظر گرفته میشود. این مدل معمولاً در شبکههای خصوصی استفاده میشود و نسبت به برخی الگوریتمهای دیگر مثل اثبات سهام، کارایی بهتری دارد. نمونههایی مانند بیتگرت، پالم نتورک و ویچین از این الگوریتم بهره میبرند.
مزایای الگوریتم الگوریتم اعتمادسنجی
سرعت بالای تراکنشها با زمان پیشبینیپذیر
کاهش احتمال حمله به دلیل انتخاب گرههای معتبر
نیاز کم به منابع محاسباتی
معایب الگوریتم الگوریتم اعتمادسنجی
شناسایی آسان اعتبارسنجها که میتواند منجر به دستکاری شود
تمرکز قدرت در اختیار یک نهاد یا گروه مشخص
عملکرد ضعیف در شبکههای بزرگ و عمومی
الگوریتم مبتنی بر شهرت (Proof of Reputation)
برای رفع برخی مشکلات الگوریتم اثبات اعتبار، الگوریتم اثبات شهرت معرفی شده است. در این روش، به شرکتکنندگان شبکه که به آنها امضاکننده بلاک یا کمپانی گفته میشود، امتیاز شهرت تعلق میگیرد. این امتیاز بر اساس عوامل مختلفی مثل تعداد تراکنشهای موفق و میزان مشارکت تعیین میشود. تنها شرکتکنندگانی که امتیاز لازم را کسب کردهاند، اجازه رأی دادن و تایید تراکنشها را دارند.
شبکه گو چین (GoChain) نمونهای شناختهشده است که از این الگوریتم استفاده میکند.
مزایای اثبات شهرت
ایجاد انگیزه برای فعالیت مستمر گرهها
توان مقیاسپذیری بالا
معایب اثبات شهرت
آسیبپذیری در برابر حملات سیبیل
احتمال تبانی میان شرکتکنندگان علیه شبکه
الگوریتم ظرفیت اثباتشده (Proof of Capacity)
این الگوریتم هم مانند اثبات کار مبتنی بر استخراج است اما به جای محاسبات سنگین، از فضای آزاد هارد دیسک استفاده میکند. این روش با هدف کاهش مصرف انرژی در PoW و رفع مشکل انباشت ارز در PoS طراحی شده است. دو فرایند اصلی در PoC وجود دارد: پلاتینگ و ماینینگ.
در پلاتینگ، ماینر با تولید تعداد زیادی نانس، هشها را محاسبه کرده و روی هارد ذخیره میکند. حجم این دادهها به فضای آزاد هارد بستگی دارد. در مرحله ماینینگ، ماینر در این دادهها به دنبال پاسخ معتبر میگردد و در صورت یافتن، آن را به شبکه ارسال کرده و پاداش میگیرد.
هر چه فضای هارد بیشتر باشد، احتمال برنده شدن افزایش مییابد. پروژههایی مانند استورج و چیا از این الگوریتم بهره میبرند.
مزایای الگوریتم ظرفیت
مصرف انرژی بسیار پایین، حتی تا یکسیام PoW
سازگاری با دستگاههای مختلف از جمله اندروید
قابلیت پاکسازی دادهها و استفاده مجدد
عدم نیاز به هارد اختصاصی
معایب الگوریتم ظرفیت
احتمال سوءاستفاده از طریق بدافزارهای استخراج
افزایش تقاضا برای هارد و پیامدهای زیستمحیطی ناشی از آن
پذیرش محدود در بازار
الگوریتم مبتنی بر مکان (Proof of Location)
یکی دیگر از روشهای اجماع در بلاکچین، استفاده از مکان جغرافیایی است. در این الگوریتم، کاربر یا دستگاه باید اثبات کند که در زمان مشخصی در یک موقعیت مکانی معین حضور دارد. برای این کار از تجهیزات خاصی مانند GPS یا سنسورهای ویژه بهره گرفته میشود.
گرههایی که بتوانند موقعیت خود را اثبات کنند، حق شرکت در فرآیند تایید تراکنشها را پیدا میکنند و بر اساس موقعیت جغرافیایی یا نزدیکی به نقاط مشخص، انتخاب میشوند. این الگوریتم در حوزههایی مانند مدیریت زنجیره تأمین کاربرد فراوانی دارد. پروژههایی مثل هلیوم و فوم از این روش استفاده میکنند.
مزایای الگوریتم مکان
امنیت بالا ناشی از استفاده از دادههای جغرافیایی متعدد
کاربردهای گسترده مثل مدیریت زنجیره تأمین، ردیابی کالا و پایش محیطی
معایب الگوریتم مکان
مشکلات مربوط به حریم خصوصی به دلیل جمعآوری دادههای مکانی
دشواری در اعتبارسنجی و دقت موقعیت اعلامشده
الگوریتم اثبات اهمیت (Proof of Importance)
مشکلی که در الگوریتم اثبات سهام وجود دارد، تجمع بیش از حد ارز دیجیتال در دست برخی کاربران است. به همین خاطر، الگوریتمی به نام اثبات اهمیت طراحی شد تا کاربران و گرههای شبکه تشویق به فعالیت بیشتر شوند و از تمرکز بیش از حد ارز جلوگیری گردد. در این سازوکار، گرهها با توجه به میزان مشارکت و تعداد تراکنشهایی که انجام میدهند، امتیازی دریافت میکنند. هر چقدر امتیاز یک گره بالاتر باشد، احتمال انتخاب آن برای تأیید تراکنشها و ساخت بلاک جدید افزایش مییابد.
علاوه بر تعداد و حجم تراکنشها، امتیاز هر گره به موضوع مهمی به نام «وستینگ» هم وابسته است؛ به این معنی که قبل از اینکه گرهها بتوانند تراکنشها را تأیید کنند، باید مقدار مشخصی از ارز بومی شبکه را به مدت زمان معینی قفل کنند. این کار هم تعهد گرهها به شبکه را بالا میبرد و هم جلوی سفتهبازی را میگیرد. پروژه نِم یکی از نمونههای موفق استفاده از این الگوریتم است. در ادامه، برخی مزایا و معایب الگوریتم PoI را مرور میکنیم:
مزایای الگوریتم اثبات اهمیت
کاهش تمرکز کوینها و ترغیب گرهها به فعالیت
جلوگیری از ایجاد شاخههای زیاد در بلاکچین به دلیل الزام به اثبات فعالیت
مصرف انرژی بسیار پایین
معایب الگوریتم اثبات اهمیت
احتمال افزایش نفوذ سرمایهداران بزرگ و متمرکز شدن شبکه
الگوریتم اثبات زمان انتظار (Proof of Elapsed Time)
این الگوریتم که در سال ۲۰۱۶ توسط شرکت اینتل ارائه شد، بر اساس قابلیتهای خاص پردازندههای SGX توسعه یافته است. در PoET، به هر گره به صورت تصادفی یک زمان انتظار اختصاص داده میشود و گرهها تا پایان این زمان «خواب» میروند. اولین گرهای که زمان انتظار آن تمام شود، اجازه ساخت بلاک بعدی را خواهد داشت.
یکی از نکات مثبت این روش، انتخاب تصادفی گرهها است که به عدالت در شبکه کمک میکند. اغلب این الگوریتم در شبکههای مجوزدار استفاده میشود؛ یعنی اعضا باید قبل از پیوستن مجوز بگیرند. هایپرلجر ساتوث نمونهای است که از این الگوریتم بهره میبرد.
مزایای الگوریتم اثبات زمان انتظار
عدالت در انتخاب گرهها
مصرف انرژی پایینتر نسبت به اثبات کار
امنیت بالاتر به دلیل حضور گرههای تایید شده
معایب لگوریتم اثبات زمان انتظار
نیازمند پردازندههای SGX اینتل
وابستگی به فناوری اینتل و احتمال انتقال آسیبپذیریهای آن به شبکه
الگوریتم اثبات سوزاندن (Proof of Burn)
این الگوریتم قصد دارد معایب اثبات کار و اثبات سهام را رفع کند. در PoB، گرهها با سوزاندن مقداری ارز دیجیتال، حق تولید بلاک و تأیید تراکنشها را به دست میآورند. سازنده این روش، آین استورات، کوینهای سوخته را به تجهیزات استخراج ماینینگ تشبیه میکند.
گرهها کوینهای خود را به آدرسی میفرستند که کلید خصوصی ندارد و این کوینها عملاً از چرخه خارج میشوند. این ارز میتواند کوین بومی یا حتی از شبکههای دیگر باشد. هر چه کوین بیشتری بسوزانند، احتمال انتخاب برای تولید بلاک بالاتر میرود.
برای جلوگیری از سوءاستفاده تازهواردها، این الگوریتم از مکانیسم سوزاندن دورهای بهره میبرد؛ به این صورت که با استخراج هر بلاک جدید، قدرت کوینهای سوزانده شده کاهش مییابد و گرهها ملزم به فعالیت بیشتر میشوند. پروژه اسلیم کوین نمونهای است که ترکیبی از PoW، PoS و PoB را به کار میبرد.
مزایای الگوریتم اثبات سوزاندن
کاهش کوینهای در گردش
تشویق تعهد بلندمدت
عدم نیاز به سختافزار پیچیده
معایب الگوریتم اثبات سوزاندن
عدم شفافیت کامل در فرآیند سوزاندن
تأخیر بیشتر نسبت به اثبات کار در تأیید بلاکها
الگوریتم اثبات اعتماد (Proof of Trust)
در این روش، گرهها با توجه به میزان فعالیت و اعتماد کسب شده انتخاب میشوند. هر بار که گرهای تراکنشی را تأیید کند، امتیاز اعتمادش بالا میرود و شانسش برای انتخاب بیشتر میشود. همچنین امتیاز اعتماد با توجه به ارزش تراکنشها تنظیم میشود. اگر گرهای خرابکاری کند، امتیازش کاهش یافته و امنیت شبکه افزایش مییابد.
این الگوریتم برای شبکههای پرداخت همتا به همتا مناسب است. مثلاً در شبکه COTI که از ساختار داده DAG استفاده میکند، الگوریتم اثبات اعتماد با نام Trustchain به کار گرفته شده است. این شبکه قادر است تا صد هزار تراکنش در ثانیه را با کمترین کارمزد پردازش کند.
مزایای الگوریتم اثبات اعتماد
سرعت بسیار بالا و مقیاسپذیری زیاد
افزایش امنیت از طریق تغییر امتیاز اعتماد
معایب الگوریتم اثبات اعتماد
عملکرد الگوریتم در شبکههای بزرگ هنوز کامل مشخص نیست
الگوریتم اثبات تاریخ (Proof of History)
این الگوریتم که توسط پروژه سولانا معرفی شد، شباهتهایی به اثبات زمان انتظار دارد. در PoH برای هر رویداد یا تراکنش در شبکه، یک برچسب زمانی قابل تایید ایجاد میشود. مسئول ایجاد این برچسب یک منبع قابل اعتماد به نام «ساعت» است که دنبالهای از هشها را برای ثبت ترتیب و زمان رویدادها تولید میکند. این برچسبها همراه تراکنش به بلاکچین اضافه شده و گرهها برای بررسی ترتیب رویدادها از آن استفاده میکنند.
برای اطمینان از غیرقابل پیشبینی بودن هشها، از تابعی به نام «تابع تأخیر قابل تایید» (VDF) بهره گرفته میشود. همچنین این ساعت میتواند چند برچسب زمانی را به صورت همزمان بسازد که موجب افزایش مقیاسپذیری میشود.
مزایای الگوریتم اثبات تاریخ
ظرفیت بالا و قابلیت مقیاسپذیری زیاد
کاهش بار شبکه به کمک تابع VDF
معایب الگوریتم اثبات تاریخ
وابستگی به منبع واحد برچسبگذاری که ریسک خرابی شبکه را بالا میبرد
نیاز به سختافزارهای گران برای گرهها
الگوریتم اثبات فعالیت (Proof of Activity)
الگوریتم اثبات فعالیت در سال ۲۰۱۴ معرفی شد و بهعنوان ترکیبی از دو الگوریتم اثبات کار و اثبات سهام شناخته میشود. ایده اصلی این روش بهرهبرداری همزمان از مزایای PoW و PoS است. در این الگوریتم، فرآیند استخراج مانند اثبات کار آغاز میشود و ماینرها برای حل مسئله رمزنگاری رقابت میکنند. بلاکی که استخراج میشود شامل هدر و آدرس دریافت پاداش است. پس از استخراج، روند به نحوی شبیه اثبات سهام ادامه مییابد؛ به این صورت که براساس دادههای هدر، گروهی از اعتبارسنجها بهصورت تصادفی انتخاب شده تا بلاک را تأیید کنند. همانند اثبات سهام، اعتبارسنجهایی که دارایی بیشتری دارند شانس بالاتری برای انتخاب شدن دارند. پس از تأیید بلاک توسط اعتبارسنجها، بلاک به زنجیره اضافه شده و پاداش میان ماینرها و اعتبارسنجها تقسیم میشود. پروژههایی مانند Decred و Espers از این الگوریتم بهره میبرند. این الگوریتم دارای مزایا و محدودیتهای خاص خود است.
مزایای الگوریتم اثبات فعالیت
مقاومت خوب در برابر حملات ۵۱ درصدی به دلیل ترکیب فرآیند هشینگ و امضای دیجیتال
سرعت بهتر نسبت به اثبات کار و امنیت بالاتر نسبت به اثبات سهام
تحمل خطای بالای شبکه
فرصت کسب درآمد مناسب برای ماینرها و اعتبارسنجها
معایب الگوریتم اثبات فعالیت
مشکل مصرف بالای توان محاسباتی و انباشت کوین بهصورت کامل حل نشده
نبود مکانیزم مجازات برای ماینرها و اعتبارسنجها
الگوریتم اثبات فضا-زمان (Proof of Spacetime)
این الگوریتم که شباهتهایی با اثبات ظرفیت دارد، علاوه بر مقدار فضای ذخیرهسازی، عامل زمان را نیز وارد معادله میکند. به طور ساده، شرکتکنندگان باید مقدار مشخصی از فضای ذخیرهسازی را به مدت زمان تعیین شده به شبکه اختصاص دهند. ایده اصلی این الگوریتم این است که هزینه ذخیرهسازی تنها به حجم محدود نمیشود و زمان استفاده از آن نیز اهمیت دارد.
شرکتکنندگان ابتدا باید گواهی فضای ذخیرهسازی خود را ارائه دهند که از هش دادههایی مانند حافظه موجود و زمان فعلی ایجاد میشود و سپس سایر گرهها این گواه را اعتبارسنجی میکنند. هر چقدر مقدار این گواه بالاتر باشد، احتمال انتخاب شدن آن گره نیز بیشتر است.
از آنجا که میتوان سختی شبکه را با افزایش مدت زمان نگه داشتن فضا تنظیم کرد، مصرف انرژی این الگوریتم بسیار کم است. پروژه فایل کوین نمونه معروف استفاده از PoST است.
مزایا الگوریتم اثبات فضا-زمان
قابلیت تنظیم سختی شبکه با افزایش زمان بدون نیاز به قدرت پردازشی بیشتر
مقاومت در برابر حملاتی مانند حمله سیبیل
مصرف انرژی پایین به دلیل تکیه بر گواه ذخیرهسازی به جای محاسبات سنگین
معایب الگوریتم اثبات فضا-زمان
کاهش مقیاسپذیری به خاطر حجم بالای گواههای ذخیرهسازی
احتمال تمرکز شبکه در دست گرههایی با فضای ذخیرهسازی زیاد
الگوریتم اثبات وزن (Proof of Weight)
اثبات وزن که شباهتهایی به اثبات سهام دارد، توسط تیمی از دانشگاه MIT برای بلاکچین الگوراند طراحی شده است. در این روش، هر گره وزن مشخصی دریافت میکند که بر اساس مقدار ارز نگهداری شده تعیین میشود.
در هر تراکنش، کمیتهای از چند گره به صورت تصادفی شکل میگیرد تا تراکنشها را تأیید کند. گرههایی که وزن بیشتری دارند، احتمال بیشتری برای عضویت در این کمیته دارند.
با این حال، این روش دو نقطه ضعف اساسی دارد: اول، انگیزهای برای فعالیت بیشتر اعضای کمیته وجود ندارد و دوم، تشکیل کمیته با ذات غیرمتمرکز بلاکچین تا حدودی ناسازگار است و میتواند زمینه ساز سوء استفاده شود.
مزایای الگوریتم اثبات وزن
مقیاسپذیری و امکان شخصیسازی بالا
مقاومت در برابر حملاتی مثل خرج دوباره به دلیل مکانیزم توزیع وزن
سرعت بالای تأیید تراکنشها
معایب الگوریتم اثبات وزن
عدم وجود انگیزه کافی برای مشارکت فعال در شبکه
ماهیت نیمهمتمرکز به علت محدود بودن اعضای کمیته
الگوریتم تحمل خطای بیزانس (BFT)
ماجرای الگوریتم تحمل خطای بیزانس به دههها پیش بازمیگردد؛ دقیقتر بگوییم، در سال ۱۹۸۲ مسئله معروف فرماندهان بیزانس مطرح شد. این مسئله چالش اصلی را بیان میکند: زمانی که در میان فرماندهان تعدادی خیانتکار حضور داشته باشند، چگونه میتوانند هماهنگ شده و بر دشمن غلبه کنند؟ الگوریتمهای مبتنی بر تحمل خطای بیزانس از این ایده الهام گرفتهاند و به گونهای طراحی شدهاند که حتی اگر برخی از گرهها دچار اختلال یا رفتارهای خرابکارانه شوند، شبکه به فعالیت خود ادامه دهد.
با توجه به این که مسئله فرماندهان بیزانس پاسخهای متعددی دارد، روشهای متنوعی برای ساخت سیستمهای مبتنی بر تحمل خطای بیزانس وجود دارد. به مرور زمان، الگوریتمهای مختلفی توسعه یافتهاند که در ادامه به آنها اشاره میکنیم. همچنین جالب است بدانید کاربرد این الگوریتم تنها محدود به بلاکچین نیست و در صنایع حساس مانند هوافضا و انرژی هستهای نیز به کار میرود. الگوریتم BFT دارای مزایا و معایبی است که در ادامه بررسی میکنیم.
مزایای الگوریتم تحمل خطای بیزانس
تداوم عملکرد شبکه حتی در مواجهه با گرههای خرابکار یا ناقص
قابلیت اصلاح دادهها در شبکه
بهینهسازی استفاده از منابع محاسباتی
معایب الگوریتم تحمل خطای بیزانس
آسیبپذیری نسبت به حملاتی مثل حمله سیبیل اگر تنظیمات درست نباشد
پیچیدگی بیشتر نسبت به الگوریتمهای دیگر بلاکچین
مقیاسپذیری پایینتر در مقایسه با روشهای دیگر
الگوریتم عملی تحمل خطای بیزانس (PBFT)
در سال ۱۹۹۹، دو پژوهشگر به نامهای باربارا لیسکف و میگل کسترو، الگوریتم عملی تحمل خطای بیزانس را معرفی کردند. شبکههایی که از این روش استفاده میکنند، میتوانند تا زمانی که کمتر از یکسوم گرهها خرابکار یا ناقص باشند، بدون مشکل فعالیت کنند. در این مدل، دو نوع گره تعریف میشود: گره رهبر و گره پشتیبان.
روند کار الگوریتم شامل سه مرحله است. ابتدا کلاینت درخواست تراکنش را به شبکه ارسال میکند. سپس گره رهبر آن درخواست را به گرههای پشتیبان میفرستد تا بررسی و تأیید شود. این گرهها پس از انجام بررسی، نتیجه را به کلاینت بازمیگردانند. کلاینت زمانی تراکنش را تأیید میکند که حداقل (f+1) گره با نتیجه مشابه پاسخ داده باشند؛ در اینجا f تعداد گرههای خرابکار احتمالی است. الگوریتم PBFT نیز مانند سایر روشها، دارای نقاط قوت و ضعف است.
مزایای PBFT
ظرفیت بالاتر نسبت به مدل پایه تحمل خطای بیزانس
تأخیر کم به خاطر عدم نیاز به تأییدهای مکرر
عدالت در توزیع پاداش میان گرهها
معایب PBFT
کاهش مقیاسپذیری به دلیل حجم بالای پیامهای داخلی شبکه
ناسازگاری با بلاکچینهای بدون مجوز
حساسیت به حملات سیبیل
نسخه سادهشده تحمل خطای بیزانس (SBFT)
سال ۲۰۱۵، گروهی از محققان دانشگاه کرنل الگوریتم سادهشده تحمل خطای بیزانس را معرفی کردند که نسخه بهبود یافتهای از PBFT است. این الگوریتم نیز مانند نسخه پیشین، سه مرحله اصلی دارد.
در این مدل، گرهها به چند گروه نماینده تقسیم میشوند که هر کدام مسئول تأیید تراکنشها هستند. هر بلاک همراه با برچسب زمان باز و بسته به یک گروه تخصیص داده شده و اعضای گروه آن را دریافت میکنند. سپس هر گره با توجه به برنامهریزی داخلی و دستورالعملها، وظایفش را انجام میدهد. SBFT مزایا و معایبی دارد که به آنها اشاره میکنیم.
مزایای SBFT
سرعت بالا به دلیل کاهش تعداد پیامهای رد و بدل شده
نیاز کمتر به توان محاسباتی نسبت به PBFT
معایب SBFT
عدم سازگاری با بلاکچینهای عمومی
تحمل خطای پایینتر نسبت به PBFT
تحمل خطای بیزانس نمایندگیشده (DBFT)
الگوریتم تحمل خطای بیزانس نمایندگیشده که شباهتهایی با اثبات سهام نمایندگیشده دارد، در پروژه نئو (NEO) پیادهسازی شده است. در این روش سه دسته گره وجود دارد: شهروندان، نمایندگان و سخنگو. نمایندگان و سخنگوها توسط رأیگیری انتخاب میشوند و شهروندان در واقع مالکین توکنهای NEO هستند.
شهروندان بدون توجه به مقدار توکنشان، حق رأی برای انتخاب نمایندگان را دارند. یکی از نمایندگان بهطور تصادفی به عنوان سخنگو انتخاب میشود. نمایندگان مسئول پاسخ به درخواستها و ثبت تراکنشها در دفتر کل هستند. سخنگو پس از دریافت تأیید حداقل دو سوم نمایندگان، بلاک را به بلاکچین اضافه میکند.
مزایای DBFT
جلوگیری از انشعاب (فورک) در شبکه
سرعت بالای تأیید تراکنشها
مقاومت بالا در برابر حمله ۵۱ درصدی
معایب DBFT
احتمال متمرکز شدن شبکه به علت تعداد کم گرهها
الگوریتم گراف جهتدار غیرمدور (DAG)
گراف جهتدار غیرمدور ساختار دادهای است که در آن برای رسیدن به توافق، تراکنشها به شکل غیرخطی و شبیه به درخت سازماندهی میشوند. در DAG هر تراکنش باید دو تراکنش دیگر را قبل از خود تأیید کند و برای تایید، یک معما حل میشود.
DAG بهدلیل سرعت بالا در پردازش موازی تراکنشها و حذف نیاز به استخراج و توان پردازشی بالا، یک رقیب جدی برای بلاکچینهای سنتی محسوب میشود. پروژههایی مانند آیوتا و نانو از این ساختار استفاده میکنند.
مزایای DAG
تأیید سریع و موازی تراکنشها
مقیاسپذیری عالی
مقاومت مناسب در برابر حملات دوبار خرج کردن
عدم نیاز به استخراج و مصرف توان بالا
معایب DAG
عدم پذیرش گسترده در میان کاربران
عملکرد نامشخص در شبکههای بسیار بزرگ
تنیجه گیری
الگوریتمهای اجماع بخش مهمی از کارکرد صحیح بلاکچین هستند. هر کدام از آنها نقاط قوت و ضعف مخصوص خود را دارند و باید متناسب با کاربرد انتخاب شوند. انتخاب نادرست الگوریتم میتواند باعث ضعف امنیتی، کاهش سرعت، افت مقیاسپذیری یا حتی شکست کل شبکه شود.
برای انتخاب مناسب الگوریتم، باید عواملی مثل عمومی یا خصوصی بودن بلاکچین، سرعت مورد انتظار و سطح امنیت مورد نیاز را در نظر گرفت. بهعنوان مثال، اگر تعداد کاربران زیاد و سرعت بالا اهمیت دارد، الگوریتمهایی مثل اثبات سهام، اثبات سهام نمایندگیشده یا اثبات تاریخ گزینههای مناسبی هستند. همچنین اگر موضوع مصرف انرژی اهمیت داشته باشد، بهتر است از الگوریتمهای پرمصرف مانند اثبات کار دوری کرد. در نهایت، بهترین انتخاب الگوریتم آن است که بیشترین هماهنگی را با نیازهای شما و کاربران شبکه داشته باشد.
سوالات متداول
تحمل خطای بیزانس چیست؟
امکانی برای ادامه کار شبکه حتی با وجود گرههای خرابکار یا مشکلدار.
فرق PBFT و SBFT چیه؟
PBFT دقیقتر و کندتره، SBFT سریعتر ولی کمتر مقاوم.
DBFT چطور جلوی حمله ۵۱ درصدی رو میگیره؟
با رأیگیری و نیاز به توافق دو سوم نمایندگان.
چرا DAG جایگزین بلاکچین شده؟
تراکنشها رو سریع و موازی پردازش میکنه، مصرف انرژی کم داره.
برای انتخاب الگوریتم اجماع باید چی رو در نظر گرفت؟
نوع بلاکچین، سرعت، امنیت و مصرف انرژی.