در بلاکچین (Blockchain)، هر گره (یا نود (Node)، که در فارسی به آن گره نیز گفته میشود) میتواند در تصمیمگیری مشارکت کند، مثل داشتن یک حق رای. الگوریتم اجماع مجموعه قوانینی است که کمک میکند این گرهها با وجود نظرات متفاوت، بر سر یک موضوع (مثل ثبت تراکنشها در بلاکچین) به توافق برسند. این الگوریتمها انواع مختلفی دارند و هر کدام با قوانین خاص خود، فرآیند توافق و ثبت دادههای جدید را مدیریت میکنند. در ادامه، با انواع الگوریتمهای اجماع آشنا میشویم و هر یک را بهطور دقیق بررسی خواهیم کرد.
الگوریتم اجماع (Consensus Algorithm) چیست؟
فرض کنید شما و دوستانتان تصمیم میگیرید نقل و انتقالات مالی بین خود را در یک دفترچه اشتراکی یادداشت کنید. یک روز صبح علی در دفترچه مینویسد: «سپهر ۵ هزار تومان به اشکان بدهکار است». حال شما این نوشته جدید را به اطلاع تمام دوستان خود میرسانید و طبق یک الگوریتم مطمئن میشوید که واقعا سپهر ۵ تومان به اشکان بدهکار است. به عنوان مثال اگر بیش از نیمی از افراد با این جمله موافق باشند، تصمیم میگیرید که این جمله را معتبر بدانید و در دفترچه ثبت کنید. در اینجا از یک روش استفاده کردید تا مطمئن شوید که این نوشته معتبر است. روش شما این بود که یک جمله در صورتی صحیح است که بیش از ۵۰ درصد اعضا آن را صحیح بدانند. پس این روش اعتبارسنجی، الگوریتم اجماع شما بوده است.

در این مثال، دفترچه همان بلاکچین است، دوستان شما، نودهای شبکه و نوشتههای جدید به عنوان تراکنشهای بلاکچین هستند. روشی که بر اساس آن دادههای جدید را صحتسنجی میکنید نیز الگوریتم اجماع شما است. پس الگوریتم اجماع در بلاکچین به روشها و قوانینی گفته میشود که اعضای یک شبکه طبق آنها به اتفاق نظر میرسند و تصمیمگیریها را انجام میدهند.
تاریخچه پیدایش الگوریتمهای اجماع
ایده الگوریتم اجماع، به تحقیقات علوم کامپیوتر در دهههای ۷۰ و ۸۰ میلادی برمیگردد. در سال ۱۹۸۲ مقالهای با عنوان «مسئله ژنرالهای بیزانسی» توسط سه دانشمند علوم کامپیوتر منتشر شد. در این مقاله این مثال مطرح شد که فرض کنید تعدادی ژنرال (فرمانده نظامی) سعی دارند به یک قلعه حمله کنند. این ژنرالها دور از هم قرار دارند و باید درباره تصمیم حمله یا عقبنشینی به اجماع نظر برسند. تعدادی ژنرال خرابکار نیز میان آنها وجود دارد. ژنرالها در صورتی موفق میشوند که به یک تصمیم واحد برسند؛ اگر برخی از آنها حمله کنند و برخی عقبنشینی، عملیات با شکست روبرو میشود. حال مقاله این پرسش را مطرح میکند که این ژنرالها چطور میتوانند با وجود تعدادی ژنرال خرابکار (که ممکن است پیامهای اشتباه به دیگران بدهند) به پیروزی برسند؟ یک سیستم تا چه حد میتواند خطا را تحمل کند؟ این مقاله شروع راهی بود که اکنون به الگوریتمهای اجماع متنوع رسیده است؛ روشهای مختلفی که اعضای یک شبکه غیرمتمرکز با کمک آنها به اجماع میرسند و سعی میکنند تاثیر نودهای خرابکار یا تقلبکار را خنثی کنند.

