الگوریتم اجماع (Consensus) در بلاکچین چیست؟

«الگوریتم اجماع» (Consensus Algorithm) نقش مهمی را ایفا میکند که آن تامین امنیت بلاکچین و داراییهای دیجیتال است. حتی میتوانیم بگوییم محبوبیت و موفقیت رمزارزهای برتر بازار مانند بیت کوین و اتریوم هم مدیون این الگوریتم است. پیشنیاز درک مکانیزم الگوریتم اجماع، شناخت بلاکچین و طرز کار آن است. ، پس پیشنهاد میکنیم، مطلب ما با عنوان «همه چیز درباره بلاکچین» را بخوانید.
پس بیایید با این مفهوم آشنا شویم و بدانیم به سوال اصلیمان برگردیم؛ الگوریتم اجماع چیست و چگونه امنیت بلاکچین را تامین میکند؟ با دیدکس همراه باشید.
توجه:
الگوریتم اجماع چیست؟
اگر مطلب ما در مورد بلاکچین را خوانده باشید، میدانید که، بلاکچین یک پایگاه ثبت داده است. اطلاعاتی که قرار است در شبکه به ثبت برسد، توسط اعضای آن بررسی میشود و اکثریت اعضا باید در مورد درستی آنها، اتفاق نظر داشته باشند. به این توافق،«اجماع» (Consensus) گفته میشود.
در واقع، براساس رأی اکثریت اطلاعات یک بلاک تایید و آن بلاک به بلاکچین اضافه میشود. این تایید نیازمندِ رأی حداقل 51 درصد از اعضای بلاکچین لازم است.
مالکیت این شبکه در اختیار اعضای آن است؛ هر کدام از اعضا در هر نقطه از جهان که باشد یک نسخه از بلاکچین را دارد. منظور از اینکه گفته میشود بلاکچین یک پایگاه داده توزیعشده (Distributed) است نیز، از همینجا سرچشمه میگیرد.
بلاکچین به اعضای آن تعلق دارد و توسط خود اعضا اداره میشود، یعنی در کنترل هیچ فرد یا نهاد خاصی نیست. از این ویژگی بلاکچین تحت عنوان غیرمتمرکز (Decentralized) یاد میشود.
حال که نهاد مراقب و ناظری برای بلاکچین وجود ندارد، چه تضمینی وجود دارد که اعضا به وظایف خود در بلاکچین به درستی عمل کنند و تقلب در بلاکچین اتفاق نمیافتد؟ جواب این سوال در الگوریتم اجماع نهفته است. برای جلوگیری از ثبت اطلاعات نادرست و یا سانسور و تغییر اطلاعات، بلاکچین الین الگوریتم را بهکار میبرد.
ازآنجاکه هر فرد یک نسخه از بلاکچین را در اختیار دارد، میتواند خیلی زود متوجه تقلب و دستکاری در این شبکه شود و اگر فرد بخواهد اطلاعاتی را تغییر دهد، باید بتواند اطلاعات روی سیستم سایر افراد شبکه را هم تغییر بدهد.
فرآیند اجماع سه کاربرد مهم برای شبکه بلاکچین دارد:
- بررسی معتبر بودن معاملات قبل از اضافهشدن به بلاکچین
- یکپارچهکردن اطلاعات روی سیستم اعضای شبکه
- مدیریت شبکه با انتخابکردن برخی از اعضا بهعنوان رهبر
انواع الگوریتم اجماع
برای فرایند اجماع، الگوریتمهای مختلفی وجود دارد. معروفترین الگوریتمهای اجماع، اثبات کار (Proof of Work) و اثبات سهام (Proof of Stack) هستند که در ادامه به بررسی انواع الگوریتم اجماع و مزایا و معایب هر کدام میپردازیم.
اثبات کار (Proof of work)
در الگوریتم اثبات کار، به عمل اضافهکردن بلوکها به بلاکچین «استخراج» یا «ماینینگ» (Mining) و به کسیکه اینکار را انجام میدهد، «استخراجکننده» یا «ماینر» (Miner) میگویند. کامپیوتری که برای استخراج استفاده میشود نیز «گره» یا «نود» (Node) نام دارد.
هر بلاک در بلاکچین یک شناسه منحصر به فرد به نام «هَش» (Hash) دارد. هش مجموعهای از اعداد تصادفی است. اگر اطلاعات بلاک تغییر کند، هش بلاک نیز تغییر میکند. هش هر بلاک، بخشی از هَش بلاک قبلی را در خود دارد. برای اینکه ماینرها بتوانند بلاکی را به بلاکچین اضافه کنند، باید هش آن بلاک را پیدا کنند. برای این کار باید معماها و مسائل ریاضی که توسط بلاکچین طرح شده است را حل کنند تا به هش درست برسند.
عملیات هشینگ و پیدا کردن جواب درست معما برق زیادی مصرف میکند. انگیزه ماینرها برای مصرف این منابع سختافزاری و انرژی، پاداشی است که توسط شبکه دریافت میکنند. پاداش ارز بومی شبکه است. به عنوان مثال، ماینرها در بلاکچین بیت کوین، به امید کسب پاداش شبکه به صورت بیت کوین، عملیات سخت و پرهزینه ماینیگ را انجام میدهند. لازم به ذکر است در الگوریتم اثبات کار هر چهار سال یکبار، یا بهعبارتی پس از استخراج هر 210 هزار بلاک، پاداش شبکه نصف میشود. به این رویداد، «هاوینگ» (Halving) میگویند. در حال حاضر این پاداش 6.25 واحد بیت کوین است.
برخی از رمزارزهای معروف که از این الگوریتم استفاده میکنند، بیت کوین، اتریوم، لایتکوین، دوجکوین و غیره هستند.
مزایای الگوریتم اثبات کار
- تجربه و سابقه خوب و بسیار بالا
- عدم نیاز به مجوز
- عدم تمرکز
- مکانیزم پاداشدهی
معایب اثبات کار
- اتلاف انرژی
- نوسان سختی شبکه (Network Difficulty)
- امکان حمله 51%
- سرعت پایین اضافه شدن بلاک به بلاکچین
- مقیاسپذیری پایین (Scaleability)
- تشکیل استخرهای ماینینگ (Mining Pools)
اثبات سهام (Proof of Stack)
میزان مصرف انرژی در الگوریتم اثبات کار بسیار بالاست. مهمترین و بیشترین انتقادی که به الگوریتم اثبات کار میشود، همین بحث مصرف انرژی بسیار بالا در آن است. براساس گزارشی از سایت «بیبیسی» (BBC)، بیت کوین در حدود هفت گیگاوات برق، معادل 0.21٪ از برق جهان، استفاده میکند. این نیرو همان قدرتی است که هفت نیروگاه هستهای «دانجنس» (Dungeness) همزمان تولید میکنند.
اخیرا نیز براساس گزارشی از «کوینتلگراف» (Cointelegraph) میزان برق مصرفی شبکه بیت کوین معادل 10 میلیون خانوار آمریکایی عنوان شده است. هدر رفتن انرژی زیاد و مشکلات زیست محیطی مربوط به الگوریتم اثبات کار، زمینه شکلگیری الگوریتم دیگری به نام الگوریتم «اثبات سهام» (Proof of Stake) را فراهم کرد.
در فرآیند اثبات سهام، افراد عملیات استخراج انجام نمیدهند. ماینر وجود ندارد و به جای آن «اعتبارسنج» (Validator) عمل افزودن بلاک به بلاکچین را بر عهده دارد. در اثبات سهام، معمایی برای حلشدن وجود ندارد، نیازی به تجهیزات پرهزینه و انرژیبر ماینینگ نیست و به همین دلیل است که مصرف انرژی در اثبات سهام بسیار پایینتر از اثبات کار است. شاید این سوال برای شما پیش بیاید که پس بلاکها چگونه اضافه میشوند؟
در فرآیند اثبات سهام، مانند اثبات کار، این خود اعضای شبکه هستند که، اطلاعات را تایید و مجوز ثبت آنها روی بلاکچین را صادر میکنند. در الگوریتم اثبات کار، افراد هزینههای زیادی از جمله هزینه برق و سختافزار را تقبل میکنند. آنها این کار را به امید پاداش انجام میدهند. تنها در صورتی به آنها پاداش تعلق میگیرد که اطلاعات درست را تایید کنند و اگر تقلب کنند به ضرر خودشان است.
اما در اثبات کار که خبری از هزینههای استخراج نیست، چه تضمینی وجود دارد که افراد برای تایید اطلاعات درست تلاش کنند و برایشان این موضوع اهمیت داشته باشد؟
در اثبات سهام افراد خرابکار و متقلّب جریمه یا به اصطلاح اِسلَش (Slash) میشوند. یعنی اگر فردی سعی کند تقلب و یا بلاک نادرستی را تایید کند کل سرمایهاش پوچ میشود.
فرآیند شرکت در اثبات سهام
در فرآیند اثبات سهام، اعضای شبکه ابتدا باید ارز بومی شبکه را تهیه کنند. سپس طی قراردادی آن را به شبکه اختصاص (Stack) دهند. یا به عبارتی سهامگذاری (Stacking) کنند. در اثبات سهام پاداش استخراج وجود ندارد و اعضا، براساس مقدار ارزی که استیک کردهاند، کارمزد دریافت میکنند.
مزایای الگوریتم اثبات سهام
- سازگار با محیط زیست و مصرف پایین انرژی
- تراکنشهای سریعتر
- دریافت پاداش و بهره با استفاده از فرایند استیکینگ
- احتمال بسیار پایین حملات 51 درصد
- مقیاسپذیری بالا
معایب اثبات سهام
- نسبتاً آزمایش نشده و تجربه پایین
- توانگر سالاری و افزایش قدرت ثروتمندان و سهامداران عمده
- نیاز به ارز برای استیکنیگ و قیمت نسبتاً بالای ارز
در این مطلب، در مورد مکانیزم ثبت اطلاعات در بلاکچین، یعنی الگوریتم اجماع صحبت کردیم. با مهمترین الگوریتمهای اجماع، یعنی اثبات کار و اثبات سهام آشنا شدیم و به بررسی مزایا و معایب هر کدام پرداختیم و دیدیم به دلیل برخی از مشکلات الگوریتم اثبات کار، به خصوص مصرف انرژی بالا و سرعت پایین ثبت تراکنش، الگوریتم اثبات سهام پیشنهاد شد.
اما الگوریتمهای دیگری نیز وجود دارند که برخی از آنها ترکیبی از دو الگوریتم اثبات کار و اثبات سهام و برخی، کاملا متفاوت هستند. گواه اثبات ظرفیت (Proof of Capacity)، گواه اثبات زمان سپری شده (Proof of Elapsed Time)، گواه اثبات سوزاندن (Proof of Burn)، گواه اثبات فعالیت (Proof of Activity)، گواه اثبات قدرت (Proof of Authority)، گواه اثبات سهام اعطایی (Delegated Proof of Stake)، تحملپذیری خطای بیزانس (Byzantine Fault Tolerance)، گواه اثبات اهمیت (Proof of Importance) وگراف جهتدار غیر مدور (Direct Acyclic Graphs)، تعدادی از این الگوریتمها هستند.
نظر شما در مورد الگوریتم اجماع چیست؟ به نظر شما آیا الگوریتم اجماع واقعا به توزیع قدرتِ تصمیمگیری در بلاکچین کمک میکند؟ لطفا نظرات خودتان را با دیدکس به اشتراک بگذارید.
منابع: Binance Academy، Blockgeeks، Investopedia