نامتمرکز بودن بلاکچین و ارزهای دیجیتال به این معناست که هیچ فرد یا مقام رسمی برای تصمیمگیری وجود ندارد. به همین دلیل اولین سؤالی که به ذهن مخاطب میرسد این است که اعضای یک شبکه برای انجام کارها و تصمیمگیریها چگونه با هم توافق میکنند؟ برای پاسخ به این سؤال باید با مفهومی به نام الگوریتمهای اجماع آشنا شوید. در ادامه این مقاله از پلازا با ما همراه باشید تا به این سؤال اساسی پاسخ دهیم.
در شبکههای متمرکز معمولاً یک فرد یا گروه مسئولیت اداره شبکه را برعهده دارند اما این ویژگی با ماهیت ارزهای دیجیتال یعنی نامتمرکز بودن کاملاً در تضاد است. به همین دلیل مکانیزمهایی به نام الگوریتمهای اجماع ظهور کردند که شرکتکنندگان شبکه بتوانند بر سر تصمیمگیریها و تأیید تراکنشها به توافق برسند. تنوع الگوریتمهای اجماع در ارزهای دیجیتال زیاد است و در ادامه مطلب به چند نمونه آن که در ارزهای دیجیتال مشهور به کار رفتهاند اشاره خواهیم کرد. ابتدا باید ببینم الگوریتم اجماع چیست؟
فهرست مطالب
الگوریتم اجماع چیست؟
الگوریتم اجماع یا مکانیزم اجماع به برنامهای روی بلاکچین میگویند که برای ایجاد توافق در مورد یک کار روی دفتر کل توزیعشده استفاده میشود. اگر با دفتر کل توزیع شده آشنایی ندارید میتوانید به این مطلب مراجعه کنید. برای اینکه این الگوریتم را روی شبکه اجرا کنید به کاربران و حجم پردازشی زیادی نیاز دارید. اگر این الگوریتم وجود نداشت باید کارهایی مانند اعتبارسنجی و پردازش تراکنشهای روی شبکه را به صورت دستی انجام میدادیم که در عمل امکانپذیر نیست.
برای اینکه این مفهوم را درک کنید بیت کوین را مثال میزنیم. بلاکچین بیت کوین از الگوریتمی به نام اثبات کار (PoW) استفاده میکند. در این الگوریتم باید با استفاده از توان پردازشی بالا، معماهای رمزنگاری شدهای به نام هش (Hash) حل شوند که وظیفه آن برعهده ماینرهاست. بعد از اینکه ماینرها این معماها را حل کردند، الگوریتم اثبات کار از تمام نودهای شبکه میخواهد که موارد زیر را بررسی کنند و تغییرات را تأیید کنند:
- ساختار داده
- هش هدر بلاک
- برچسب زمانی بلاک
- سایز بلاک
- اولین تراکنش
مروری بر تاریخچه پیدایش الگوریتمهای اجماع
از سال ۱۹۸۰ به بعد که محبوبیت کامپیوتر و شبکه بیشتر شد مفهومی به نام پایگاه داده اشتراکی بهوجود آمد. کاربران میتوانستند به این پایگاههای داده متمرکز متصل شوند و اطلاعات مورد نیازشان را دریافت کنند. به مرور زمان برای این پایگاههای داده سرپرست یا اصطلاحاً ادمینهایی در نظر گرفته شد که دسترسی کاربران و یکپارچگی اطلاعات را مدیریت کنند. بعدها به دلیل توضیحاتی که دادیم، نام دفتر کل توزیع شده (Distributed Ledger) را روی این دیتابیسها گذاشتند.
یکی از معضلات این دفترهای کل توزیع شده جلوگیری از دستکاری اطلاعات و دسترسیهای غیرمجاز بود و به همین دلیل باید راهی برای خودکار کردن مدیریت آنها پیدا میکردند. اینجا بود که مکانیزمهای خودگردان توزیع شده متولد شدند. در این مکانیزم برای اینکه کاری روی شبکه انجام شود ابتدا باید میان افراد توافق صورت میگرفت. برای این کار رشتهای از کاراکترها را در نظر گرفتند که به آن هش (Hash) میگوییم.
هش فقط زمانی تغییر میکند که اطلاعات ورودی به الگوریتم آن را تغییر دهید و به همین دلیل برنامههایی طراحی کردند تا هشها را با هم مطابقت دهند. اگرچه پیدایش الگوریتم اجماع را به خالق بیت کوین یعنی ساتوشی ناکاموتو نسبت میدهند اما میبینید که از گذشتههای خیلی دور این مکانیزم روی شبکههای کامپیوتری استفاده میشد.
الگوریتمهای اجماع چگونه کار میکنند؟
الگوریتمهای اجماع از نظر جزئیات کاملاً متفاوت عمل میکنند اما اغلب آنها از اصول مشترکی پیروی میکنند. در شبکههای نامتمرکز خبری از فرد یا سازمان صاحب اختیار نیست و خود شرکتکنندگان باید بر سر مسائل مختلف شبکه و تأیید تراکنشها به توافق برسند. نام این کار در الگوریتمهای اجماع متفاوت است.
برای مثال در الگوریتم PoW به این کار ماینینگ میگویند و ماینرها موظفاند مسائل را حل کنند و به پاسخ برسند. از طرفی در الگوریتم PoS به این کار استیک کردن میگوییم و ولیدیتورها (Validator) وظیفه تأیید تراکنشها را برعهده دارند. در مجموع هدف اصلی الگوریتم اجماع این است که هیچ فرد یا مقام متمرکزی در شبکه تصمیمگیرنده نباشد و خود شرکتکنندگان به صورت کاملاً نامتمرکز کارها را انجام دهند.
معرفی رایجترین الگوریتمهای اجماع
هر کدام از الگوریتمهای اجماع کارکرد خاصی دارند و برای یک بلاکچین خاص مناسبترند. در این بخش قصد داریم تعدادی از رایجترین مکانیزمهای اجماع را به شما معرفی کنیم.
۱. الگوریتم اثبات کار
رایجترین مکانیزم اجماع که در بیت کوین یا لایت کوین هم وجود دارد الگوریتم اثبات کار یا PoW است. همانگونه که از اسم الگوریتم پیداست این مکانیزم از نودهای شرکتکننده میخواهد که برای تأیید تراکنشهای شبکه، محاسبات ریاضی پیچیدهای را انجام دهند. سپس اولین شرکتکنندهای که به پاسخ برسد پاداش میگیرد. این الگوریتم به توان پردازشی زیادی نیاز دارد و زمان پردازش تراکنشها بسیار پایین است.
۲. الگوریتم اثبات سهام
الگوریتم اثبات کار مشکلات زیادی داشت و به همین دلیل یک الگوریتم کمهزینه و کممصرفتر به نام اثبات سهام (PoS) معرفی شد. در این الگوریتم که اتریوم هم از آن استفاده میکند، نودهای شرکتکننده برای تأیید تراکنشها باید مقدار مشخصی از ارز دیجیتال شبکه را نگهداری یا اصطلاحاً هولد (Hold) کنند. این شرکتکنندگان بر اساس مقدار ارز دیجیتالی که استیک کردند انتخاب میشوند. مشکل الگوریتم اثبات سهام این است که نودهای شرکتکننده به جای خرج کردن به احتکار و انباشتن ارز روی میآورند.
۳. الگوریتم اثبات سهام نیابتی
الگوریتم اثبات سهام نیابتی (DPoS) یک نوع الگوریتم اثبات سهام است که شبکههایی مانند EOS از آن استفاده میکنند. در این الگوریتم تعدادی نود شرکتکننده به نمایندگی از کل شبکه موظفاند تراکنشها را تأیید کنند. این شرکتکنندگان بر اساس تعداد آرای دریافتی از شرکتکنندگان دیگر و مقدار ارز دیجیتال استیک شده توسط آنها انتخاب میشوند. این الگوریتم به پردازش سریع و مصرف انرژی کم شهرت دارد.
۴. الگوریتم اثبات اعتبار
در شبکههای بلاکچینی خصوصی معمولاً از الگوریتمی به نام اثبات اعتبار (PoA) استفاده میشود. در این الگوریتم، نودهای شرکتکننده بر اساس شهرت و اعتباری که در شبکه دارند به عنوان ولیدیتور (Validator) انتخاب میشوند. سرعت الگوریتم PoA به دلیل اینکه نیازی به کار محاسباتی سنگین یا استیک ارز دیجیتال ندارد بالاست و مصرف انرژی کمی دارد. مشکل الگوریتم اثبات اعتبار این است که امکان دستکاری شهرت ولیدیتور وجود دارد و به همین دلیل برای شبکههای خصوصی مناسبتر است.
۵. الگوریتم اثبات تاریخچه
یکی از مکانیزمهای اجماع نسبتاً جدید که سولانا هم از آن استفاده میکند اثبات تاریخچه است. سولانا این الگوریتم را با هدف هماهنگسازی زمان در شبکههای نامتمرکز ایجاد کرد. در الگوریتم PoH کاربری که اصطلاحاً به آن تأییدکننده (Verifier) میگوییم، محاسباتی را بر اساس یک تابع هش انجام میدهد. سپس تأییدکننده این اثبات تاریخچه را برای شرکتکنندگان دیگر شبکه منتشر میکند. در نهایت شرکتکنندگان دیگر هم با استفاده از این اثبات تاریخچه، رویدادی را که در یک زمان مشخص رخ داده است تأیید میکنند.
کدام الگوریتم اجماع بهتر است؟
انتخاب بهترین الگوریتم اجماع کاملاً به نیازهای کاربران بستگی دارد و نمیتوانیم یک الگوریتم را برای تمام بلاکچینها استفاده کنیم. همانگونه که مشاهده کردید هر کدام از الگوریتمهای اجماع نقاط قوت و ضعف خاص خودشان را دارند و نیاز شبکه تعیین میکند که کدام مورد مناسبتر است. برای مثال اگر در شبکه شما سرعت پردازش تراکنش در اولویت باشد بهتر است از مکانیزمهایی مانند DPoS یا BFT استفاده کنید. همچنین برای شبکههایی که باید مصرف انرژی کمتری داشته باشند، مکانیزمهایی مانند PoS یا PoA نسبت به مکانیزمهای دیگر عملکرد بهتری دارند.
آینده الگوریتمهای اجماع چگونه است؟
الگوریتمهای اجماع همیشه تلاش میکنند سه معضل همیشگی شبکه بلاکچین یعنی سرعت، مقیاسپذیری و امنیت را بهبود دهند. به همین دلیل احتمال میدهیم در آینده شاهد مکانیزمهایی باشیم که در ادامه به آنها اشاره میکنیم.
۱. الگوریتمهای اجماع ترکیبی
همانگونه که از نام آن پیداست، الگوریتمهای ترکیبی از ترکیب چند مکانیزم استفاده میکنند. هدف الگوریتم ترکیبی این است که از مزایای دو یا چند مکانیزم دیگر به صورت همزمان استفاده کند و عملکرد شبکه را تا بیشترین حد ممکن بهتر کند.
۲. الگوریتمهای اجماع حریم خصوصی
یکی از نگرانیهای همیشگی در دنیای بلاکچین، مسئله حریم خصوصی و محافظت از اطلاعات است. به همین دلیل پیشبینی میکنیم تعداد مکانیزمهایی که تمرکز آنها روی حریم خصوصی و ناشناس بودن است بیشتر شوند. الگوریتم اثبات با دانش صفر یا صفرآگاهی (ZKP) یکی از نمونههای خوب این نوع مکانیزم است.
۳. الگوریتمهای اجماع مقاوم در برابر محاسبات کوانتومی
یکی از اهداف اصلی الگوریتمهای اجماع، حفظ امنیت شبکه است. با پیشرفت محاسبات کوانتومی، امنیت شبکهها هم به خطر میافتد و باید مکانیزمهای ایجاد شوند که در مقابل حملات کوانتومی امنیت مناسبی دارند. از جمله این مکانیزمها میتوانیم به هش گراف (Hashgraph) اشاره کنیم که از ساختار DAG یا گراف جهتدار غیرمدور استفاده میکند.
سخن پایانی
الگوریتمهای اجماع نقش مهمی در تأمین امنیت، تصمیمگیریها و اعتبارسنجی تراکنشهای شبکههای نامتمرکز دارند و به همین دلیل وجود آنها برای بقای بلاکچین ضروری است. البته هیچکدام از این مکانیزمهای اجماع نمیتوانند نیاز تمام شبکهها را برآورده کنند و برای انتخاب الگوریتم مناسب باید مزایا و معایب آن را هم در نظر بگیرید. به نظر شما با توجه به پیشرفت فعلی بلاکچین، کدام الگوریتم اجماع جذابتر است و آینده روشنتری دارد؟ به جز ۳ موردی که ذکر کردیم چه مکانیزمهایی را برای رفع مشکلات بلاکچین پیشنهاد میدهید؟ در بخش نظرات منتظر دیدگاههای ارزشمند شما عزیزان هستیم.