یکی از اولین نمونههای الگوریتم اجماع در بلاکچین، روش «اثبات کار یا Proof of Work» بود که توسط ساتوشی ناکاموتو توسعه پیدا کرد و در بلاکچین بیت کوین از آن استفاده شد. در این روش، نودها برای ثبت دادههای جدید در بلاکچین باید به میزان زیادی پردازش کامپیوتری انجام دهند و منابع انرژی مصرف کنند. مصرف بالای انرژی در این روش تضمین میدهد که یک نود خرابکار نتواند داده غلط (مثل یک تراکنش تقلبی) را در بلاکچین ثبت کند، زیرا برای انجام این کار باید برای مدت طولانی، بلاکهای نامعتبر تولید کند و انجام این کار به میزان بسیار بالایی انرژی و کار پردازشی نیاز دارد که عملا توسط هیچ نودی امکانپذیر نیست.
الگوریتم اجماع و نقش آن در رمزارزها
در سیستمهای سنتی ذخیرهسازی داده، یک نهاد مرکزی و مدیر، وظیفه ثبت و اضافه کردن دادههای جدید به پایگاه داده را دارد. این مدیر میتواند تصمیم بگیرد که چه دادهای مورد تایید است و چه دادهای باید پاک شود. اما در بلاکچین هیچ نهاد مرکزیای وجود ندارد که درباره صحت دادهها تصمیمگیری کند؛ اینجاست که نقش Consensus Algorithms یا همان الگوریتمهای اجماع پررنگ میشود.
در بلاکچین، به جای یک نهاد مرکزی، شبکهای از کامپیوترها (که کاربران بلاکچین هستند) وظیفه ثبت دادههای جدید و نگهداری از دادههای پیشین را بر عهده دارند. چالشی که پیش میآید این است که چطور میتوان مطمئن شد که برخی از این کاربرها تقلب نخواهند کرد و دادههای اشتباه را به بلاکچین وارد نمیکنند؟ الگوریتم اجماع مجموعهای از قواعد و روشهاست که کاربران بلاکچین طبق آن به اجماع نظر میرسند که چه دادهای درست است و میتواند در بلاکچین باقی بماند.

کاربردهای الگوریتم اجماع
الگوریتمهای اجماع مکانیزمهایی هستند برای ایجاد توافق در سیستمهای غیرمتمرکز کاربردهای گستردهای در حوزههای مختلف دارند. از جمله کاربردهای الگوریتم اجماع میتوان به موارد زیر اشاره کرد:
- بلاکچین و رمزارزها: هسته اصلی عملکرد بلاکچینها هستند و تضمین میکنند که تمام کاربران شبکه بر سر وضعیت دفترکل توزیعشده به توافق میرسند، از تقلب و دوبار خرج کردن (Double Spend) جلوگیری و امنیت و یکپارچگی شبکه را حفظ میکنند. از الگوریتمهای مختلفی مانند اثبات کار، اثبات سهام و مشتقات آنها در بلاکچینهای مختلف استفاده میشود.
- اینترنت اشیا (IoT): با افزایش تعداد دستگاههای متصل به یک شبکه، الگوریتمهای اجماع میتوانند برای ایجاد اعتماد و امنیت در تبادل دادهها بین این دستگاهها استفاده شوند.
- رایگیری دیجیتال: الگوریتمهای اجماع میتوانند برای ایجاد سیستمهای رایگیری آنلاین امن، شفاف و غیرقابل دستکاری استفاده شوند. این الگوریتمها تضمین میکنند که هر رای فقط یک بار شمرده میشود و نتایج به صورت قابل اعتماد ثبت و اعلام میشوند.
- سیستمهای توزیعشده: در سیستمهای توزیعشده سنتی (مانند پایگاههای داده توزیعشده و سیستمهای ذخیرهسازی فایل توزیعشده)، الگوریتمهای اجماع مانند Paxos و Raft برای اطمینان از یکپارچگی دادهها و هماهنگی بین نودهای مختلف در صورت بروز خطا استفاده میشوند.
- سیستمهای پردازش دادههای بزرگ: در پردازش دادههای بزرگ، الگوریتم اجماع میتواند برای هماهنگی بین پردازشگرهای مختلف و اطمینان از صحت نتایج محاسبات به کار گرفته شود.

