همان طور که در مقاله “الگوریتم اجماع در بلاک چین چیست؟” عنوان شد، الگوریتم اجماع در بلاک چین به مکانیزمی برای تایید و توافق اکثر کاربران آن بلاک چین برای ایجاد بلاکهای جدید گفته میشود. این الگوریتمها در کنار ایجاد توافق بین کاربران، باعث ایجاد نوعی اعتماد و امنیت در شبکهها نیز میشود. برای کسب حداکثر توافق و اعتماد بین کاربران گوناگون و به دلیل تفاوت سلیقهای بین کاربران و اعتبارسنجها (Validators)، روشهای زیادی برای اجماع نظرات در بلاک چینها به وجود آمده است. در این مقاله سعی میکنیم تمام روشهای رایج و محبوب اجماع را بررسی کنیم، پس با ما همراه باشید.
الگوریتم اجماع (Consensus Algorithm) چیست و چرا باید انواع آن را بشناسیم؟
مکانیسم اجماع مؤلفهای است که بدون آن بلاک چین نمیتواند وجود داشته باشد. این عملگر، اکوسیستمهای بلاک چین را تقویت میکند و آنها را ایمن نگه میدارد. اما الگوریتمهای اجماع چه اهداف دیگری را دنبال میکنند و کدام یک بهترین است؟
تمرکززدایی، امنیت تراکنش و اعتماد بین کاربران ناشناس. همه این ویژگیها با حضور الگوریتمهای اجماع امکانپذیر میشوند.
از آنجایی که محبوبترین بلاک چینها تا به امروز بیت کوین و اتریوم هستند، ممکن است در مورد مدل اجماع اثبات کار (PoW) که این دو شبکه بر آن تکیه دارند، شنیده باشید. اگرچه این الگوریتم یکی از مورد بحثترینها است، اما با ایده آل اجماع فاصله زیادی دارد، بنابراین در حال حاضر با مکانیسمهای پیشرفتهتر و سازگار با محیط زیست جایگزین شده است.
چرا باید در مورد تفاوتهای بین الگوریتمهای اجماع بلاک چین بدانید؟ دلیل این امر این است که این مکانیسمها واقعا هسته فناوری بلاک چین هستند و مهمترین شاخصهای عملکرد پلتفرم آینده شما، مانند امنیت، سرعت و نوع تایید تراکنشها به نوع الگوریتم اجماع آن بلاک چین بستگی دارد.
انواع الگوریتمهای اجماع در بلاک چین
پرکاربردترین مکانیسمهای اجماع عبارتند از: اثبات کار، اثبات سهام، اثبات سهام وکالتی، اثبات اعتبار و اثبات تاریخ. اکنون به بررسی تفاوت این موارد با یکدیگر و تأثیر آنها بر کار پلتفرمهای مبتنی بر بلاک چین و همچنین بررسی سایر موارد اجماع خواهیم پرداخت.
الگوریتم اجماع اثبات کار (Proof of Work یا PoW)
اثبات کار (PoW) که توسط بیت کوین، اتریوم و بسیاری دیگر از بلاک چینهای عمومی استفاده میشود، اولین مکانیزم اجماع ایجاد شده بود. به طور کلی در نظر گرفته میشود که قابل اعتمادترین و ایمنترین مکانیزم در میان مکانیسمهای اجماع باشد، اگرچه نگرانیها در مورد مقیاسپذیری در این الگوریتم زیاد است. در حالی که اصطلاح “اثبات کار” برای اولین بار در اوایل دهه 1990 ابداع شد، این بنیانگذار بیت کوین، ساتوشی ناکاموتو بود که اولین بار این فناوری را در زمینه ارزهای دیجیتال به کار برد.
در PoW، ماینرها اساسا برای حل پازلهای محاسباتی بسیار پیچیده با استفاده از رایانههای پرقدرت با یکدیگر رقابت میکنند. اولین کسی که عدد 64 رقمی هگزادسیمال یا همان هش (Hash) را ارائه میکند، حق تشکیل بلوک جدید و تایید تراکنشها را به دست میآورد. ماینر موفق همچنین با مقدار از پیش تعیین شده رمز ارز آن شبکه، که به عنوان “پاداش بلوک” شناخته میشود، پاداشی دریافت میکند.
از آنجایی که ماینر به مقادیر زیادی منابع محاسباتی و انرژی برای تولید بلوکهای جدید نیاز دارد، هزینههای عملیاتی پشت PoW بسیار بالاست. این مسئله به عنوان مانعی برای ورود ماینرهای جدید عمل میکند که منجر به نگرانی در مورد تمرکز و محدودیتهای مقیاسپذیری در این پروتکل میشود. در این سیستم، فقط هزینهها نگرانکننده نیست. رایجترین انتقاد از PoW، تأثیر مصرف برق بر محیط زیست است. این امر باعث شده است که بسیاری به دنبال پروتکلهای اجماع پایدارتر و کارآمدتر باشند، مانند اثبات سهام (PoS).
الگوریتم اجماع اثبات سهام (Proof of Stake یا PoS)
همانطور که از نام آن پیداست، این روش محبوب اجماع، حول فرآیندی است که با نام سهامداری یا استیکینگ شناخته میشود. در یک سیستم اثبات سهام (PoS)، ماینرها ملزم به تعهد «استیک» ارز دیجیتال هستند یعنی باید ارز دیجیتال شبکه را ذخیره و نگهداری کنند تا شانس انتخاب تصادفی بهعنوان اعتبارسنج (Validator) را داشته باشند. این روند بیشباهت به قرعهکشی نیست که در آن هر چه سکههای بیشتری را در اختیار داشته باشید، شانس شما برای برنده شدن بیشتر میشود.
برخلاف PoW که در آن ماینرها با پاداشهای بلوک (کوینهای تازه تولید شده) تشویق میشوند، کسانی که به سیستم PoS کمک میکنند، به سادگی کارمزد تراکنشها را دریافت میکنند. PoS به عنوان یک جایگزین پایدارتر و سازگار با محیط زیست برای PoW در نظر گرفته میشود و در برابر حملات 51 درصدی (نوعی حمله هکرها به بلاک چین) ایمنتر است. با این حال، از آنجایی که این سیستم از نهادهایی با تعداد توکنهای بالاتر حمایت میکند، انتقاداتی به PoS وارد میشود. پلتفرمهای برجسته PoS عبارتند از Cardano (ADA)، Solana (SOL) و Tezos (XTC). پلتفرم اتریوم (Ethereum) پروژهای به نام ادغام (The Merge) را معرفی کرده است که در طی آن، قرار است مکانیسم اجماع آن از PoW به PoS تغییر کند. این ارتقای بزرگ در سال 2022 رخ خواهد داد.
الگوریتم اثبات سهام واگذارشده یا وکالتی (Delegated Proof of Stake یا DPoS)
اصلاح مکانیسم اثبات سهام واگذار شده (DPoS) برای دستیابی به اجماع، بر یک سیستم رأیگیری مبتنی بر شهرت متکی است. کاربران شبکه با رای دادن، افرادی را به عنوان «شاهدان» (همچنین به عنوان «تولیدکنندگان بلوک» نیز شناخته میشوند) انتخاب میکنند تا از طرف مابقی کاربران، شبکه را ایمن کنند. فقط شاهدان رده بالا (کسانی که بیشترین رای را دارند) حق اعتبارسنجی تراکنشهای بلاک چین را کسب میکنند.
برای رای دادن، کاربران توکنهای خود را به یک استخر سهام اضافه میکنند. سپس آرا با توجه به اندازه سهام هر رایدهنده وزندهی میشود. بنابراین هر چه میزان دارایی بیشتر باشد، قدرت رای بیشتر میشود. شاهدان منتخب که با موفقیت تراکنشها را در یک بلوک تأیید میکنند، پاداشی دریافت میکنند که معمولا با کسانی که به آنها رای دادهاند، تقسیم میشود.
شاهدان با بالاترین رای، همیشه در معرض خطر جایگزینی با کسانی هستند که قابل اعتمادتر تلقی میشوند و در نتیجه رای بیشتری کسب میکنند. آنها حتی ممکن است در صورت عدم انجام مسئولیتهای خود یا تلاش برای تأیید تراکنشهای متقلبانه، مجددا در مسیر رایگیری قرار بگیرند. این مسئله به تشویق شاهدان کمک میکند تا همیشه صادق بمانند، در نتیجه یکپارچگی بلاک چین تضمین میشود.
اگرچه DPoS کمتر از PoS رایج است، اما از نظر بسیاری کارآمدتر، دموکراتیکتر و از نظر مالی فراگیرتر از نسخه قبلی خود است. الگوریتم اجماع اثبات سهام واگذارشده توسط Lisk (LSK)، EOS.IO (EOS)، Steem (STEEM)، BitShares (BTS) و Ark (ARK) استفاده میشود.
اجماع اثبات فعالیت (Proof of Activity یا PoA)
اثبات فعالیت (PoA) ترکیبی از مکانیسمهای اجماع PoW و PoS است. این الگوریتم توسط پروژههای بلاک چین Decred (DCR) و Espers (ESP) استفاده میشود. در سیستمهای PoA، فرآیند ماینینگ مانند PoW آغاز میشود، و ماینرها برای حل یک مسئله ریاضی پیچیده با استفاده از قدرت محاسباتی خود رقابت میکنند. با این حال، هنگامی که بلوک استخراج شد، سیستم تغییر میکند تا شبیه PoS شود و هدر بلاکی که با موفقیت تولید شده، در شبکه PoA پخش میشود. سپس گروهی از اعتبارسنجها بهطور تصادفی انتخاب میشوند تا هش را امضا کرده و بلوک جدید را تأیید کنند. مانند PoS، هر چه اعتباردهنده رمز ارز بیشتری داشته باشد، شانس انتخاب شدن بیشتری خواهد داشت. هنگامی که هر اعتبارسنج انتخابی، بلوک را امضا کرد، به شبکه بلاک چین اضافه میشود و آماده ثبت تراکنشها خواهد بود. سپس پاداشهای بلوک بین ماینر و اعتبارسنج به اشتراک گذاشته میشود.
اگرچه سیستم PoA با هدف ترکیب بهترین ویژگیهای PoW و PoS طراحی شده است در حالی که از کاستیهای آنها اجتناب میکند، اما به دلیل مرحله استخراج انرژی بر آن و جانبداری ذاتی نسبت به اعتبارسنجهایی که تعداد بیشتری سکه در اختیار دارند، انتقاداتی به مجموعه این سیستم وارد میشود.
الگوریتم اجماع اثبات سوزاندن (Proof of Burn یا PoB)
یکی دیگر از جایگزینهای پایدارتر برای الگوریتم PoW بیت کوین، اثبات سوزاندن (PoB) است. در PoB، ماینرها قدرت استخراج یک بلوک را با «سوزاندن» (از بین بردن) مقداری از توکنهای از پیش تعیینشده به شیوهای قابل تأیید به دست میآورند؛ یعنی فرستادن آنها به آدرسهایی با عنوان «آدرس دریافتکننده» که توکنها در آنجا قابل بازیابی یا خرج نیستند. هر چه تعداد سکههای بیشتری بسوزانید، شانس انتخاب شدن به صورت تصادفی بیشتر میشود.
برخلاف PoS که استخراجکنندگان میتوانند در صورت خروج از شبکه، سکههای قفلشده خود را بازیابی یا بفروشند، سکههای سوخته بهطور غیر قابل بازگشتی، از دسترس خارج میشوند. این روش که ماینرها را ملزم به قربانی کردن ثروت کوتاه مدت برای به دست آوردن امتیاز مادامالعمر برای ایجاد بلوکهای جدید میکند، به تشویق تعهد طولانی مدت ماینرها کمک میکند. عمل سوزاندن سکه همچنین منجر به کمبود سکه، محدود کردن تورم و افزایش تقاضا میشود. نتیجهی همه این موارد، افزایش ارزش آن ارز دیجیتال خواهد بود.
نمونهای از ارزهای دیجیتالی که از پروتکل اثبات سوختگی استفاده میکنند عبارتند از Slimcoin (SLM)، Counterparty (XCP) و Factom (FCT).
الگوریتم اثبات اعتبار (Proof of Authority یا PoA)
به دلیل شکل نوشتاری مشابه در خلاصه نویسی، این مورد را با اثبات فعالیت (یا همان PoA) اشتباه نکنید. اثبات اعتبار (PoA) با انتخاب اعتباردهندههای خود بر اساس شهرت کار میکند. در عمل این الگوریتم، یک نسخه اصلاح شده از PoS است که توسط بنیانگذار اتریوم و مدیر ارشد سابق شرکت گاوین وود در سال 2017 پیشنهاد شد.
در PoA، اعتبار سنجها داراییهای خود را استیک نمیکنند (استیکینگ در این روش وجود ندارد). اما یک موضوع مهم نیز وجود دارد و آن چیزی نیست جز اهمیت اعتبار. یعنی این افراد از اعتبار خود برای تایید و اعتبارسنجی تراکنشها خرج میکنند. این مسئله بسیار متفاوت از اکثر پروتکلهای بلاک چین است که معمولا برای مشارکت نیازی به افشای هویت خود ندارند. از آنجایی که این مکانیسم تقریبا به هیچ قدرت محاسباتی نیاز ندارد، نسبت به برخی از پیشینیان خود، به ویژه PoW، بسیار کمتر از منابع استفاده میکند. همچنین PoA یکی از گزینههای کمهزینه است که آن را به یک راهحل بسیار مطلوب برای شبکههای خصوصی، مانند JP Morgan (JPMCoin) تبدیل میکند. سایر پروژههای مبتنی بر PoA شامل VeChain (VET) و شبکه آزمایشی Ethereum Kovan است.
اگرچه این روش بسیار مقیاسپذیر است، اما در سرفصل تمرکززدایی، نقاط ضعفی دارد که ریسک آن را افزایش میدهد، زیرا فقط تعداد معدودی میتوانند در شبکه شرکت کنند. علاوه بر این، الزام برای شناسایی اعتباردهندهها نیز خطر فساد و دستکاری شخص ثالث را افزایش میدهد.
اجماع اثبات ظرفیت / اثبات فضا (Proof of Capacity یا PoC / Proof of Space یا PoSpace)
برخلاف اکثر پیشینیان خود که حقوق استخراج را بر اساس قدرت محاسباتی یا سکههای موجود اعطا میکنند، اثبات ظرفیت (PoC) – که به عنوان اثبات فضا (PoSpace) نیز شناخته میشود – الگوریتم ماینینگ خود را بر اساس میزان فضای موجود در هارد دیسک استخراجکننده قرار میدهد.
در PoC، ماینرها لیستی از تمام هشهای ممکن را از قبل در فرآیندی به نام «طرحبندی» تولید میکنند. سپس این نمودارها روی هارد دیسک ذخیره میشوند. هر چه یک ماینر ظرفیت ذخیرهسازی بیشتری داشته باشد، راهحلهای ممکن بیشتری را در اختیار خواهد داشت. هر چه تعداد راهحلها بیشتر باشد، شانس داشتن ترکیب صحیح هشها و برنده شدن جایزه بیشتر میشود.
از آنجایی که PoC به تجهیزات گران قیمت یا تخصصی نیاز ندارد، الگوریتم اجماع ظرفیت فرصتهایی را برای افراد عادی برای مشارکت در شبکه ایجاد میکند. به این ترتیب اجماع PoSpace، جایگزینی با انرژی کمتر و غیر متمرکزتر برای برخی از مکانیسمهای متداول است. با این حال، هنوز توسعهدهندگان زیادی این سیستم را انتخاب نکردهاند و نگرانیهایی در مورد حساسیت آن به حملات بدافزار وجود دارد. این مکانیسم در حال حاضر توسط Signum (SIGNA) که پیشتر با عنوان Burstcoin (BURST) معرفی میشد، Storj (STORJ) و Chia (XCH) استفاده میشود.
الگوریتم اجماع اثبات زمان سپری شده (Proof of Elapsed Time یا PoET)
اثبات زمان سپری شده (PoET) که معمولا در شبکههای بلاک چین مجاز (آنهایی که نیاز به شناسایی شرکتکنندگان دارند) استفاده میشود، از محاسبات قابل اعتماد برای اعمال زمانهای انتظار تصادفی برای ساخت بلوک استفاده میکند. این شیوه در اوایل سال 2016 توسط اینتل توسعه یافت و بر اساس مجموعهای خاص از دستورالعملهای CPU به نام افزونههای محافظ نرمافزار اینتل (SGX) کار میکند.
به عنوان یک الگوریتم اجماع مبتنی بر قرعهکشی زمان، PoET با تخصیص تصادفی زمانهای انتظار متفاوت به هر گره در شبکه کار میکند. در طول دوره انتظار، هر یک از این گرهها برای مدت زمان مشخص شده به حالت “خواب” میروند. اولین کسی که بیدار میشود (یعنی کسی که کمترین زمان انتظار را دارد) حقوق ماینینگ را دریافت میکند. این تصادفیسازی تضمین میکند که احتمال برنده شدن هر شرکتکننده به اندازه مابقی کاربران است و عدالت را در شبکه تضمین میکند.
مکانیسم اجماع PoET بسیار کارآمد، کممصرف در منابع و مقیاسپذیر است که به عنوان نمونه، در Hyperledger’s Sawtooth پیادهسازی شده است.
الگوریتم اثبات تاریخ (Proof of History یا PoH)
همانطور که از نام آن پیداست، اثبات تاریخ (PoH) اثبات وقایع تاریخی را ارائه میدهد. PoH که توسط شبکه سولانا (Solana) توسعه داده شده است، اجازه میدهد تا «مهر زمانی» در خود بلاک چین ساخته شود و گذر زمان بین تراکنشها را بدون نیاز به تکیه بر گرههای دیگر تأیید کند.
این روش مهر زمانی توسط الگوریتمی با عنوان SHA-256 فعال میشود که نوعی تابع قابل تایید با هش متوالی (VDF) است. این تابع با گرفتن خروجی تراکنش و استفاده از آن به عنوان ورودی برای هش بعدی کار میکند، که به همه امکان میدهد به وضوح ببینند کدام رویداد در یک دنباله خاص رخ داده است. از آنجایی که VDF ها تنها با یک هسته از CPU قابل حل هستند، PoH وزن پردازش بلاک چین را به شدت کاهش میدهد و آن را سریعتر و از نظر انرژی کارآمدتر از بسیاری از همتایان خود به نتیجه میرساند.
از آنجایی که PoH فقط توسط Solana استفاده میشود، هنوز در مقیاس بزرگ آزمایش نشده و زوایای مختلف آن مشخص نشده است.
اجماع اثبات اهمیت (Proof of Importance یا PoI)
در مکانیسم اثبات اهمیت (PoI) که اولین بار توسط NEM (XEM) معرفی شد، ماینرها بر اساس معیارهای خاصی در فرآیندی به نام “برداشت” انتخاب میشوند. عوامل متداول شامل تعداد و اندازه تراکنشها در 30 روز گذشته، میزان ارز اختصاص یافته و فعالیت شبکه در این انتخاب دخیل هستند. بر اساس این عوامل است که نوعی امتیازدهی بین گرهها اتفاق رخ میدهد. هر چه امتیاز یک گره بالاتر باشد، احتمال انتخاب شدن برای کسب یک بلاک و دریافت کارمزد تراکنشها بیشتر است.
اگرچه الگوریتم اثبات تاریخ مشابه PoS است، اما استفاده PoI از معیارهای اضافی، تمایلات شبکه برای ارائه جوایز به افرادی که ارزهای دیجیتال بیشتری در این سیستم استفاده میکنند (ثروتمندانی که بیشتر استیکینگ انجام میدهند) را از بین میبرد. به این ترتیب، صرفا سهامداری بیشتر (استیک بیشتر) در PoI شانس برنده شدن بلاک را تضمین نمیکند.
انواع دیگر روشهای اجماع در بلاک چین
در ادامه چند نمونه دیگر از روشهای اجماع را به شکل خیلی خلاصه بررسی میکنیم:
- الگوریتم اجماع تحمل خطای بیزانس (Practical Byzantine Fault Tolerance یا PBFT) : با انتخاب بعضی از گرهها به عنوان رهبر و در سه مرحله (پیش آمادهسازی، آمادهسازی و انجام) اجرا میشود.
- الگوریتم اجماع اثبات وزن (Proof of Weight یا PoWeight) : این الگوریتم شامل چندین فاکتور متفاوت است که وزن در هر کدام، معنی متفاوتی دارد و نتیجهی آن، چند الگوریتم جدید مانند اجماع فضا-زمان است. (مثلا در فضا-زمان، میزان وزن توسط اطلاعات IPFS ذخیره شده تعیین میگردد)
- الگوریتم اجماع اثبات شهرت (Proof of Reputation یا PoR) : در این مکانیسم فقط از افراد یا شرکتهای معروف برای تایید تراکنشها استفاده میشود. چرا که هیچ مجموعه مشهوری، با تایید تراکنش نامعتبر یا تقلبی، شهرت خود را زیر سوال نمیبرد.
- الگوریتم اجماع فضا-زمان (Proof of Spacetime یا PoST) : کاربر در این روش که ترکیب فضا و زمان است، هم باید اثبات کند که فایلهایی را برای ذخیرهسازی دریافت کرده و نگهداری میکند و هم باید اثبات کند که هنوز این فایلها در هارد درایو او موجود است.
روشهای کمتر رایج
- الگوریتم اجماع گراف جهتدار غیر مدور (Directed Acyclic Graphs یا DAG) : در این مکانیسم بر خلاف سایر مکانیسمها که خطی هستند، هر بلاک میتواند چند بلاک قبل خود را تایید کند که این ویژگی به شدت موضوع مقیاسپذیری و سرعت شبکه را بهبود میبخشد.
- الگوریتم اجماع اثبات قابلیت همکاری (Proof of Interoperability یا PoI) : اثبات قابلیت همکاری مبتنی بر انطباق کاربر با پروتکل FHIR است، به این معنی که ماینرها باید پیامهای ارسال شده به بلاک چین خود را تأیید کنند تا سیستم اطمینان حاصل کند که آن ماینر با استانداردهای ساختاری و معنایی شناخته شده سازگار است.
- الگوریتم اجماع اثبات سهام اجاره شده (Leased Proof of Stake یا LPoS) : یک مکانیسم توافقی است که بهویژه توسط بلاک چین Waves استفاده میشود، که به موجب آن کاربران توکنهای رمزنگاری خود را به گرهای اجاره میدهند که قصد دارد به عنوان تولیدکننده بلوک شبکه عمل کند.
- الگوریتم اجماع اثبات کار با تاخیر (Delayed Proof of Work یا DPoW) : یک مکانیسم امنیتی ترکیبی که توسط پروژه کومودو طراحی شده است. اساسا یک نسخه اصلاح شده از الگوریتم اجماع اثبات کار (PoW) است که از قدرت هش بلاک چین بیت کوین (یا هر بلاک چین ثانویه) به عنوان راهی برای افزایش امنیت شبکه استفاده میکند.
جمعبندی
ما در این مقاله یک مرور کلی از رایجترین مکانیسمهای اجماع مورد استفاده در بلاک چینهای رایج انجام دادیم. برای کسب اطلاعات بیشتر درباره ساختار و ماهیت این موضوع، میتوانید مقاله “الگوریتم اجماع در بلاک چین چیست؟ صفر تا صد مفهوم Consensus Algorithms” را مطالعه نمایید. واضح است که وقتی نوبت به تایید صحت پلتفرمهای بلاک چین توزیع شده میرسد، رویکرد یکسانی وجود ندارد. هر مکانیزم اجماع، مجموعهای از مزایا و معایب خاص خود را دارد. در حالی که PoW و PoS رایجترین الگوریتمهای اجماع هستند، انواع الگوریتمهای جدید و در حال تکامل کاربردهای خود را به توسعهدهندگان نمایش میدهند. این تنوع در نهایت هم برای توسعهدهندگان مناسب است که با توجه به اهداف خود بهترین الگوریتم را انتخاب کنند و هم برای کاربران مفید است تا با توجه به توان عملیاتی و شرایط فردی، روش درآمدزایی خود از صنعت بلاک چینها را پیدا کنند.