
با گسترش فناوریهای غیرمتمرکز، دیگر بسیاری از سیستمها بدون نیاز به نهادهای مرکزی فعالیت میکنند. در چنین ساختارهایی، هماهنگی و توافق میان اجزای مختلف شبکه بدون وجود یک مرجع واحد، به یکی از چالشهای اصلی تبدیل شده است. چطور میتوان اطمینان داشت که اطلاعاتی که در میان صدها یا هزاران نود مستقل رد و بدل میشود، دقیق و هماهنگ باقی بماند؟ پاسخ این سؤال، در مفهومی نهفته است که قلب تپنده بسیاری از شبکههای بلاکچینی به شمار میرود.
در این مقاله، با ماهیت الگوریتمهای اجماع آشنا میشویم، کاربردهای مهم آنها را بررسی میکنیم، نگاهی جامع به انواع مختلف الگوریتمهای اجماع خواهیم داشت، تفاوت شبکههای متمرکز و غیرمتمرکز را توضیح میدهیم و در نهایت، رایجترین روشهای اجماع در دنیای ارزهای دیجیتال را مرور خواهیم کرد.
الگوریتم اجماع چیست؟
الگوریتم اجماع (Consensus Algorithm) به سازوکار توافق جمعی در یک شبکه غیرمتمرکز برمیگردد. در شبکههایی مانند بلاکچین که هیچ نهاد مرکزی برای تأیید و کنترل وجود ندارد، الگوریتمهای اجماع نقش کلیدی در اطمینان از یکپارچگی و اعتبار دادهها ایفا میکنند.
تاریخچه پیدایش الگوریتمهای اجماع
اولین شکل شناختهشده از الگوریتمهای اجماع در مقاله بیتکوین در سال 2008 معرفی شد. در این مقاله، ساتوشی ناکاموتو از الگوریتم اثبات کار برای اجماع بین نودهای شبکه بیتکوین استفاده کرد. پس از آن، با توسعه بلاکچینها، انواع مختلفی از الگوریتمهای اجماع متناسب با نیازهای متفاوت معرفی شدند.
کاربردهای الگوریتم اجماع
-
ثبت و تایید تراکنشها در شبکههای بلاکچینی
-
جلوگیری از حملاتی مانند دوبار خرج کردن
-
هماهنگی بین نودهای غیرمتمرکز
-
حفظ امنیت و انسجام شبکه
-
انتخاب نودهای تولیدکننده بلاک یا تاییدکننده تراکنشها
آشنایی با انواع الگوریتمهای اجماع
-
اثبات کار (Proof of Work - PoW)
اولین الگوریتم اجماع استفادهشده در بیتکوین. در این روش، نودها با انجام محاسبات پیچیده ریاضی رقابت میکنند تا بلاک جدیدی بسازند. این فرایند نیازمند توان پردازشی و مصرف بالای انرژی است.
-
اثبات سهام (Proof of Stake - PoS)
در این الگوریتم، کاربران با قفلکردن مقدار مشخصی از رمزارز، شانس تایید بلاکها را پیدا میکنند. هرچه سهام بیشتری داشته باشند، شانس بیشتری خواهند داشت.
-
اثبات سهام نمایندگیشده (Delegated PoS - DPoS)
شکل بهینهشدهای از PoS است که در آن کاربران به نمایندگانی رأی میدهند تا وظیفه تایید بلاکها را برعهده بگیرند. سرعت بالا ولی احتمال تمرکز بیشتر.
-
اثبات سهام استیجاری (Leased PoS - LPoS)
در این مدل، کاربران میتوانند سهام خود را به دیگر نودها اجاره دهند تا قدرت تایید آنها افزایش یابد و در سود مشارکت کنند.
-
اثبات اعتبار (Proof of Authority - PoA)
در این الگوریتم، تنها نودهایی با هویت مشخص و معتبر اجازه تایید تراکنشها را دارند. برای بلاکچین های خصوصی یا سازمانی مناسب است.
-
تحمل خطای بیزانس (Byzantine Fault Tolerance - BFT)
در این الگوریتم، سیستم در برابر نودهای خرابکار مقاوم است و تا زمانی که بیش از دو سوم نودها درست عمل کنند، شبکه پایدار خواهد بود.
-
تحمل خطای بیزانس عملی (Practical BFT - PBFT)
نسخهای کاربردیتر از BFT است که در آن نودها در سه مرحله به توافق میرسند. مناسب برای شبکههای با تعداد نود کم، مثل شبکههای سازمانی یا نیمهخصوصی.
-
تحمل خطای بیزانس نیابتی (Delegated BFT - dBFT)
ترکیبی از DPoS و BFT که در آن نمایندگان منتخب به توافق بیزانسی میرسند. مورد استفاده در بلاکچین NEO.
-
گراف جهتدار غیرمدور (Directed Acyclic Graph - DAG)
در پروژههایی مثل IOTA، تراکنشها بهجای قرار گرفتن در بلاک، مستقیماً و زنجیروار به هم متصل میشوند و هر تراکنش، دو تراکنش قبلی را تأیید میکند. بنابراین نیازی به ماینر یا ساخت بلاک نیست. برای پروژههایی که با اینترنت اشیا (IoT) سر و کار دارند، انتخاب بسیار مناسبی باشد
-
اثبات ظرفیت (Proof of Capacity - PoC)
در این روش، نودها فضای ذخیرهسازی خود را با دادههای خاص پر میکنند و از آن برای تایید بلاکها استفاده میشود. مصرف انرژی پایین.
-
اثبات سوزاندن (Proof of Burn - PoB)
کاربران با ارسال بخشی از رمزارز خود به آدرس غیرقابل دسترس، حق مشارکت در اجماع را کسب میکنند. نوعی سرمایهگذاری بلندمدت.
-
اثبات هویت (Proof of Identity - PoI)
در این روش، تایید نودها با استفاده از هویت واقعی آنها صورت میگیرد. بیشتر برای شبکههای خصوصی مناسب است.
-
اثبات فعالیت (Proof of Activity - PoA)
ترکیبی از PoW و PoS که ابتدا استخراجکنندگان بلاک را پیدا میکنند و سپس تایید آن به نودهای PoS سپرده میشود.
-
اثبات زمان سپریشده (Proof of Elapsed Time - PoET)
نودها باید برای مدت مشخصی منتظر بمانند و برنده از طریق قرعهکشی تعیین میشود. توسط Intel توسعه یافته.
-
اثبات اهمیت (Proof of Importance - PoI)
علاوه بر موجودی رمزارز، میزان فعالیت و تعامل کاربر با شبکه نیز بر شانس تایید بلاک تاثیر میگذارد. مورد استفاده در NEM.
-
اثبات شهرت (Proof of Reputation - PoR)
نودهایی با عملکرد خوب و سابقه معتبر، اولویت تایید دارند. برای بلاکچین های کنسرسیومی مناسب است.
-
اثبات مکان (Proof of Location - PoL)
در این الگوریتم، موقعیت جغرافیایی نودها برای تایید مشارکت آنها استفاده میشود.
-
اثبات اعتماد (Proof of Trust - PoT)
ترکیبی از الگوریتمهای شهرت و امتیازدهی که در آن اعتبار و اعتماد نود تعیینکننده مشارکت است.
-
اثبات تاریخ (Proof of History - PoH)
استفادهشده در شبکه سولانا. این الگوریتم تایماستمپهای رمزنگاریشده تولید میکند تا ترتیب تراکنشها بهدرستی حفظ شود.
-
اثبات فضا-زمان (Proof of Space-Time - PoST)
ترکیبی از PoC و زمان. نود باید ثابت کند که برای یک بازه زمانی، دادهای را در اختیار داشته است.
-
اثبات وزن (Proof of Weight - PoWeight)
نوعی از PoS که در آن وزن نودها براساس معیارهایی مثل دارایی یا مشارکت در شبکه تعیین میشود.
مهمترین الگوریتمهای اجماع در بلاکچین
-
بیتکوین: اثبات کار (PoW)
-
اتریوم لایه دو: اثبات سهام (PoS)
-
کاردانو: اثبات سهام (PoS)
-
ترون و ایاس: اثبات سهام نمایندگیشده (DPoS)
-
سولانا: اثبات تاریخ (PoH)
-
NEM: اثبات اهمیت (PoI)
الگوریتم اجماع و رمزارزها
تقریباً تمام ارزهای دیجیتال برای ثبت تراکنشها و حفظ امنیت شبکه از نوعی الگوریتم اجماع استفاده میکنند. انتخاب الگوریتم مناسب، بر سرعت، مقیاسپذیری، و تمرکززدایی بلاکچین تأثیر مستقیمی دارد.
مطلب پیشنهادی: آشنایی با بلاکچین اتریوم
تفاوت سیستم متمرکز با سیستم غیرمتمرکز
در سیستم متمرکز، یک نهاد مرکزی کنترل کامل شبکه را دارد. اما در سیستم غیرمتمرکز، تصمیمگیری و تایید دادهها بین نودهای مختلف توزیع میشود. الگوریتم اجماع ابزار اصلی رسیدن به این هماهنگی در سیستمهای غیرمتمرکز است.
جمعبندی
الگوریتمهای اجماع پایهی اصلی بلاکچینها و سیستمهای غیرمتمرکز هستند. هر کدام از آنها ویژگیها و کاربردهای متفاوتی دارند و با توجه به هدف شبکه انتخاب میشوند. شناخت این الگوریتمها برای طراحی و استفاده درست از بلاکچین اهمیت زیادی دارد.