انواع الگوریتمهای اجماع
با ظهور ارزهای دیجیتال و نیاز به الگوریتم اجماع کارآمد، انواع بلاکچین با الگوریتمهای اجماع متنوع طراحی و پیادهسازی شده است که هر کدام مزایا و معایب خود را دارند. برخی از الگوریتمهای اجماع سرعت بالا دارند و مقیاسپذیراند، اما امنیت پایینتر دارند و تحمل خطایشان نسبت به نودهای مخرب و تقلب پایین است. برخی دیگر امن و غیرمتمرکز هستند؛ اما سرعت پایینتری دارند. هر بلاکچین بسته به کاربرد و اهدافی که دنبال میکند، از الگوریتم اجماع مخصوص به خود استفاده میکند تا در ویژگیهای مقیاسپذیری و امنیت، امتیاز مطلوب خود را کسب کند. در ادامه، ابتدا معروفترین الگوریتمهای اجماع را در یک جدول با یکدیگر مقایسه میکنیم و سپس نحوه کار هر کدام را به طور دقیق بررسی خواهیم کرد.
نام | اختصار | توضیح مختصر | مثال | مزایا | معایب |
---|---|---|---|---|---|
اثبات کار | PoW | مصرف برق بالا و توان پردازشی نیاز دارد | بیت کوین | بیشترین حد تمرکززدایی | مقیاسپذیری کم، مصرف انرژی بالا |
اثبات سهام | PoS | سهامداران اعتبارسنجی میکنند | اتریوم | مصرف انرژی کم، تراکنشهای ارزان | امکان افتادن تمرکز قدرت در دست استیککنندگان بزرگ |
اثبات سهام نمایندگیشده | DPoS | برخی نودها به نمایندگی باقی شبکه اعتبارسنجی میکنند | EOS | مقیاسپذیری بسیار بالا | تمرکز نسبی قدرت در دست نمایندگان منتخب |
اثبات اعتبار | PoA | نودهایی که از پیش معتبر هستند اعتبارسنجی میکنند | شبکههای خصوصی، VeChain | مقیاسپذیری و سرعت مناسب | تمرکز بالا |
اثبات فعالیت | PoA | ترکیبی از PoW و PoS است | Decred | ترکیب مزایای اثبات کار و اثبات سهام | پیچیدگی در پیادهسازی، مصرف انرژی متوسط |
اثبات فضا | PoC یا PoSPACE | افراد با به اشتراک گذاشتن حافظه کامپیوتر خود اعتبارسنجی میکنند | Chia Network | دوستدار محیط زیست، کاهش موانع برای ورود اعتبارسنجهای جدید | تمرکز احتمالی در دست کسانی که به حافظههای ذخیرهسازی بزرگ دسترسی دارند |
اثبات زمان سپریشده | PoET | به جای مصرف انرژی، نودها به صورت تصادفی برای ثبت دادههای جدید انتخاب میشوند | Hyperledger Sawtooth | مصرف انرژی پایین، دموکراسی بیشتر در فرآیند اعتبارسنجی | وابستگی به نودهای منتخب که میتوانند خرابکار باشند |
اثبات سوزاندن | PoB | به جای مصرف انرژی، نودها توکنهای خود را به آدرسهای مخصوص توکنسوزی ارسال میکنند | بیشتر به عنوان روشی برای ایجاد توکنهای جدید استفاده میشود | مصرف انرژی پایین | از بین رفتن رمزارز شبکه که ممکن است از نظر اقتصادی دلخواه نباشد |
تحمل خطای بیزانسی عملی | PBFT | نودها باید تایید بیش از دو سوم نودهای دیگر را به دست بیاورند | Hyperledger Fabric، برخی از بلاکچینهای کنسرسیومی | امنیت مناسب | مقیاسپذیری محدود |
گراف غیرمدور جهتدار | DAG | به جای ساختار بلاک، تراکنشها به صورت خطی به هم متصل و اعتبارسنجی میشوند | IOTA | کارمزد تراکنشهای بسیار ناچیز یا حتی مجانی | این مدل همچنان در حال تکامل است و ممکن است از نظر امنیت به اندازه سایر الگوریتمها کارا نباشد |
اثبات شهرت | PoR | هر نودی که سابقه عملکرد خوب در شبکه داشته باشد اعتبارسنجی میکند | GoChain | تشویق نودها به رفتار صادقانه، سرعت بالا | نودهای مشهور نیز ممکن است زمانی خرابکاری کنند |
اثبات سهام اجارهای | LPoS | افراد میتوانند توکن به نودها اجاره دهند تا در اعتبارسنجی سهم داشته باشند | Waves | کاهش موانع ورود برای اعتبارسنجی | ممکن است منجر به تمرکز قدرت در دست استخرهای بزرگ استیکینگ شود |
اثبات تاریخچه | PoH | یک روش برای ثبت زمان و ترتیب رویدادهای درون یک بلاکچین است | در سولانا از این روش استفاده میشود | افزایش سرعت الگوریتم اجماع اصلی | پیچیدگی در پیادهسازی |
اثبات اهمیت | PoI | هر نودی که فعالیت مفید بیشتر در شبکه داشته باشد اعتبارسنجی میکند | NEM (New Economy Movement) | توزیع عادلانهتر پاداش بین کاربران فعال | پیچیدگی در محاسبه میزان «فعالیت مفید» یک نود |
توافق بیزانسی فدرالی | FBA | هر نود، گروهی نود مورد اعتماد دارد که تنها نظر آنها را برای اعتبارسنجی میپرسد | Stellar و Ripple از این روش الهام گرفتهاند و الگوریتم اجماع مخصوص به خود را پیادهسازی کردهاند | سرعت و مقیاسپذیری بالا | پیچیدگی در پیادهسازی و مدیریت گروههای معتمد یا Quorom Slice |
اثبات کار (PoW)
در روش Proof of Work یا الگوریتم اثبات کار نودهای شبکه (ماینرها نیز یک نود هستند) برای افزودن بلاک جدید به بلاکچین، باید یک مسئله محاسباتی پیچیده را حل کنند. اولین ماینری که این مسئله را حل کند، حق دارد بلاک جدید را پیشنهاد دهد و در صورت تایید سایر نودها، بلاک به بلاکچین اضافه میشود. حل این مسئله نیازمند صرف مقدار قابل توجهی توان پردازشی و انرژی است.
اثبات سهام (PoS)
در الگوریتم اثبات سهام که Proof of Stake نامیده میشود، به جای قدرت محاسباتی، میزان دارایی (سهام) شرکتکنندگان در شبکه تعیین میکند که چه کسی حق دارد بلاک جدید را ایجاد و تایید کند. این فرایند که استیکینگ (Staking یا قفل کردن دارایی) نام دارد، به کاربران اجازه میدهد تا با سپردهگذاری کوینها خود، به امنیت شبکه و اعتبارسنجی بهتر تراکنشها کمک کنند. به طور معمول، کاربرانی که مقدار بیشتری از رمزارز شبکه را قفل (Stake) کردهاند، شانس بیشتری برای انتخاب شدن به عنوان اعتبارسنج (Validator) و تولید بلاک دارند. برای کسب درآمد با استیک کردن، یا قفل کردن ارزهای دیجیتال در این روش، باید از خرید ارز دیجیتال از یک صرافی معتبر شروع کنید.

