در دنیای فناوریهای توزیعشده، الگوریتمهای اجماع نقش حیاتی در اطمینان از صحت و امنیت تراکنشها و دادهها ایفا میکنند. این الگوریتمها به شبکههای توزیعشده کمک میکنند تا به توافق جمعی درباره وضعیت دادهها یا تراکنشها برسند، حتی در شرایطی که برخی از گرهها (Nodes) ممکن است خرابکار یا غیرقابل اعتماد باشند. در این مقاله از بلاگ کیف پول من، به بررسی مفهوم الگوریتم اجماع، انواع مختلف آن و کاربردهای آن در بلاکچین و سایر سیستمهای توزیعشده میپردازیم.
الگوریتم اجماع (Consensus Algorithms) چیست؟
الگوریتمهای اجماع مجموعهای از پروتکلها و روشها هستند که به شبکههای توزیعشده کمک میکنند تا به توافق جمعی درباره وضعیت دادهها یا تراکنشها برسند. این الگوریتمها به عنوان یکی از اجزای اصلی در سیستمهای توزیعشده و به ویژه بلاکچینها نقش حیاتی ایفا میکنند. هدف اصلی این الگوریتمها اطمینان از یکپارچگی و ثبات دادهها در شبکه است، حتی زمانی که برخی از گرهها (Nodes) خرابکار یا غیرقابل اعتماد هستند.
برای فهم بهتر، تصور کنید که شبکهای از گرهها وجود دارد که هر کدام نسخهای از یک دفتر کل (Ledger) را نگهداری میکنند. هر زمان که تراکنش جدیدی رخ میدهد، تمام گرهها باید در مورد اضافه کردن این تراکنش به دفتر کل به توافق برسند. الگوریتم اجماع به این گرهها کمک میکند تا این توافق را به دست آورند.
یکی از چالشهای اصلی در سیستمهای توزیعشده، اطمینان از این است که تمامی گرهها نسخهای یکسان از دفتر کل را نگهداری کنند. این مسئله به ویژه در شرایطی که گرهها به دلایل مختلفی مانند خرابی سختافزار، حملات سایبری یا شبکههای ناپایدار نمیتوانند به درستی با یکدیگر ارتباط برقرار کنند، پیچیدهتر میشود.
الگوریتمهای اجماع برای حل این مشکلات طراحی شدهاند و اهداف اصلی آنها شامل تضمین توافق، تحمل خطا، همگامسازی و مقیاسپذیری است. این الگوریتمها باید بتوانند در شرایطی که برخی گرهها به درستی عمل نمیکنند یا حتی به صورت عمدی خرابکارانه رفتار میکنند، عملکرد صحیح خود را حفظ کنند.
یکی از معروفترین الگوریتمهای اجماع، "اثبات کار" (Proof of Work - PoW) است که در بیتکوین استفاده میشود. در این الگوریتم، گرهها (که به آنها ماینر گفته میشود) باید مسائل ریاضی پیچیدهای را حل کنند تا بتوانند بلاک جدیدی به زنجیره اضافه کنند. این فرآیند به دلیل نیاز به محاسبات زیاد، انرژی زیادی مصرف میکند اما امنیت بالایی را نیز فراهم میکند.
الگوریتمهای دیگری مانند "اثبات سهام" (Proof of Stake - PoS) نیز وجود دارند که در آنها اعتبارسنجی تراکنشها و ایجاد بلاکهای جدید بر اساس میزان سهام گرهها در شبکه انجام میشود. این روشها معمولاً انرژی کمتری مصرف میکنند و برای برخی از کاربردها مناسبتر هستند.
در نهایت، الگوریتمهای اجماع به عنوان ستون فقرات سیستمهای توزیعشده، اطمینان از صحت و امنیت دادهها را فراهم میکنند و امکان اعتماد به شبکههای غیرمتمرکز را بدون نیاز به یک نهاد مرکزی فراهم میسازند.
چرا به الگوریتم اجماع نیاز داریم؟
الگوریتمهای اجماع نقش حیاتی در سیستمهای توزیعشده و بلاکچینها ایفا میکنند و دلایل متعددی وجود دارد که چرا به این الگوریتمها نیاز داریم. در ادامه، به بررسی برخی از مهمترین این دلایل میپردازیم:
- تضمین یکپارچگی دادهها:
در یک شبکه توزیعشده، دادهها و تراکنشها در میان گرههای مختلف پخش میشوند. برای اطمینان از اینکه تمامی گرهها نسخهای یکسان و معتبر از دادهها را نگهداری میکنند، به الگوریتم اجماع نیاز داریم. این الگوریتمها تضمین میکنند که هر تغییری در دادهها به طور صحیح و هماهنگ در تمامی گرهها اعمال شود. - مقابله با خرابیها و خطاها:
در یک سیستم توزیعشده، احتمال وقوع خرابیها و خطاها وجود دارد. این خرابیها میتوانند ناشی از مشکلات سختافزاری، نرمافزاری یا حتی حملات سایبری باشند. الگوریتمهای اجماع به طراحی شدهاند تا تحمل خطا داشته باشند و حتی در صورت خرابی یا رفتار مخرب برخی از گرهها، عملکرد صحیح شبکه را تضمین کنند. - امنیت و جلوگیری از تقلب:
الگوریتمهای اجماع با ارائه مکانیزمهایی برای تأیید صحت تراکنشها و دادهها، از تقلب و حملات احتمالی جلوگیری میکنند. این الگوریتمها تضمین میکنند که تنها تراکنشهای معتبر و تأیید شده به دفتر کل اضافه شوند، که این امر به افزایش امنیت شبکه کمک میکند. - همگامسازی گرهها:
برای اطمینان از اینکه تمامی گرهها در هر لحظه وضعیت یکسانی دارند، به الگوریتمهای اجماع نیاز داریم. این الگوریتمها به هماهنگسازی گرهها کمک میکنند و اطمینان میدهند که تمامی گرهها در مورد وضعیت فعلی شبکه به توافق رسیدهاند. - مقیاسپذیری:
شبکههای توزیعشده باید توانایی پذیرش حجم بالای تراکنشها و گرههای جدید را داشته باشند. الگوریتمهای اجماع به بهینهسازی عملکرد شبکه کمک میکنند و اطمینان میدهند که افزایش تعداد گرهها یا تراکنشها به کاهش عملکرد سیستم منجر نمیشود. - حذف نیاز به نهاد مرکزی:
در سیستمهای سنتی، یک نهاد مرکزی مسئول تأیید و هماهنگی تراکنشها و دادهها است. اما در سیستمهای توزیعشده و بلاکچینها، الگوریتمهای اجماع این نقش را به عهده میگیرند و نیاز به وجود یک نهاد مرکزی را از بین میبرند. این امر موجب افزایش شفافیت، اعتماد و کاهش احتمال تمرکز قدرت میشود. - افزایش اعتماد و شفافیت:
الگوریتمهای اجماع با ایجاد یک مکانیزم خودکار و شفاف برای تأیید تراکنشها و دادهها، اعتماد کاربران به سیستم را افزایش میدهند. این الگوریتمها تضمین میکنند که تمامی تغییرات در شبکه به طور صحیح و شفاف انجام میشود و هیچ دادهای بدون تأیید معتبر به شبکه اضافه نمیشود.
در نهایت، الگوریتمهای اجماع به عنوان ستون فقرات سیستمهای توزیعشده و بلاکچینها، نقش مهمی در تضمین امنیت، یکپارچگی و عملکرد صحیح این سیستمها ایفا میکنند. بدون این الگوریتمها، رسیدن به توافق جمعی در میان گرههای متعدد و غیرمتمرکز امکانپذیر نخواهد بود و سیستم به خطر خواهد افتاد.
معرفی انواع الگوریتم های اجماع
الگوریتمهای اجماع در سیستمهای بلاکچینی و توزیعشده، نقش حیاتی در تأیید و ثبت تراکنشها دارند. این الگوریتمها به گرههای شبکه اجازه میدهند تا بر سر وضعیت دفتر کل به توافق برسند. در زیر، به برخی از انواع الگوریتمهای اجماع معروف اشاره میکنیم:
الگوریتم گواه اثبات کار (Proof of Work)
الگوریتم گواه اثبات کار (Proof of Work - PoW) یکی از مهمترین و پرکاربردترین الگوریتمهای اجماع است که به منظور تضمین صحت و امنیت تراکنشها در سیستمهای توزیعشده و بلاکچینها طراحی شده است. این الگوریتم اولین بار توسط بیتکوین معرفی و مورد استفاده قرار گرفت و سپس در بسیاری از رمز ارزها و شبکههای بلاکچینی دیگر به کار گرفته شد.
در PoW، فرآیند اجماع به این صورت عمل میکند که ماینرها (گرههایی که وظیفه پردازش و تأیید تراکنشها را بر عهده دارند) باید مسائل ریاضی پیچیدهای را حل کنند. این مسائل به گونهای طراحی شدهاند که حل آنها نیاز به محاسبات زیاد و مصرف انرژی فراوان دارد، اما تأیید صحت راهحل بسیار آسان است. این ویژگی باعث میشود که فرآیند تأیید بلاکها به شکلی امن و قابل اعتماد انجام شود.
فرآیند کار PoW با جمعآوری تراکنشهای جدید آغاز میشود. این تراکنشها در یک مجموعه به نام "بلاک" دستهبندی میشوند. سپس ماینرها باید بلاک را هش کنند. هش یک تابع رمزنگاری است که ورودی را به یک خروجی با طول ثابت تبدیل میکند. هدف ماینرها این است که یک هش تولید کنند که با شرایط خاصی (مثلاً تعداد مشخصی از صفرهای ابتدایی) مطابقت داشته باشد.
الگوریتم PoW امنیت بسیار بالایی دارد و یکی از دلایل اصلی این امنیت، نیاز به محاسبات زیاد برای تولید هش معتبر است. برای تغییر دادههای یک بلاک، یک مهاجم باید تمامی بلاکهای بعد از آن را نیز مجدداً هش کند که به دلیل نیاز به محاسبات زیاد و مصرف انرژی، عملاً غیرممکن است. همچنین، PoW به دلیل نیاز به محاسبات زیاد، از حملات سیبیل (که در آن مهاجم تعداد زیادی هویت جعلی ایجاد میکند) جلوگیری میکند.
در مجموع، الگوریتم گواه اثبات کار (PoW) به عنوان یکی از پایههای اصلی امنیت و اعتماد در بسیاری از سیستمهای بلاکچینی شناخته میشود و نقش حیاتی در اطمینان از صحت و یکپارچگی تراکنشها دارد.
الگوریتم گواه اثبات سهام (Proof of Stake)
الگوریتم گواه اثبات سهام (Proof of Stake - PoS) یکی از الگوریتمهای اجماع مورد استفاده در بلاکچینها است که به عنوان جایگزینی برای الگوریتم گواه اثبات کار (Proof of Work - PoW) طراحی شده است. هدف اصلی PoS کاهش مصرف انرژی و افزایش کارایی سیستمهای بلاکچینی است.
در PoS، تراکنشها و بلاکهای جدید توسط "اعتبارسنجها" (Validators) تأیید و ایجاد میشوند. اعتبارسنجها به جای حل مسائل ریاضی پیچیده، بر اساس میزان سهامی (Stake) که در شبکه دارند، انتخاب میشوند. سهام به معنای مقدار ارز دیجیتالی است که یک کاربر در شبکه قفل کرده است تا بتواند در فرآیند اعتبارسنجی شرکت کند.
فرآیند کار PoS به این صورت است که هر کاربری که میخواهد به عنوان اعتبارسنج عمل کند، باید مقدار معینی از ارز دیجیتال را به عنوان سهام در شبکه قفل کند. سپس، شبکه به طور تصادفی اعتبارسنجهایی را از میان کسانی که سهام خود را قفل کردهاند، انتخاب میکند تا بلاکهای جدید را ایجاد و تراکنشها را تأیید کنند. احتمال انتخاب شدن یک اعتبارسنج به میزان سهام او بستگی دارد؛ هر چقدر سهام بیشتری داشته باشد، احتمال انتخاب شدن او بیشتر است.
یکی از مزایای اصلی PoS نسبت به PoW، مصرف انرژی بسیار کمتر آن است. در PoS، نیازی به انجام محاسبات پیچیده و مصرف انرژی بالا نیست، زیرا انتخاب اعتبارسنجها بر اساس میزان سهام آنها انجام میشود. این امر باعث میشود که PoS به عنوان یک راهحل سبزتر و کارآمدتر در مقایسه با PoW شناخته شود.
PoS همچنین امنیت بالایی را فراهم میکند، زیرا برای حمله به شبکه و تغییر دادههای بلاکچین، یک مهاجم باید مقدار زیادی از ارز دیجیتال را به دست آورد و در شبکه قفل کند. این امر هزینههای بسیار بالایی دارد و از لحاظ اقتصادی برای مهاجم غیرمعقول است.
الگوریتم گواه اثبات مالکیت (Proof of Ownership)
الگوریتم گواه اثبات مالکیت (Proof of Ownership) یک مفهوم در زمینه امنیت سایبری و بلاکچین است که به منظور اثبات مالکیت یا کنترل بر منابع دیجیتال استفاده میشود. این الگوریتم، برخلاف الگوریتمهای گواه اثبات کار (Proof of Work) یا گواه اثبات سهام (Proof of Stake)، به طور اختصاصی برای مواردی که نیاز به اثبات مالکیت بر یک دارایی دیجیتال یا اطلاعات خاص داریم، به کار میرود.
در گواه اثبات مالکیت، هدف اصلی این است که یک طرف (که به آن "اثباتکننده" گفته میشود) بتواند به دیگری (که به آن "تأییدکننده" گفته میشود) نشان دهد که مالک یا کنترلکننده یک دارایی دیجیتال خاص است، بدون نیاز به افشای جزئیات کامل آن دارایی. این فرآیند معمولاً شامل استفاده از تکنیکهای رمزنگاری و چالش-پاسخ است.
یکی از روشهای متداول برای پیادهسازی گواه اثبات مالکیت، استفاده از امضاهای دیجیتال است. در این روش، اثباتکننده یک پیام خاص را با کلید خصوصی خود امضا میکند و امضای حاصل را به تأییدکننده ارسال میکند. تأییدکننده میتواند با استفاده از کلید عمومی اثباتکننده، صحت امضا را بررسی کرده و اطمینان حاصل کند که اثباتکننده واقعاً مالک کلید خصوصی مربوطه است و در نتیجه مالک یا کنترلکننده دارایی دیجیتال مورد نظر است.
فرآیند کلی به این صورت است که اثباتکننده یک پیام تصادفی (که میتواند توسط تأییدکننده تولید شده باشد) را دریافت کرده و آن را با کلید خصوصی خود امضا میکند. سپس امضای دیجیتال را به تأییدکننده ارسال میکند. تأییدکننده با استفاده از کلید عمومی اثباتکننده، امضا را بررسی میکند و اگر امضا معتبر باشد، مالکیت اثبات میشود.
گواه اثبات مالکیت کاربردهای گستردهای دارد، از جمله در مدیریت حقوق دیجیتال (DRM)، سیستمهای هویت دیجیتال و حتی در برخی پروتکلهای بلاکچینی برای اثبات مالکیت داراییهای دیجیتال مانند توکنهای غیرقابل تعویض (NFTs). در هر یک از این کاربردها، هدف اصلی این است که بدون افشای اطلاعات حساس یا کامل، بتوانیم مالکیت یا کنترل یک دارایی را به طور امن و قابل اعتماد اثبات کنیم.
به طور کلی، الگوریتم گواه اثبات مالکیت یک ابزار مهم در حوزه امنیت و اعتماد دیجیتال است که به سازمانها و افراد امکان میدهد تا به صورت امن و مؤثر مالکیت یا کنترل خود بر داراییهای دیجیتال را اثبات کنند. این الگوریتم با استفاده از تکنیکهای پیشرفته رمزنگاری و مکانیزمهای چالش-پاسخ، اطمینان حاصل میکند که تنها مالک واقعی قادر به ارائه اثبات معتبر است، بدون این که نیاز به افشای جزئیات کامل دارایی یا اطلاعات حساس باشد.
الگوریتم گواه اثبات مسئولیت (Proof of Authority)
الگوریتم گواه اثبات مسئولیت (Proof of Authority - PoA) یکی از روشهای اجماع در شبکههای بلاکچینی است که برای افزایش سرعت و کارایی تراکنشها، به ویژه در شبکههای خصوصی و کنسرسیومی، طراحی شده است. برخلاف الگوریتمهای گواه اثبات کار (Proof of Work) و گواه اثبات سهام (Proof of Stake)، PoA بر اساس هویت و اعتبار گرههای اعتبارسنج (Validators) عمل میکند.
در PoA، اعتبارسنجها افراد یا نهادهایی هستند که هویت و اعتبار آنها توسط شبکه تأیید و شناخته شده است. این اعتبارسنجها مسئول تأیید تراکنشها و ایجاد بلاکهای جدید در شبکه هستند. انتخاب اعتبارسنجها بر اساس شهرت و اعتماد به آنها انجام میشود، نه بر اساس مقدار ارز دیجیتال یا قدرت محاسباتی که در اختیار دارند.
فرآیند کار PoA به این صورت است که هر اعتبارسنج به عنوان یک نود (گره) در شبکه شناخته میشود و وظیفه تأیید تراکنشها و ایجاد بلاکهای جدید را بر عهده دارد. اعتبارسنجها باید هویت واقعی خود را به شبکه اعلام کنند و این هویت معمولاً توسط یک مرجع معتبر یا یک فرآیند تأیید هویت، تأیید میشود. این امر باعث میشود که انگیزههای مثبت و منفی برای رفتار درست یا نادرست وجود داشته باشد، زیرا اعتبارسنجها در صورت رفتار نادرست ممکن است اعتبار و شهرت خود را از دست بدهند.
وقتی که تراکنشهای جدید به شبکه اضافه میشوند، اعتبارسنجها آنها را بررسی و تأیید میکنند. سپس یکی از اعتبارسنجها به صورت تصادفی یا بر اساس یک الگوریتم خاص انتخاب میشود تا بلاک جدیدی را ایجاد کند و آن را به بلاکچین اضافه کند. این فرآیند به دلیل عدم نیاز به حل مسائل ریاضی پیچیده یا قفل کردن مقدار زیادی ارز دیجیتال، بسیار سریعتر و کارآمدتر از PoW و PoS است.
در مجموع، الگوریتم گواه اثبات مسئولیت (PoA) یک روش اجماع کارآمد و سریع برای شبکههای بلاکچینی است که بر اساس هویت و اعتبار اعتبارسنجها عمل میکند. این الگوریتم با کاهش زمان و منابع مورد نیاز برای تأیید تراکنشها، به ویژه در محیطهای خصوصی و کنسرسیومی، باعث افزایش کارایی و سرعت شبکه میشود، اما نیازمند نظارت و کنترل مناسب برای جلوگیری از تمرکز قدرت و سوءاستفادههای احتمالی است.
الگوریتم گواه اثبات وجود (Proof of Existence)
الگوریتم گواه اثبات وجود (Proof of Existence - PoE) یک روش رمزنگاری است که به افراد امکان میدهد تا وجود یک سند یا داده دیجیتال را در یک زمان خاص بدون نیاز به افشای محتوای آن اثبات کنند. این الگوریتم در زمینههای مختلفی مانند حفاظت از حق تألیف، تصدیق اسناد حقوقی و ثبت اختراعات کاربرد دارد.
در PoE، هدف اصلی این است که اثبات شود یک سند یا داده مشخص در یک زمان خاص وجود داشته است و از آن زمان تا کنون تغییر نکرده است. این کار معمولاً با استفاده از توابع هش رمزنگاری انجام میشود. تابع هش، یک ورودی (سند یا داده) را به یک خروجی با طول ثابت (هش) تبدیل میکند به طوری که حتی تغییر کوچک در ورودی باعث تغییر قابل توجهی در خروجی میشود.
فرآیند PoE به این صورت است که ابتدا صاحب سند، سند مورد نظر را به یک تابع هش رمزنگاری میدهد و هش حاصل را دریافت میکند. سپس این هش به عنوان یک اثبات دیجیتال به بلاکچین اضافه میشود. از آنجایی که بلاکچین یک دفتر کل توزیعشده و تغییرناپذیر است، هش ثبتشده در آن به عنوان یک اثبات دائمی و معتبر از وجود سند در زمان مشخصی عمل میکند.
الگوریتم گواه اثبات پرداخت (Proof of payment)
الگوریتم گواه اثبات پرداخت (Proof of Payment) یک مفهوم در سیستمهای مالی و بلاکچینی است که به منظور اثبات انجام یک پرداخت یا تراکنش خاص استفاده میشود. این الگوریتم به خصوص در محیطهای دیجیتال و شبکههای غیرمتمرکز اهمیت دارد، جایی که نیاز به تأیید و تصدیق پرداختها بدون نیاز به اعتماد به یک مرجع مرکزی وجود دارد.
در Proof of Payment، هدف اصلی این است که یک طرف (پرداختکننده) به دیگری (دریافتکننده) اثبات کند که یک پرداخت خاص انجام شده است. این اثبات معمولاً شامل جزئیات تراکنش مانند مبلغ، فرستنده، گیرنده و زمان تراکنش است. در سیستمهای بلاکچینی، این اثبات میتواند به صورت یک تراکنش ثبت شده در بلاکچین انجام شود.
یکی از مزایای Proof of Payment در سیستمهای بلاکچینی این است که این الگوریتم نیازی به اعتماد به یک مرجع مرکزی ندارد. به جای اعتماد به یک بانک یا نهاد مالی، طرفین تراکنش میتوانند به شفافیت و امنیت بلاکچین اعتماد کنند. این ویژگی به خصوص در پرداختهای بینالمللی و تراکنشهای بینافرادی که به یکدیگر اعتماد ندارند، مفید است.
تکنیکهای رمزنگاری مانند امضاهای دیجیتال و هشها نقش مهمی در Proof of Payment ایفا میکنند. این تکنیکها اطمینان میدهند که اطلاعات تراکنش نمیتوانند تغییر کنند و تنها پرداختکننده واقعی میتواند شواهد معتبر ارائه دهد. این امر مانع از تقلب و تکرار تراکنشها میشود.
الگوریتم گواه اثبات هویت (Proof of Identity)
الگوریتم گواه اثبات هویت (Proof of Identity - PoI) یک روش برای تأیید هویت افراد یا نهادها در محیطهای دیجیتال است. این الگوریتمها برای اطمینان از این که یک فرد یا نهاد واقعاً همان کسی است که ادعا میکند، استفاده میشوند. در سیستمهای بلاکچینی و سایر سیستمهای غیرمتمرکز، PoI به عنوان یک ابزار کلیدی برای جلوگیری از تقلب و تأمین امنیت استفاده میشود.
در PoI، هدف اصلی این است که یک طرف (مدعی هویت) به دیگری (تأییدکننده) اثبات کند که هویت او واقعی است. این فرآیند معمولاً شامل استفاده از تکنیکهای رمزنگاری و احراز هویت چندعاملی است.
انتخاب الگوریتم اجماع برای یک بلاکچین به چه عواملی بستگی دارد؟
انتخاب الگوریتم اجماع مناسب برای یک بلاکچین به عوامل مختلفی بستگی دارد که هر کدام میتوانند تأثیر قابلتوجهی بر عملکرد، امنیت و کارایی شبکه داشته باشند. در زیر به برخی از این عوامل کلیدی اشاره میکنیم:
امنیت:
- مقاومت در برابر حملات: الگوریتم باید بتواند از شبکه در برابر حملات مانند حملات دوگانهخرجی (Double Spending) و حملات سیبیل (Sybil Attacks) محافظت کند.
- مقاومت در برابر خطاهای بیزانسی: توانایی تحمل خطاهای بیزانسی که به معنای مقابله با گرههای مخرب یا رفتار غیرقابلپیشبینی است.
غیرمتمرکزسازی:
- توزیع قدرت: الگوریتم باید از تمرکز قدرت در دست چند گره جلوگیری کند و قدرت تأیید تراکنشها به صورت عادلانه بین گرهها توزیع شود.
- مشارکت گسترده: توانایی مشارکت تعداد زیادی از گرهها در فرآیند اجماع بدون نیاز به تجهیزات گرانقیمت یا منابع زیاد.
مقیاسپذیری:
- سرعت تراکنشها: توانایی پردازش تعداد زیادی تراکنش در واحد زمان.
- زمان تأیید بلاک: مدت زمان لازم برای تأیید و اضافه کردن یک بلاک جدید به بلاکچین.
کارایی انرژی:
- مصرف انرژی: برخی الگوریتمها مانند PoW نیاز به مصرف انرژی زیادی دارند، در حالی که الگوریتمهای دیگری مانند PoS یا DPoS کارایی انرژی بیشتری دارند.
پایداری و مقاومت در برابر خطا:
- تابآوری شبکه: توانایی شبکه در ادامه فعالیت بدون اختلال حتی در صورت بروز خطاها یا خرابکاریهای داخلی.
- مقاومت در برابر نودهای مخرب: الگوریتم باید بتواند با گرههای مخرب مقابله کند و از تأثیر منفی آنها بر شبکه جلوگیری کند.
کاربردهای خاص:
- بلاکچینهای خصوصی و مجوزدار: الگوریتمهای اجماعی مانند PBFT یا Raft که برای شبکههای با تعداد نودهای محدود و مجوزدار مناسب هستند.
- بلاکچینهای عمومی و بدون مجوز: الگوریتمهایی مانند PoW و PoS که برای شبکههای باز و عمومی مناسب هستند.
کارایی اقتصادی:
- هزینههای عملیاتی: هزینههای مرتبط با اجرای الگوریتم اجماع، شامل هزینههای سختافزاری و انرژی.
- پاداشدهی و ریسکها: نحوه پاداشدهی به گرهها و ریسکهای مرتبط با مشارکت در فرآیند اجماع
بطور کلی انتخاب الگوریتم اجماع مناسب نیازمند بررسی دقیق این عوامل و در نظر گرفتن نیازها و اهداف خاص شبکه بلاکچین است. با توجه به این عوامل، توسعهدهندگان میتوانند تصمیم بهتری برای انتخاب الگوریتم اجماع مناسب بگیرند تا عملکرد، امنیت و کارایی شبکه بهینه شود.