ارزهای دیجیتال و فناوری بلاکچین آمدهاند، تا بدون نظارت یک نهاد مرکزی فعالیت کنند. به همین خاطر شخص ثالثی نیست، که بخواهد صحت اطلاعات را تأیید کند. در نتیجه این فناوری از روشهایی برای برقراری امنیت و تأیید دادهها استفاده میکند، که به آن مکانیزم اجماع (Consensus Mechanism) میگویند. این روشها با غیرمتمرکز کردن این فناوری، به کاربران کمک میکنند، که از امنیت و صحت ذخیرهشدن اطلاعاتشان مطمئن باشند. در این مقاله میخواهیم به شما بگوییم که، «Consensus چیست؟» و انواع الگوریتمهای بلاکچین را، شامل الگوریتم اثبات کار (POW)، الگوریتم اثبات سهام (POS) و ... بهطور کامل توضیح دهیم.
اجماع یا Consensus چیست؟
اجماع یا Consensus در لغتنامۀ بریتانیکا به معنای توافق کلی درمورد چیزی است. در واقع اجماع زمانی اتفاق میافتد، که همۀ اعضای یک گروه، بر سر چیزی توافق داشته باشند. در بلاکچینها، برخلاف سیستمهای سنتی که یک پایگاه مرکزی اطلاعات داشتند، یک سیستم غیرمتمرکز داریم. هر بلاکچین از هزاران و یا حتی میلیونها پایگاه جمعآوری و پردازش دادهها تشکیل شده است، که به آنها «گره» یا «نود» (Node) میگوییم.
مشکل اصلی وجود تعداد زیادی گره این است، که آنها در سرتاسر شبکۀ اینترنت جهانی پخش هستند. ممکن است که در یک لحظه به دلایلی مثل قطعی اینترنت و یا کُندی آن، بعضی از این گرهها در دسترس نباشند. اینجاست که انواع الگوریتم بلاکچین برای تأیید اطلاعات به میان میآیند. الگوریتمهای بلاکچین، به شبکهها کمک میکنند، تا در صورتی که بعضی از گرهها در دسترس نباشند، باز هم بتواند صحت اطلاعات را بسنجد و آنها را ثبت کرد.
مکانیزم اجماع چیست؟
در دهۀ 80 و 90 میلادی، برای اولینبار پایگاههای مشترک دادهها ایجاد شد. این پایگاهها طوری ایجاد شده بودند، که چند نفر بتوانند به یک سری از اطلاعات دسترسی داشته باشند. این پایگاهها کمکم گسترش یافت؛ و به شبکههای متمرکزی تبدیل شد، که توسط یک کامپیوتر اداره میشود و افراد یک سازمان میتوانند از اطلاعاتش استفاده کنند. اینجا بود که شبکهها به اجماع برای توافق بر سر اطلاعات نیاز پیدا کردند. بنابراین تصمیم گرفتند، که برای یکپارچهسازی اطلاعات، آنها را با رشتهکُدی به نام «هش» رمزنگاری کنند.
الگوریتم اجماع بهصورتی طراحی شده بود، که اطلاعات فقط دارای یک کد هش باشند. پس قبل از پیدایش بیتکوین (Bitcoin) هم، افرادی روی مکانیزم اجماع (Consensus Mechanism) کار کرده بودند، اما در نهایت اعتبار آن به نام خالق ناشناس بیتکوین، یعنی «ساتوشی ناکاموتو» (Satoshi Nakamoto) ثبت شد.
به همین خاطر زمانی که در یک بلاکچین، تراکنشی اتفاق میافتد و باید اطلاعاتی ثبت شود، احتمالاً برخی از گرهها در دسترس نیستند. در نتیجه ما از انواع الگوریتمهای بلاکچین برای رسیدن به اجماع استفاده میکنیم، تا در نهایت تنها یک نسخۀ تأییدشده از اطلاعات در تمام گرهها ثبت شود؛ و بین دادهها تناقضی وجود نداشته باشد. در حال حاضر مکانیزم اجماع، مهمترین دغدغۀ سیستمهای غیرمتمرکز است. برای رسیدن به اجماع، الگوریتم بلاکچین تعداد حداقل گرههایی را که باید دربارۀ اطلاعات توافق کنند، مشخص میکند. سپس اطلاعات در یک خانۀ بلاکچین ذخیره شده و به هر خانه یک کد هش اختصاص داده میشود.
در الگوریتمهای بلاکچین تصور میشود، که ممکن است بعضی از گرهها در دسترس نباشند؛ و یا برخی از اطلاعات در مسیر انتقال از بین بروند. بنابراین اگر حداقل تعداد گره تعیینشده و صحت اطلاعات را تأیید کنند، اجماع حاصل میشود.
برخی از رایجترین انواع پروتکل اجماع کدامند؟
شبکههای مختلف از انواع مکانیزمهای اجماع استفاده میکنند. این روشها مدام بهروز میشوند، تا برخی از مشکلات مکانیزمهای قدیمیتر را برطرف کنند. برخی از رایجترین انواع الگوریتمهای بلاکچین عبارتند از:
پروتکل اثبات کار یا (PoW (Proof-of-Work
الگوریتم PoW یا گواه اثبات کار اولین الگوریتم بلاکچینها بود، که توسط ساتوشی ناکاموتو، بنیانگذار بیتکوین، مطرح شد. گواهی اثبات کار به این صورت عمل میکند، که هر شخصی در نقطهای از دنیا، سختافزار کامپیوتریاش را به شبکه متصل میکند. این سختافزارها برای شبکه تابع ریاضی هش را حل میکنند. با حلشدن هر تابع هش، یک خانۀ بلاکچین جدید، با همان کد هش ایجاد میشود. به این عمل استخراج (Mining) میگویند. شبکه بهخاطر مشارکت در تولید خانههای بلاکچین، به هر استخراجکننده پاداشی پرداخت میکند.
از آنجایی که تعداد زیادی کامپیوتر وظیفۀ استخراج را بر عهده دارند، امکان دستکاری در اطلاعات بسیار پایین میآید. بهخاطر اینکه دسترسی به بیش از 51 درصد گرهها، نیاز به هزینۀ بسیار زیادی دارد و برای خرابکاران مقرونبهصرفه نیست. بعضی از معروفترین ارزهایی که از الگوریتم اثبات کار استفاده میکنند، عبارتاند از:
- اتریوم (Ethereum): البته این شبکه اخیراً الگوریتم اثبات سهام را هم اضافه کرده است.
و ...
مزایای الگوریتم اثبات کار (PoW)
هرکدام از الگوریتمهای بلاکچین مزایا و معایبی دارند، که بستگی به مکانیزم آنها دارد. بعضی از مزایای گواه اثبات کار عبارت است از:
- شکلگیری روشی غیرمتمرکز برای رسیدن به اجماع و تأیید تراکنشها
- امنیت بالا در ثبت اطلاعات
- دشواری دستبردن در دادهها برای خرابکاران
معایب الگوریتم اثبات کار (PoW)
معایب الگوریتم اثبات کار بیشتر از تجهیزات و سختافزارهای مورد استفاده ناشی میشود؛ و عبارت است از:
- فرسودهشدن کامپیوترها و سختافزارهایشان
- گرانبودن تجهیزات ماینینگ
- سرعت پایین عملیات ماینینگ
- کارمزد کم نسبت به هزینۀ استخراج
- مصرف برق بسیار زیاد
پروتکل اثبات سهام یا (PoS (Proof-of-Stake
یکی از انواع الگوریتمهای بلاکچینها، الگوریتم اثبات سهام (PoS) است. از آنجایی که گواه اثبات کار، نیاز به مصرف انرژی و هزینۀ بسیار زیادی داشت؛ الگوریتم PoS مطرح شد. در این روش، دیگر نیازی به استفاده از سختافزارهای کامپیوتری برای رسیدن به اجماع نبود. الگوریتم اثبات سهام، میزان کار مورد نیاز برای تأیید اطلاعات و تراکنشها را کمتر کرد. در نتیجه دیگر نیازی به انجام کار محاسباتی زیادی برای ایجاد خانههای جدید نیست. در الگوریتم PoS، افراد توکنهای خود را برای اعتبارسنجی در اختیار شبکه میگذارند و تبدیل به یک اعتبارسنج میشوند. به این کار سهامگذاری یا استیکینگ (Staking) میگویند. شبکه بهطور تصادفی افراد مختلف را، که هرکدام یک گره هستند، برای اعتبارسنجی انتخاب میکند. افرادی که توکنهایشان را استیک میکنند، بابت شرکت در الگوریتم اثبات سهام، پاداش میگیرند.
شبکههای زیادی به استفاده از الگوریتم PoS ترغیب شدهاند، تا جایی که ویتالیک بوترین (Vitalik Buterin) یکی از بنیانگذاران اتریوم گفته است: «زمانی که اتریوم به الگوریتم اثبات سهام منتقل شود، بستر امنتری را نسب به بیتکوین ارائه خواهد کرد.» بعضی از معروفترین ارزهایی که از الگوریتم PoS استفاده میکنند، عبارتاند از:
- اتریوم 2.0 (Eth 2.0)
- ایکیتی (AKT)
و ...
مزایای الگوریتم اثبات سهام (PoS)
از آنجایی که الگوریتم اثبات سهام میزان کار مورد نیاز را کاهش داده است؛ و دیگر نیاز به سختافزار کامپیوتری نیست، مزایایی دارد:
- افراد بیشتری میتوانند در اعتبارسنجی مشارکت کنند.
- مدیریت اعتبارسنجها آسانتر شده است.
- زمان کمتری برای اعتبارسنجی صرف میشود.
- انرژی برق مصرف نمیشود.
- به سختافزار کامپیوتری نیاز نیست.
- نیاز به کار خاصی ندارد.
معایب الگوریتم اثبات سهام (PoS)
معایب الگوریتم PoS بیشتر به این بستگی دارد، که صرفاً به سیستم نرمافزاری متکی است. بعضی از مهمترین معایب آن عبارتاند از:
- گاهی نیاز به هزینۀ زیادی برای خرید توکنهای مورد نیاز شبکه است.
- صرفاً به اتصال اینترنتی تکیه میکند.
- ممکن است بدافزارهای کامپیوتری اختلال ایجاد کنند.
پروتکل اثبات سهام نیابتی یا (DPoS (Delegated Proof-of-Stake
الگوریتم DPoS، که در فارسی بهعنوان گواه اثبات سهام نیابتی یا وکالتی شناخته میشود، یکی از انواع مکانیسمهای بلاکچینها است. در واقع این روش برای برطرفکردن محدودیتهای الگوریتم اثبات کار و الگوریتم PoS بهوجود آمده است. این روش هم مانند الگوریتم اثبات سهام از استیکینگ استفاده میکند. تفاوت اینجاست، که در این روش هر اعتبارسنج بهصورت خودکار رأی میدهد، که کدام گره وظیفۀ اعتبارسنجی را برعهده داشته باشد. در نتیجه چون اعتبارسنجها با رأیگیری انتخاب میشوند، به تعداد کمتری گره برای تأیید اطلاعات نیاز است. بنابراین الگوریتم DPoS بیشتر برای اصلاح الگوریتم اثبات سهام مطرح شد.
بعضی از ارزهایی که ارز الگوریتم DPoS استفاده میکنند، عبارتند از:
- ترون (Tron)
- ترا (Terra)
- تزوس (Tezos)
و ...
مزایای الگوریتم اثبات سهام نیابتی (DPoS)
از آنجایی که این الگوریتم بعضی از محدودیتهای الگوریتم اثبات سهام را برطرف میکند، همۀ مزایای PoS را دارد، بعلاوۀ:
- کاهش تعداد اعتبارسنجها و افزایش سرعت تأیید اطلاعات
- هر شخصی میتواند با کمترین هزینه در استیکینگ شرکت کند.
معایب الگوریتم اثبات سهام نیابتی (DPoS)
با کمشدن تعداد اعتبارسنجها ممکن است، مشکلاتی برای این روش پیش بیاید، که عبارتند از:
- چون اعتبارسنجی توسط تعداد کمتری گره انجام میشود، ممکن است که این گرهها بتوانند شبکه را مسدود کنند.
- از آنجایی که در این روش با هر هزینهای میشود شرکت کرد، خرابکاری در شبکه مانند الگوریتم اثبات سهام نیاز به هزینۀ زیادی ندارد.
پروتکل اثبات اعتبار یا (PoA (Proof-of-Authority
الگوریتم اثبات اعتبار یا الگوریتم POA یکی از روشهای اجماع بلاکچینها است، که در سال 2017 توسط گوین وود (Gavin Wood) یکی از بنیانگذاران اتریوم مطرح شد. در این روش بهجای اینکه هر اعتبارسنج پولی را در اختیار شبکه بگذارد، بر اساس اعتبار خودش انتخاب میشود. به این ترتیب تعداد محدودی اعتبارسنج انتخاب میشوند. در زمان تأیید اطلاعات، یک گره بهعنوان رهبر انتخاب میشود. هر رهبر اطلاعات را بررسی و ثبت میکند و سپس آن اطلاعات را به گرههای دیگر میفرستد. اگر همۀ گرهها پیام یکسانی را دریافت کنند، آن خانه تأیید میشود؛ و اگر اطلاعات متفاوتی به گرهها برسد، خانه تأیید نشده و گرهها دربارۀ مخرب بودن رفتار رهبر رأیگیری میکنند.
بعضی از شبکههایی که از الگوریتم اثبات اعتبار استفاده میکنند، عبارتند از:
- ویچین (Vechain)
- بیتگرت (Bitgert)
- پالم نتوورک (Palm Network)
و ...
مزایای الگوریتم اثبات اعتبار (PoA)
با توجه به تغییر شکل انتخاب اعتبارسنجها، برای این نوع از الگوریتمهای بلاکچینها هم میشود، مزایایی را مطرح کرد:
- بهخاطر کمشدن تعداد گرهها، بدون نیاز به سرمایه هم اجماع انجام میشود.
- سرعت تأیید بسیار بالا میرود.
- برای شبکههای خصوصی و امنیتی بسیار کارآمد است.
معایب الگوریتم اثبات اعتبار (PoA)
الگوریتم اثبات اعتبار با توجه به محدودیتهایی که در اعتبارسنجی ایجاد کرده است، معایبی هم دارد:
- باعث متمرکز شدن شبکه میشود؛ و از اهداف اصلی بلاکچینها فاصله میگیرد.
- از آنجایی که تعداد گره محدود است، میتوان با اعمال نفوذ نظرات کاربران را نادیده گرفت.
- هویت اعتبارسنجها برای همه مشخص است.
- وقتی هر گره میتواند گره بعدی را انتخاب کند، ممکن است افراد منفعت خودشان را درنظر بگیرند.
معرفی سایر الگوریتمهای اجماع
همان طور که دیدید مهمترین الگوریتمهای بلاکچینها را به شما معرفی کرده و توضیح دادیم. در ادامه میخواهیم به الگوریتمهای دیگری بپردازیم که کمتر مورد استفاده قرار میگیرند؛ اما شناختشان برای آشنایی با انواع الگوریتمهای بلاکچین در رسیدن به اجماع مفید است.
پروتکل اثبات ظرفیت یا Proof of Space
گواه اثبات ظرفیت (Proof of Capacity) یا Proof of Space یکی از انواع الگوریتمهای بلاکچین است. این روش اجماع اولین بار برای ارز Burstcoin استفاده شد. این روش شباهت زیادی به الگوریتم اثبات کار دارد، و در واقع اصلاحشدۀ الگوریتم PoW است. در روش اثبات ظرفیت، ماینرها میتوانند از فضای خالی سختافزار کامپیوتریشان برای تأیید تراکنشها استفاده کنند. این مسئله باعث میشود که برخلاف گواه اثبات کار نیاز به مصرف انرژی زیادی نباشد.
در این روش از الگویتمهای بلاکچین بهجای حلکردن تابع هش، مجموعهای از مقادیر حلشدۀ هش روی فضای خالی ذخیره میشود، تا از آنها برای استخراج استفاده شود. هر چه ظرفیت هارددیسک کامپیوتر بیشتر باشد، کدهای بیشتری در آن ذخیره شده و در نتیجه ماینر میتواند سکههای بیشتری را استخراج کند. هر استخراجکننده بابت شرکت در عملیات استخراج پاداش دریافت میکند. بعضی از ارزهایی که از این روش استفاده میکنند عبارتند از:
- Burstcoin
- Chia
- Storj
- Spacemint
Proof of Elapsed Time
مکانیزم اثبات زمان سپریشده (Proof of Elapsed Time) یا PoET یکی دیگر از انواع الگوریتمهای بلاکچین است؛ که بهطور ویژه برای بلاکچینهای خصوصی طراحی شده و مقیاسپذیری را بسیار کاهش میدهد. به همین خاطر بهنظر نمیرسد که در آینده هم در شبکههای عمومی استفاده شود. مکانیسم PoET در مشاغلی که وابسته به یکپارچگی اطلاعات هستند، بسیار کارآمد است؛ برای مثال میشود از آن در شرکتهای حسابرسی استفاده کرد. در این روش هر گره باید مدت زمانی را به شبکه اختصاص دهد؛ و زمان تعیینشده را تکمیل کند. بنابراین شامل دو مرحله است: هر گره باید حتماً بهصورت تصادفی انتخاب شود.
گره منتخب باید زمان تعیینشده را سپری کرده باشد.
مکانیزم اثبات زمان سپریشده نسبت به گواهی اثبات کار، انرژی بسیار کمتری را مصرف میکند؛ چونکه گرهها بهصورت تصادفی انتخاب میشوند و نیازی نیست که همه در عملیات ماینینگ بهطور همزمان حضور و فعالیت داشته باشند. این روش اولینبار در سال 2016 و توسط شرکت INTC مطرح شد. از آنجایی که این روش مناسب شبکههای خصوصی است؛ فعلاً هیچ ارز دیجیتالی از این مکانیزم استفاده نمیکند.
Transaction as Proof of Stake (TaPoS)
مکانیزم تراکنش بهعنوان اثبات سهام (Transaction as Proof of Stake) یا TaPoS یکی دیگر از انواع الگوریتمهای بلاکچین است. این روش در واقع بازنگری جدیدی بر الگوریتم اثبات سهام است. در این روش هر کسی که تراکنشی را انجام میدهد بهعنوان یک گره محسوب میشود. اطلاعات این تراکنشها بهعنوان سهام در یک زنجیره بلوکی قرار میگیرد. هر گره به اعتبارسنجی تراکنش بعدی کمک میکند؛ و گره بعدی مشخص میشود. در نتیجه شخصی که بخواهد در شبکه خرابکاری کند، مجبور است که تعداد زیادی تراکنش را انجام دهد؛ و در زنجیرههای مختلفی ثبت کند، که تقریبا امکانپذیر نیست. نرمافزار غیرمتمرکز EOS.IO از این مکانیزم استفاده میکند.
Delegated Byzantine Fault Tolerance (dBFT)
تحمل خطای بیزانس یا dBFT یکی دیگر از انواع الگوریتمهای بلاکچینهاست. اولینبار این روش بهخاطر اینکه ارز NEO از آن استفاده کرد، مشهور شد. این مکانیزم بیشتر شبیه ادارۀ یک کشور است؛ و شهروند، نماینده و رهبر دارد. این مکانیزم بر اساس احتمال وجود خرابکاری در شبکه درست شده است. هر شهروند بدون درنظرگرفتن مقدار توکنی که استیک کرده است، میتواند به انتخاب نمایندگان رأی دهد. یک نفر هم بهعنوان سخنران انتخاب میشود. زمانی که تراکنشی انجام میشود، سخنران تعیین میکند که کدام خانه برای ثبت اطلاعات انتخاب شود. مشخصات این خانه به تمام نمایندگان فرستاده میشود. اگر اطلاعاتی که در اختیار نمایندگان قرار میگیرد یکسان باشد، تراکنش ثبت میشود. برای رسیدن به اجماع دو سوم نمایندگان کافی هستند. بعد از این مرحله دوباره نمایندگان و سخنران انتخاب میشود.
بعضی از شبکههایی که از الگوریتم تحمل خطای بیزانس استفاده میکنند، عبارتند:
- Zilliqa
- Hyperledger Fabric
- Tendermint
و ...
Casper
بنیانگذار اتریوم ویتالیک بوترین، پیش از راهاندازی شبکۀ اتریوم میخواست بهجای گواهی اثبات کار از الگوریتم اثبات سهام استفاده کند؛ اما موفق نشد. به همین خاطر مدیران این شبکه همیشه بهدنبال استفاده از الگوریتم PoS بودند. این مسئله باعث شد که پروتکلی با نام کسپر (Casper) را برای دستیابی به گواه اثبات سهام ایجاد کنند.
کسپر نوعی پروتکل PoS است که برای استفاده در شبکۀ اتریوم طراحی شده است. زمانی که اتریوم بتواند این پروتکل را بهطور کامل اجرا کند، تمام روند استخراج این ارز با استفاده از الگوریتم اثبات سهام انجام خواهد شد. ویتالیک بوترین دراینباره گفته است: «میخواهیم از روش اثبات سهام استفاده کنیم، تا بتوانیم میزان مورد نیاز استخراج برای رسیدن به اجماع را کاهش دهیم.»
در واقع کسپر پروتکلی است، که مکانیزم اثبات سهام را مدیریت میکند. در روش PoS افراد زیادی با استیک کردن در رسیدن به اجماع مشارکت دارند. کنترل این حجم از نقدینگی برای تأمین امنیت عملیات اجماع کمی دشوار است. پروتکل کسپر با توجه به سرمایۀ هر شخص، اهمیت رأیی را که میدهد، محاسبه میکند؛ و با توجه به سرمایهاش به او پاداش میدهد. همچنین اگر کسپر گرهی را غیرقابلاعتماد شناسایی کند، میتواند برای حذف و جریمۀ او تصمیم بگیرد. در این روش هر اعتبارسنج امضای شخصی خودش را دارد؛ و کسپر برای امضای هر اعتبارسنج ارزشی متفاوت درنظر میگیرد.
Proof Of Impotance (PoI)
مکانیزم اثبات اهمیت یا PoI یکی دیگر از انواع الگوریتمهای بلاکچین است. این روش شباهتهایی به الگوریتم اثبات سهام دارد. در این روش مانند مکانیزم PoS عمل میشود؛ اما وقتی که دو گره اطلاعات مشابهی را ارسال کنند، آن گرهی درنظر گرفته میشود، که اهمیت بیشتری دارد. اعتبار هر گره از روی موارد زیر تعیین میشود:
- میزان معاملات و نقل وانتقالات
- مقدار ارز استیکشده
- سابقۀ مشارکت در اعتبارسنجی
معروفترین شبکهای که از این روش استفاده میکند، پلتفرم NEM است.
سخن پایانی
دیدیم که شبکههای مختلف برای رسیدن به اجماع و محافظت از اطلاعات از انواع الگوریتمهای بلاکچین استفاده میکنند. بعضی از این روشها مثل گواهی اثبات کار و مکانیزم PoS معروفتر هستند؛ اما مکانیزمهای کمتر شناختهشدهای هم وجود دارند، که در این مقاله به شما معرفی کردیم. اگر شما میخواهید از ارزی استفاده کنید، خوب است که با مکانیزم اجماع آن آشنا باشید. این مسئله به شما کمک میکند که با توجه به بودجه و شرایطتان تصمیم بگیرید. برای مثال وقتی که میخواهید ارزی را استیک کنید و یا در ماینینگ مشارکت داشته باشید، اطلاع از انواع الگوریتمهای بلاچین به شما بسیار کمک میکند.