اثبات سهام نمایندگیشده (DPoS)
در الگوریتم Delegated Proof of Stake، دارندگان توکنهای شبکه، تعدادی نماینده (Delegates یا Witnesses) را انتخاب میکنند تا به جای آنها بلاکها را تولید و تراکنشها را تایید کنند. قدرت رای هر دارنده توکن متناسب با میزان ارزی بوده که در شبکه قفل کرده است. نمایندگان منتخب به صورت چرخشی یا بر اساس یک سیستم رتبهبندی، وظایف اعتبارسنجی را انجام میدهند و در صورت عملکرد بد، ممکن است توسط دارندگان توکن عزل شوند.
اثبات اعتبار (PoA)
در روش Proof of Authority، هویت اعتبارسنجها از قبل مشخص و مورد اعتماد است. این اعتبارسنجها نهادها یا افراد معتبری هستند که به دلیل شهرت و اعتبار خود، انگیزه کمی برای انجام رفتارهای مخرب دارند. بلاکهای جدید توسط این اعتبارسنجهای تاییدشده ایجاد میشوند. این روش بیشتر در بلاکچینهای کنسرسیومی استفاده میشود که نودها معتبر هستند و میتوان به آنها اعتماد کرد.
اثبات فعالیت (PoA)
الگوریتم Proof of Activity ترکیبی از ایدههای اثبات کار (PoW) و اثبات سهام (PoS) است. فرآیند با استخراج بلاک به سبک PoW آغاز میشود؛ اما ماینرها یک بلاک خالی (بدون تراکنش) را که فقط اطلاعات اولیه بلاک را دارد ماین میکنند. سپس سیستم به طور تصادفی اعتبارسنجهایی را بر اساس میزان ارز قفل شده انتخاب میکند تا بر سر این بلاک و تراکنشهای درون آن به اجماع برسند.

اثبات فضا / گنجایش (PoC)
در الگوریتم Proof of Space یا Proof of Capacity، شرکتکنندگان شبکه (که به آنها فارمر یا کشاورز گفته میشود) به جای انجام محاسبات پیچیده، مقدار مشخصی از فضای ذخیرهسازی کامیپیوتر خود را به بلاکچین اختصاص میدهند و یک سری دادهها (پلاتها) را در آن ذخیره میکنند. برای ایجاد بلاک جدید، شبکه یک چالش تصادفی تولید میکند و فارمرها فضای ذخیرهسازی خود را جستجو میکنند تا به نزدیکترین پاسخ برسند. کسی که نزدیکترین پاسخ را داشته باشد، شانس بیشتری برای ایجاد بلاک بعدی دارد. پس هرچه فارمر شبکه فضای بیشتری به بلاکچین اختصاص دهد، شانس دریافت پاداش بلاک افزایش پیدا میکند.
اثبات زمان سپریشده (PoET)
در روش Proof of Elapsed Time که توسط شرکت اینتل (Intel) برای بلاکچینهای خصوصی طراحی شده، یک مقدار «زمانِ صبر کردن» به صورت تصادفی به نودهای شبکه داده میشود که باید به آن میزان صبر کنند تا بتوانند بلاک بعدی را بسازند. در نتیجه نودی که زمان کمتری بهش داده شده برنده جایزه بلاک خواهد بود.

اثبات سوزاندن (PoB)
ایده روش Proof of Burn نیز از اثبات کار میآید. در این روش به جای این که افراد پول خود را صرف خرید ماینر کنند، ارز دیجیتال بلاکچین را میخرند و آن را به یک آدرس غیر قابل استفاده ارسال میکنند؛ درست مثل فرآیند سوزاندن ارز. حال هر نودی که ارز بیشتری بسوزاند، شانس بیشتری برای ساخت بلاک جدید و دریافت پاداش بلاک خواهد داشت. این روش تاکنون پیادهسازی موفقی به شکل بلاکچین نداشته، اما برای ساخت توکنهای جدید روی بلاکچینهای موجود از این روش استفاده میشود.
تحمل خطای بیزانسی عملی (PBFT)
BFT یا Byzantine Fault Tolerance یک ویژگی در سیستمهای توزیعشده است که به آنها اجازه میدهد حتی در صورت وجود تعدادی از اجزای مخرب، به عملکرد صحیح و توافق نظر برسند.
الگوریتم اجماع Practical Byzantine Fault Tolerance یکی از نمونههای اولیه الگوریتم اجماع است و تا زمانی که کمتر از یک سوم نودها خرابکار باشند، به درستی عمل میکند. در این روش یک کاربر، مثلا شما، تراکنش را به یک گره اطلاع میدهد. سپس این گره تراکنش را برای تمام گرهها ارسال میکند. در صورتی که بیش از دو سوم گرهها نسبت به صحت این تراکنش اتفاق نظر داشته باشند، این تراکنش در شبکه ثبت میشود و به بلاکچین اضافه میشود. این روش مقیاسپذیری بالایی ندارد و بیشتر در بلاکچینهای خصوصی یا کنسرسیومی استفاده میشود.

الگوریتم ترکیبی اثبات کار و اثبات سهام (Hybrid PoW/PoS)
برخی از الگوریتمها اجماع، سعی کردهاند دو روش اثبات کار و اثبات سهام را با یکدیگر ترکیب کنند تا در عین بهرهبردن از امنیت روش اثبات کار، از مقیاسپذیری و سرعت بالاتر روش اثبات سهام نیز استفاده کنند. به عنوان مثال، ممکن است از PoW برای ایجاد یک لایه امنیتی و در صحتسنجی هدر بلاک استفاده شود، در حالی که PoS برای فرآیند اجماع و ثبت تراکنشها به کار گرفته شود.
گراف غیرمدور جهتدار (DAG)
همانطور که بلاکچین یک روش برای ذخیرهسازی داده به صورت غیرمتمرکز است، Directed Acyclic Graph نیز یک ساختار داده است؛ در نتیجه یک Consensus Algorithms نیست. با این حال یک شیوه برای ذخیرهسازی دادهها به صورت توزیع شده است. در الگوریتم اعتماد DAG به جای یک زنجیره خطی از بلاکها، از یک نمودار جهتدار استفاده میشود که در آن هیچ دور بستهای وجود ندارد. منظور از «دور بسته» این است که در ساختار این نمودار جهتدار، هیچ مسیری وجود ندارد که از یک نقطه (مثلا یک تراکنش) شروع شود و دوباره به همان نقطه برگردد. فرض کنید تراکنش A به تراکنش B ارجاع میدهد، تراکنش B به تراکنش C و در نهایت تراکنش C هرگز به تراکنش A ارجاع داده نمیشود؛ زیرا در این صورت یک حلقه یا دور بسته به وجود میآید.

در این حالت، تعیین اینکه کدام تراکنش اول تایید شده و کدام بعد از آن، خیلی پیچیده میشود و میتواند منجر به بیاعتباری کل سیستم شود. در سیستمهای مبتنی بر DAG برای رمزارزها، هر تراکنش جدید به چندین تراکنش قبلی ارجاع داده میشود و با تایید آنها، خود نیز به طور غیرمستقیم تایید میشود. تفاوت اصلی بلاکچین و DAG در موارد زیر است:
- بلاکچین: تراکنشها درون جعبههایی به نام بلاک پشت سر هم چیده میشوند و برای تایید یک بلاک، همه باید روی جعبه مورد نظر توافق کنند.
- DAG: تراکنشها به صورت جداگانه به شبکه اضافه میشوند. برای تایید، به تراکنشهای قبلی متصل میشوند و به این شیوه تراکنشهای قبلی نیز تایید میشوند. فرض کنید علی به شما پول داده، شما به سینا و سینا به اشکان. این تراکنشها پشت سر هم به شبکه اضافه شدهاند و با دنبال کردن مسیری که طی شده میتوان بررسی کرد که جایی تقلبی رخ داده یا خیر.
اثبات شهرت (PoR)
در الگوریتم Proof of Reputation، اعتبار و سابقه شرکتکنندگان (نودها) در شبکه نقش کلیدی در انتخاب آنها برای تایید تراکنشها و ایجاد بلاکهای جدید ایفا میکند. نودهایی که سابقه عملکرد خوب و قابل اعتماد در شبکه داشته باشند، شانس بیشتری برای مشارکت در فرآیند اجماع خواهند داشت. این سیستم بر پایه اعتماد و شهرت بنا شده است.

فراموش نکنید که در فضای ارزهای دیجیتال از کلمه PoR به عنوان اختصار Proof of Reserves نیز استفاده میشود که به معنای اثبات ذخایر است و صرافیهای ارز دیجیتال متمرکز آن را ارائه میدهند. مثلا بایننس آدرسهای بیت کوین خود را در این بخش از سایتش قرار میدهد تا اثبات کند که خالی فروشی نمیکند و ذخایر بیت کوینش واقعا وجود دارند.
اثبات سهام اجارهای (LPoS)
Leased Proof-of-Stake یک نوع تغییر یافته از الگوریتم اثبات سهام است. در LPoS، دارندگان توکنهای شبکه که خودشان قصد ندارند یا توانایی شرکت در اعتبارسنجی تراکنشها را ندارند، میتوانند توکن خود را به نودهای دیگر «اجاره» دهند. این نودهای اجارهکننده با استفاده از مجموع توکنی که در اختیار دارند (که شامل توکنهای شخصی و توکنهای اجاره شده میشود) در فرآیند اجماع شرکت میکنند و در ازای آن، بخشی از پاداش را با اجارهدهندگان سهیم میشوند.
اثبات تاریخچه (PoH)
اگر بخواهیم دقیق باشیم، الگوریتم اثبات تاریخچه یا Proof of History یک الگوریتم اجماع نیست؛ بلکه یک نوآوری برای ثبت زمان و ترتیب رویدادها در یک شبکه غیرمتمرکز است. این الگوریتم با استفاده از یک تابع VFD (Verifiable Delay Function یک تابع رمزنگاری است که برای محاسبه به زمان مشخصی نیاز دارد)، یک مهر زمانی رمزنگاریشده و غیرقابل دستکاری برای هر تراکنش ایجاد میکند. این کار به نودها کمک میکند تا بدون نیاز به تکیه بر یک منبع زمان متمرکز، در مورد ترتیب دقیق تراکنشها به توافق برسند و فرآیند اجماع را سرعت میبخشد. PoH در ترکیب با یک الگوریتم اجماع دیگر مانند اثبات سهام استفاده میشود.

اثبات اهمیت (PoI)
الگوریتم Proof of Importance تلاش میکند تا علاوه بر میزان توکن قفل شده (مثل روش اثبات سهام)، فاکتورهای دیگری را نیز در انتخاب نودها برای تولید بلاک در نظر بگیرد. این فاکتورها میتوانند شامل میزان تراکنشهای انجام شده توسط یک نود، تعداد نودهای دیگری که به آن اعتماد دارند و فعالیت کلی آن در شبکه باشد. هدف PoI، تشویق نودها به مشارکت فعال و مثبت در شبکه و بلاکچین است.
توافق بیزانسی فدرالی (FBA)
Federated Byzantine Agreement یک نوع الگوریتم اجماع است که برای شبکههای بزرگ و توزیعشده طراحی شده تا حتی اگر برخی نودها خرابکار باشند، همچنان کار کند. برخلاف PBFT که برای شبکههای کوچک مناسب است، در FBA هر گره خودش تصمیم میگیرد به کدام گرههای دیگر اعتماد کند و یک گروه کوچک به نام «Quorum Slice» تشکیل میدهد. وقتی تعداد کافی از این گروهها در شبکه روی یک تراکنش توافق کنند، تراکنش تایید میشود. این روش باعث میشود شبکه خیلی بزرگتر و مقیاسپذیرتر شود، چون لازم نیست همه گرهها با هم توافق کنند.

جمعبندی
الگوریتمهای اجماع، پایه و اساس شبکههای غیرمتمرکز مانند بلاکچینها هستند. آنها با فراهمکردن چارچوبی برای تصمیمگیری جمعی میان نودهای شبکه، بدون نیاز به نهاد مرکزی، امکان ثبت دادههای معتبر و جلوگیری از تقلب را فراهم میکنند. از بلاکچین و رمزارزها گرفته تا اینترنت اشیا، رایگیری دیجیتال و سیستمهای توزیعشده، این الگوریتمها نقش کلیدی در تضمین امنیت، شفافیت و هماهنگی در شبکه ایفا میکنند. با توجه به کاربرد، مقیاسپذیری، تمرکززدایی و منابع در دسترس، هر شبکه میتواند الگوریتم اجماعی متناسب با نیاز خود را انتخاب کند.
سوالات متداول
چرا به الگوریتم اجماع در سیستمهای غیرمتمرکز نیاز داریم؟
زیرا در نبود یک نهاد مدیریتی مرکزی، باید ساز و کار و قوانینی برای به اتفاق نظر رسیدن میان کاربران شبکه وجود داشته باشد تا از هرج و مرج و خرابکاری در شبکه جلوگیری شود.
محبوبترین الگوریتمهای اجماع کدامند؟
اثبات کار بیت کوین و اثبات سهام اتریوم، محبوبترین الگوریتمهای اجماع در دنیای کریپتوکارنسی هستند.
چگونه الگوریتم اجماع در امنیت شبکه بلاکچین تاثیر میگذارد؟
برخی از الگوریتمهای اجماع نسبت به تقلب یا نفوذ نودهای مخرب امنتر هستند و شبکه بلاکچینی که بر مبنای آنها ساخته شود، کمتر مورد دستکاری یا خرابکاری قرار میگیرد.
چگونه میتوان یک بلاکچین با الگوریتم اجماع PoW را به PoS تبدیل کرد؟
این فرآیند بسیار پیچیده است؛ اما در ارز اتریوم انجام شده است. برای این کار باید: ۱) پروتکل اجماع جدید را طراحی و پیادهسازی کنید، که شامل طرحریزی قوانین انتخاب اعتبارسنجها میشود ۲) یک هاردفورک انجام دهید تا شبکه به پروتکل جدید مهاجرت کند. ۳) گرهها را بهروزرسانی کنید تا از الگوریتم اجماع جدید پشتیبانی کنند. ۴) مکانیزمی برای انتقال موجودیها به سیستم جدید ایجاد کنید. ۵) با اطلاعرسانی و اجماع جامعه، از پذیرش گسترده اطمینان حاصل کنید.
آیا الگوریتم اجماع PoS برای بلاکچینهایی با حجم تراکنش بالا مناسب است؟
بله. این روش بسیار مقیاسپذیر است و میتواند تراکنشهای زیادی را در زمان اندک پردازش کند.
آیا الگوریتم اجماع برای استیکینگ ارز دیجیتال قابل استفاده است؟
به طور مستقیم خیر. برای استیکینگ ارز دیجیتال در بلاکچینهایی که از الگوریتمهای مبتنی بر اثبات سهام استفاده میکنند، کافی است ارز خود را از طریق یک کیف پول ارز دیجیتال معتبر به یک استخر استیکینگ منتقل کنید.
آیا الگوریتمهای اجماع میتوانند تاثیر مستقیمی بر قیمت رمزارزها داشته باشند؟
بله. الگوریتمهای اجماع کارا، مقیاسپذیر و امن، اعتماد کاربران را جلب میکنند و کاربردهای جدید برای ارز دیجیتال بومی آن بلاکچین ایجاد میکنند. در نتیجه کسب اعتماد و افزایش قابلیتهای بلاکچین، خرید و فروش ارز دیجیتال نیز افزایش پیدا میکند و به دنبال آن قیمت ارز میتواند افزایش پیدا کند.
چه عواملی بر انتخاب الگوریتم اجماع برای پروژههای بلاکچین تاثیرگذار است؟
اهداف بلاکچین از نظر میزان تمرکززدایی، امنیت، مقیاسپذیری، هزینههای کارمزد و چشماندازهای فنی در انتخاب الگوریتم اجماع مناسب برای هر بلاکچین تاثیر گذار است.
اولین نفری باشید که نظر می دهید