الگوریتم اجماع را بیشتر با اصطلاحهایی چون اثبات کار (PoW)، اثبات سهم (PoS) یا اثبات اعتبار (PoA) میشناسند؛ اما اینها تنها انواعی از مکانیسمهای تصمیمگیری در بلاکچین هستند؛ تاکنون تعداد بسیار زیادی از این سازوکارهای تصمیمگیری تعریف شدهاند و هیچ محدودیتی در تعریف انواع جدیدتر وجود ندارد.
به زبانی ساده، منظور از Consensus در عبارت الگوریتم اجماع (Consensus Algorithm) به توافق رسیدن تعداد مورد نیاز از اعضاء بلاکچین (معمولا ۵۱ درصد و بیشتر) است. این اجماع همان مسیر اصلی بلاکچین در حذف نهاد واسطه برای تضمین عملکرد خود است. بدون چنین مکانیسم هوشمندانهای، هرگز قابلیت غیرمتمرکز شدن برای بلاکچینها محقق نمیشد.
فراموش نکنیم که بلاکچین یک پایگاه داده توزیع شده است که توسط گروهی از کامپیوترها در نقاط مختلف جهان عملیات (مانند نگهداری داده یا ثبت آن) آن اجرا میگردد. با این حال، در شبکههایی چون اتریوم قدرت خالقان شبکه بسیار بیشتر از تک تک اعضاء است و همین امر خود نوعی تسلط و تمرکزگرایی را به بلاکچین الحاق میکند.
در این مقاله شما را با مفاهیم پیرامون الگوریتم اجماع آشنا میکنیم، انواع الگوریتم اجماع را توضیح میدهیم و کاربردهای الگوریتم اجماع را بررسی میکنیم. مقالات دیفای یا امور مالی غیرمتمرکز چیست؟ و پول دیجیتال چیست؟کمک شایانی به درک بهتر این مقاله خواهند کرد
الگوریتم اجماع چیست؟
الگوریتم اجماع یا مکانیسم اجماع مهر تأییدی بر عملکرد درست بلاکچینها در تولید، ثبت و انتشار دادهها است. چنانکه بلاکچین یک کد بلند برنامه نویسی است، الگوریتم اجماع نیز یک کد در قلب کد اصلی بلاکچین است که نحوه مشارکت اعضاء کنونی و آتی آن را تعریف میکند. این کد در برخی از بلاکچینها به عنوان یک قرارداد هوشمند یا Smart Contract شناخته میشود.
به زبانی سادهتر، اگر بلاکچین را یک شبکه ارتباطی در نظر بگیرید و اعضاء آن را گره (Node) خطاب کنیم، الگوریتم اجماع سازوکار یا همان مکانیسمی است که نحوه تعامل آنها با هم را تعیین میکند. این تعامل اعضاء نیاز اصلی بلاکچین است و تنها از طریق این مشارکت جمعی است که فرایندهای لحظهای شبکه ممکن میشود.
کاربردهای الگوریتم اجماع
الگوریتم اجماع به تمام ذینفعان بلاکچین این اطمینان را میدهد که وضعیت، ارزش و هر اطلاعات مندرج در شبکه درست است و توسط تعداد زیادی از اعضاء آن تأیید شده است. نحوه طراحی، ایجاد و اجرای این مکانیسم اجماع میتواند سطح اختیار جمعی بر شبکه را تعیین کند.
علاوه بر این، مکانیسم اجماع میتواند عاملی در ایجاد رقابت در شبکه، تزریق ریسک به بازار، رصد فرایندهای منتج به پایگاه داده و حتی پایداری یا ناپایداری یک سیستم مالی در بلندمدت باشد.
هدف اصلی در تعریف الگوریتم اجماع، ایجاد یک مکانیسم اجرایی و اعمالی بر شبکه بلاکچین است که به گرههای اصلی شبکه استقلال لازم در تصمیمگیری برای شبکه را بدهد، نیاز به نهاد کانونی و واسطه را برطرف نماید و محیط یا سازوکار لازم برای تغییر در شبکه را تعریف کند.
تاریخچه مکانیسم اجماع
همزمان با نفوذ کامپیوترها و شبکهها در فعالیتهای بشر در دههای ۸۰ و ۹۰ میلادی، پایگاه دادههای اشتراکی خلق شدند تا امکان فعالیت همزمان افراد مختلف بر روی مجموعهای مشترک از اطلاعات فراهم شود. بیشتر این پایگاهها مرکزی یا Centralized بودند و افراد بسته به موقعیت و سطح اختیار خود به میزانی از دادههای آنها دسترسی پیدا میکردند. در این شبکههای متمرکز، اختیار هرگونه تولید، تغییر، استفاده و رایگیری در شبکه را سازمانی تعریف میکرد که مالک پایگاه داده به حساب میآمد.
این شبکههای اشتراکی بعدها لجر یا دفتر کل توزیع شده نام گرفتند، زیرا توسط افراد مختلف از مکانهای متفاوت قابل دسترسی بودند. اما یک مشکل اساسی ماهیت این شبکههای توزیع شده را تهدید میکرد و آن دسترسی تأیید نشده و امکان هک و خرابکاری در شبکه بود.
بنابراین، نیاز به سازوکاری بود که بتوان با استفاده از آن، در هر لحظه و هر نقطه بهرهبرداری از اطلاعات شبکه، امنیت آن را تضمین کرد. چنین سازوکار لحظهای نیازمند یک اعتبارسنجی و مدیریت مستقل شبکه بود تا امکان تغییر و برداشت غیرقانونی داده در لجر به صفر برسد.
این نیاز در ادامه به آنچه اجماع مستقل توزیع شده یا Distributed Autonomous Consensus خوانده میشد انجامید. در این سازوکار، برنامههای اجرایی شبکه با استفاده از یک تکنیک در رمزنگاری محافظت میشدند و تنها در صورت تحقق نیازمندیهای الگوریتم رمزنگاری بود که امکان اجرا داشتند.
به طور سادهتر، هر الگوریتمی که قرار بود در شبکه اجرا شود، ابتدا باید از یک فیلتر تأیید رد میشد، این فیلتر چیزی نبود جز یک الگوریتم رمزنگاری که رشتههای بلندی از اعداد و حروف را در کنار هم میچید (Hash) و تنها امکان عبور و اجرای برنامههایی را میداد که همان رشته رمز را در خود داشتند.
هر وقت برنامهای قصد اجرای در یک شبکه را داشت، ابتدا باید قفل ورود را باز میکرد، قفلی که کلید آن همان رشته رمزنگاری شده بود که شبکه برای تأیید الگوریتمها استفاده میکرد. در نتیجه وقتی الگوریتمی اجرا میشد به اصطلاح میگفتند که شبکه و الگوریتم به اجماع رسیدهاند.
مکانیسم اجماع چگونه عمل میکند؟
در هر مکانیسم اجماع، فرایند متفاوتی برای به توافق رسیدن وجود دارد. با این حال، هدف اصلی و فرایند نهایی در همه آنها مشابه است. هدف اصلی در الگوریتم اجماع، حک کردن دادههای جدید (مانند تراکنشهای مرتبط با معاملات) در شبکه توزیع شده و محافظت از آنها است.
به زبانی دیگر، بلاکچین از بلوکهای مرتبط به هم تولید شده است. هر بلوک اطلاعات متفاوت اما متناظری را در خود دارد. مثلا، یک بلوک ممکن است اطلاعات مرتبط با نقل و انتقالهای بیتکوین در یک روز گذشته را در خود داشته باشد و بلوک بعدی به روز بعدی در معاملات تخصیص یابد.
حال این بلوکها چگونه با اطلاعات پر میشوند؟ بلوکها معمولا توسط اعضاءی از شبکه به نام ماینرها ایجاد و اطلاعات در آنها ثبت میگردد. اما ماینرها خود توسط گروهی دیگر به نام تأیید کنندگان انتخاب و عملکرد آنها رصد میشود. در نهایت، تمام این اعضاء در قالب توافقهای تعیین شده در الگوریتم اجماع به توافق یا همان اجماع در انجام کارها میرسند. مهمتر اینکه، تمام این فرایندها به صورت خودکار انجام میگیرد و هیچ نیازی به یک سازمان بالاسری برای ارتباط دادن افراد نیست.
انواع الگوریتم اجماع
انواع الگوریتم اجماع به انواع مختلفی از سیاستها در تعریف بلاکچین و نحوه فعالیت و نقش افراد در آن اشاره دارند. الگوریتم اجماع در یک الگوریتم ممکن است از سرمایه افراد برای مشارکت آنها در تصمیمگیری استفاده کند، در حالی که الگوریتم اجماع دیگری به قدرت محاسباتی آنها بهاء بیشتری میدهد و آن را ملاک مشارکت در توسعه و اجرای فعالیتهای بلاکچین میکند.
انواع الگوریتم اجماع بسیار گسترده است و در حوصله یک مقاله نخواهند گنجید. در واقع، بلاکچینهای خصوصی کم و بیش از یک الگوریتم اختصاصی برای خود استفاده میکنند و انواع مورد استفاده توسط پلتفرمهای خدماتی نیز مکانیسم متفاوتی از انواع بلاکچینهای معاملاتی یا صرافیهای ارز دیجیتال دارند. در این بخش به انواع مهمتر، یا حداقل پرمخاطبتر، از مکانیسمهای اجماع میپردازیم.
الگوریتم اثبات کار یا Proof of Work
الگوریتم اثبات کار یکی از اولین الگوریتمهای اجماع است که بر اساس اصول نظریه بازیها طراحی شده است؛ نظریهای که مبنای استراتژی جمعی و کار گروهی را تعریف و پایه بسیاری از فرایندهای اجتماعی، اقتصادی و شبکههای توزیع شدهای مانند بلاکچین است.
بسیاری از بلاکچینهای معروف مانند بلاکچین بیت کوین، لایت کوین و دوج کوین از الگوریتم اجماع اثبات کار برای به اجماع رسیدن اعضاء استفاده میکنند. متناظر با الگوریتم اثبات کار (PoW) شبکه به حجم بالایی از فعالیتهای محاسباتی نیاز دارد، محاسباتی که توسط ماینرها انجام میشوند تا بلوکها ایجاد و اطلاعات بر روی آنها ثبت گردد.
تصویر زیر شماتیک سادهای از نحوه عملکرد الگوریتم اجماع PoW است.
مشابه آنچه در تصویر ارائه شده، در قالب مکانیسم اجماع اثبات کار، یک ماراتن محاسباتی برای حل یک پازل ریاضی ایجاد میگردد؛ هر کسی که این پازل را زودتر حل کند، برنده تعداد مشخص، یا نسبتی، از توکنهای بلاکچین میشود.
به طور دقیقتر، هر کدام از ماینرها که سریعتر به جواب برسد (فرایندی که آن را هش کردن مکرر یا Hashin میخوانند) جواب خود را ارسال میکند. در ادامه، اعضاء دیگری از شبکه جواب او را با استفاده از پیش فرضهای شبکه چک میکنند و در صورت تأیید اجازه الحاق بلوک جدید به بلوکهای موجود در بلاکچین داده میشود.
جالب اینکه با افزایش قدرت محاسباتی ماینرها، میزان دشواری الگوریتم نیز بالا میرود. بنابراین، فرایند اضافه کردن بلوکها یا انتشار توکنهای جدید بر طبق یک برنامه زمانی از پیش تعیینشده پیگیری خواهد شد. برای مثال، بلاکچین بیت کوین چنان طراحی شده است که آخرین بیت کوین از آن (فارغ از پیشرفت در نرمافزارو و سختافزارهای محاسباتی) در سال ۲۱۴۰ استخراج خواهد شد.
مزایای رویکرد اثبات کار
- ساختار غیرمتمرکز: قدرت محاسباتی مورد نیاز در PoW در شبکهای وسیع و با اعضاء از نقاط مختلف جهان توزیع شده است. هرکسی که بخواهد، و زمان و قدرت محاسباتی لازم را داشته باشد، میتواند یک ماینر باشد. به ویژه، نحوه توزیع عملیات به گونهای است که امکان همکاری سازمان یافته و تسلط بر شبکه را بسیار کاهش میدهد.
- امنیت بسیار بالا: دستکاری بلاکچینهای مبتنی بر اثبات کار بسیار دشوار است. حملههایی چون حمله ۵۱ درصد تقریبا غیرممکن هستند، هیچ شخص یا گروه خاصی نمیتواند به چنان سطحی از قدرت محاسباتی برسد که بر شبکه کنترل یابد.
- میزان قابل قبول مقیاس پذیری: مقایس پذیری یکی از اصلیترین معیارها در تشخیص عملکرد مناسب یک بلاکچین است. منظور از مقیاس پذیری، امکان تعریف عملیات و مشارکتهای بیشتر و نوین و حتی متمایز از موجودیات قبلی است. اگرچه نسبت به بلاکچینهای مبتنی بر PoS، این مقیاس پذیری در بلاکچینهای PoW کمتر است، اما سطح مقیاس پذیری آنها تا کنون جوابگوی توسعههای بعدی بوده و مشکل چندانی ایجاد نشده است.
معایب الگوریتم اجماع PoW
- زمانبر بودن فرایند ایجاد بلوکها: برای خلق یک بلوک جدید در یک بلاکچین اثبات کار، به زمان بسیار بیشتری از انواع دیگر نیاز است. بخصوص، با افزایش سطح دشواری بلوکها، زمان بیشتری صرف تولید هر بلوک میشود.
- مصرف بالای انرژی: مکانیسم اجماع PoW به مصرف انرژی مشهور است. برای مثال، میزان انرژی الکتریسیتهای که در یک سال صرف تولید بیتکوین میشود، معادل مصرف برق سالانه کشور نروژ است. دقیقا به همین دلیل است که بلاکچینهایی مانند اتریوم در حال مهاجرت از مکانیسم اجماع PoW به مکانیسم اجماع PoS یا اثبات سهم هستند.
- وابستگی سختافزاری: برای تحقق PoW به سختافزارهایی نیاز است که برندهای بسیار محدودی آنها را تولید میکنند. بنابراین، تعداد افراد بسیار کمتری به این دستگاهها (مانند Raspberry Pi) دسترسی دارند و مشارکت گستردهتر در خلق بلوکها ممکن نمیشود.
- محدودیتهای جانبی مانند نیاز دائم به اینترنت یکپارچه و بدون قطعی، نیاز به حجم دانلود ۲۰ گیگا بایت در ماه، نیاز به آپلود ۲۰۰ گیگا بایت داده در ماه.
الگوریتم اثبات سهم یا Proof of Stake
الگوریتم اثبات سهم یک مکانیسم اجماع است که نام خود را از نحوه تعریف آن گرفته است. در این شیوه از مشارکت جمعی در بلاکچین، افراد از داراییهای خود برای اعتباردهی به شبکه و انجام فعالیتهای آن استفاده میکنند. این الگوریتم جایگزینی برای PoW با هدف افزایش سرعت، انعطاف و مقیاس پذیری بلاکچین بوده است و اکنون توسط رده بالایی از بلاکچینها مانند اتریوم، Tezos و Cardano استفاده میشود.
قاعده اصلی در این الگوریتم بر مبنای فعالیت استکینگ یا Staking تعریف شده است. استک کردن فرایندی است که در قالب آن، شخص داراییهای خود را در یک استخر نقدینگی از جنس توکن بومی آن بلاکچین به اشتراک میگذارد تا سرمایه جمعی به یک اعتبار برای فعالیتهای بلاکچین و رسالت آن بدل شود.
منظور از به اشتراک گذاری در اینجا، نوعی وام دادن به پلتفرم است؛ یعنی شما ارز فیات خود را به توکن آن تبدیل میکنید، سپس همان توکنها را در استخرهای استک کردن قفل میکنید تا پلتفرم از این دارایی تجمیع شده به عنوان انگیزهای برای انجام امورات خود استفاده کند.
در قبال این اشتراک سرمایه به شما قدرت تصمیم گیری، مشارکت در فعالیتهای حکمرانی و خدماتی بلاکچین و سود سرمایهگذاری تخصیص مییابد؛ هرچقدر بیشتر پول بگذارید، مطمئنا قدرت و منفعت شما در هر کدام از این فاکتورها نیز بیشتر خواهد بود.
به ویژه، به سرمایه گذاران این الگوریتم اجماع تأیید کنندگان یا Validator گفته میشود. آنها قدرت خلق بلوکهای جدید را دارند، یا میتوانند این قدرت خود را در اختیار یک ماینر دیگر بگذارند. بنابراین، فرایند تأیید تراکنشهای پلتفرم و انتشار آنها در بلوکهای جدید بلاکچین توسط ولیدیتورها یا نمایندگان آنها انجام میشود و آنها سهمی از کارمزدی که پلتفرم بابت هر تراکنش میگیرد را دریافت میکنند.
مزایای مکانیسم اجماع PoS
- زمان کمتر برای خلق بلوکهای جدید: برخلاف الگوریتم اثبات کار، فرایند ایجاد بلوکهای جدید با این قاعده زمان کمتری صرف میکند. برای مثال، در بیت کوین زمان تولید هر بلوک تقریبا ۱۰ دقیقه است و در بلاکچینهای مبتنی بر PoS این زمان به چند ثانیه کاهش مییابد.
- تراکنشهای بیشتر و سریعتر: همزمان با کاهش زمان خلق یک بلوک، زمان ثبت تراکنشها نیز به شکل چشمگیری کاهش مییابد.
- کاهش مصرف انرژی: در این رویکرد، نیاز به حل مسائل پیچیده نیست و همین امر باعث کاهش مصرف انرژی میشود، زیرا زمان کمتری صرف میشود و قدرت پردازشی فوق العادهای نیاز نیست.
- مقیاسپذیری: این شیوه از اجماع نیز قدرت مقیاسپذیری را به بلاکچین میدهد، هرچند این میزان از مقیاسپذیری پایینتر از انواع متناظر با PoW است.
- عدم وابستگی به یک سختافزار خاص: برعکس الگوریتم اثبات کار، در الگوریتم اثبات سهم نیازی به تهیه یک سختافزار منحصر به فرد نیست؛ بنابراین تعداد بیشتری از افراد میتوانند در فعالیتهای آن مشارکت داشته باشند.
معایب الگوریتم اثبات سهم
- تمرکزگرایی: نسبت به PoW، بلاکچینهای مبتنی بر الگوریتم اثبات سهم تمرکزگراتر هستند، یعنی یک شخص یا سازمان خاصی میتواند از قدرت سرمایهگذاری خود به نفع کنترل پلتفرم بهره بگیرد.
- جریمه پایین برای عملکرد نامناسب تأیید کنندگان: شاید اصلیترین چالش PoS امکان مشارکت رده بالایی از سرمایهگذاران در آن باشد. برای مثال، در کاردانو شما میتوانید با چند هزار دلار به یک Validator بدل شوید و اشتباه در ثبت اطلاعات با جریمه سنگینی برای شما همراه نیست.
الگوریتم گواه اثبات سهام نیابتی یا DPoS
الگوریتم اثبات سهام نیابتی یا Delegated Proof of Stake یک تعمیم از PoS است که در سال ۲۰۱۴ و با هدف افزایش سرعت و امنیت بلاکچینهای مبتنی بر PoS معرفی شد. در بلاکچینهایی چون Cosmos، Tron و EOS از این الگوریتم اجماع بهره میگیرند.
در این مکانیسم اجماع، بر خلاف PoS، هر شخص با قدرت استک نمیتواند یک تأیید کننده باشد، بلکه افراد خاصی از شبکه تحت عنوان Delegateها مأمور تصمیمگیری در شبکه میشوند. به طور دقیقتر، کسانی که استک کردهاند قدرت انتخاب این افراد متخصصتر را دارند؛ یعنی مجموعهای از افراد به شخص خاصی رأی میدهند تا به نیابت از آنها در تأیید فعالیتهای بلاکچین دخیل باشد.
مزایا مکانیسم اجماع DPoS
- با توجه به اینکه از متخصصان کمتر، اما دقیقتر، برای تأیید استفاده میشود، مقیاسگیری بیشتر و سریعتری برای پلتفرم به ارمغان میآید. همچنین، تعداد بسیار زیادی از تراکنش با سرعت بسیار بالایی امکان ثبت دارند.
- کاهش مصرف انرژی: برای تأیید تراکنشها و ساخت بلوک، تقریبا به هیچ قدرت محاسباتی نیاز نیست. زیرا در این فرایند، این سرمایه جمعی است که بلوک را ایجاد میکند و پس از تجمیع سرمایه، دیگر مانع یا پازلی برای ثبت اطلاعات نیست.
- کارمزد پایینتر برای هر تراکنش: به دلیل عدم استفاده از قدرت پردازشی توسط ماینرها، نیاز به پرداخت هزینه بالای برای ثبت اطلاعات نیست و همین امر به کاهش کارمزد تراکنشها میانجامد.
معایب الگوریتم اجماع DPoS
- شبه متمرکز بودن: اصلیترین چالش برای مشارکت جمعی در پلتفرمهای مبتنی بر الگوریتم اجماع DPoS، نیمه متمرکز بودن این پلتفرمها و امکان اعمال نفوذ اشخاص یا سازمان طراح آنها است.
- آسیبپذیری در برابر حمله ۵۱ درصد: به دلیل نیمه متمرکز بودن آن، و وابستگی الگوریتم به سرمایهگذاری، امکان بالاتری در حمله ۵۱ درصد و کنترل پلتفرم توسط یک گروه خاص وجود دارد.
الگوریتم اجماع تحمل خطای بیزانس یا pBFT
وقتی مشارکت جمعی و تشکیل گروههای تأیید کنندگان با چالش عدم وفاداری اعضا مواجه شود، امکان نفوذ به پلتفرم و خرابکاری در آن بالا میرود. برای حل این معزل، الگوریتم تحمل خطای بیزانس پیشنهاد شد. بنا بر قاعده مبنای آن، اجماع تنها در توافق دو سوم گرهها (همان اعضاء اصلی شبکه) با تاریخچه عملکرد مطلوب قبلی ممکن میشود.
به عبارتی، ابتدا اشخاصی به عنوان گرههای وفادار و با عملکرد مطلوب انتخاب میشوند. در ادامه، هر تصمیمی که قرار است برای کل شبکه بلاکچین گرفته شود، باید ابتدا توسط دو سوم این افراد تأیید گردد. بلاکچینهای Hyperledger و Fabric از جمله پلتفرمهایی هستند که از این مکانیسم اجماع بهره میگیرند.
نکته مهمی که درباره این الگوریتم وجود دارد، آسیبپذیری بالای آن در مواقعی است که تعداد گرههای خرابکار یا با پیشینه منفی در ثبت اطلاعات بیشتر از یک سوم باشد. در این شرایط، الگوریتم اجماع pBFT امکان خطای و تخریب بسیار بالاتری دارد.
مزایای الگوریتم pBFT
- بهرهوری انرژی: pBFT نیز به هیچ قدرت محاسباتی نیاز ندارد و انرژی چندانی بابت انجام فعالیتهای آن مصرف نمیشود.
- سرعت بالای تولید وثبت داده: با استفاده از الگوریتم اجماع pBFT بلاکچین زمان کمتری را صرف ثبت اطلاعات مرتبط با پلتفرم میکند. بخصوص، تعامل بین گرهها بسیار بالاست و نیاز به تأییدگیریهای مکرر احساس نمیشود.
معایب الگوریتم pBFT
- مقیاس پذیر نیست: این الگوریتم برای بلاکچینهای کوچک و معمولا خصوصی ایجاد شده است. بنابراین، امکان چندانی برای مقیاس گیری در آن پیشبینی نشده است. با افزایش تعداد اعضاء و حجم فعالیتها، زمان بیشتر برای اجماع نیاز خواهد بود.
- آسیبپذیر بودن در مقابل حمله Sybil: منظور از حمله Sybil شرایطی است که به موجب آن، شخص یا گروه خاصی عملکرد خرابکارانه چندین گره معیوب یا متقلب را کنترل میکنند. اگر تعداد گرههای متقلب (Dishonest) بیشتر از انواع صادق (Honest) باشد، امکان براندازی شبکه یا اختلال در آن وجود دارد.
الگوریتم اجماع اثبات وزن یا Proof of Weight
الگوریتم اجماع اثبات وزن توسط چند محقق از دانشگاه MIT و به طور اختصاصی برای بلاکچین Algorand طراحی شد. هدف آنها حل مسئله متناظر با حاکمیت مخربانه بیزانس (Byzantine Generals) بود. به همین دلیل، آنها الگوریتمی را خلق کردند که با وزندهی به تأیید کنندگان معتبر، امکان مشارکت، قدرت و تضمین آنها در شبکه را بالا میبرد.
به طور دقیقتر، هر شخصی که اعلام آمادگی کند وزنی به او تعلق میگیرد. این وزن برگرفته از میزان قدرت مالی و سرمایهگذاری او است. در ادامه، رایدهندگان با استفاده از یک فرایند تصادفی انتخاب میشوند. بنابراین، امکان اجماع افراد خرابکار و صدمه زدن به عملکرد بلاکچین شدیدا پایین میآید. با این حال، در قالب این الگوریتم نیز باید تعداد گرههای صادق همیشه بیشتر از دو سوم کل اعضاء باشد.
مزایای الگوریتم اجماع PoWeights
- شخصیسازی و مقیاسپذیری: این مکانیسم اجماع را تقریبا تمام بلاکچینها میتوانند استفاده کنند و از فرمت منحصر به فردی از آن بهره بگیرند. همچنین، به دلیل انعطاف بالایی که دارد، قابلیت مقیاسگیری بسیار زیادی به بلاکچین خود میدهد.
- سرعت بالا در تأیید تراکنشها: تنها افراد مشخص در کمیته تصمیمگیری امکان تأیید تراکنشها را دارند. همین امر باعث افزایش سرعت تأیید تراکنشها میشود.
- بهرهوری انرژی: در این مکانیسم اجماع، کاربر به توان پردازشی خاصی نیاز ندارد و انرژی چندانی صرف امورات ثبت تراکنشها نمیشود.
معایب الگوریتم اثبات وزن
- عدم پرداخت وجه به تأیید کنندگان: برخلاف بسیاری از الگوریتمهای دیگر، در این مکانیسم اجماع هیچ پاداشی به تأیید کنندگان پرداخت نمیشود و همین امر باعث کاهش شوق فعالان و متخصصان دنیای بلاکچین برای فعالیت در این پلتفرمها میشود.
- نیمه متمرکز بودن: کمیته اصلی تأیید کنندگان شبیه یک ساختار متمرکز و مسلط بر شبکه عمل میکنند و این خلاف اصول تمرکززدایی و آرامنی بلاکچینهاست.
الگوریتم اجماع اثبات ظرفیت یا Proof of Capacity
الگوریتم اثبات ظرفیت یا اثبات فضا در سال ۲۰۱۵ و توسط Stefan Dziembowski و Sebastian Faust به دنیای دیفای معرفی شد. از این الگوریتم برای اولین بار در پروژه Burstcoin بهره گرفته شد که از در قالب آن ماینرها میتوانند از فضای ذخیره خود برای استخراج کریپتو بهره بگیرند.
ماینرها باید ابتدا ثابت کنند که فضای مورد نیاز برای استخراج کریپتو را دارند. منظور از فضا، همان ابزارهای سختافزاری مانند هارد دیسک است. در این الگوریتم، پلتفرم از مفهومی به نام Nonce بهره میگیرد که چیزی نیست جز یک عدد تصادفی که برای ارتقاء سطح امنیت بلاکچین تولید میشود و به اطلاعات بلوک جدید اضافه میشود.
هرچقدر فضای بیشتری توسط ماینر به فعالیتهای بلاکچین اختصاص یابد، امکان بیشتری در تولید نونسها وجود دارد و همین امر باعث افزایش شانس او در برنده شدن پازلی است که در ادامه برای حل و دریافت جایزه آن اقدام میکند.
مزایای الگوریتم اثبات فضا
- به هیچ سختافزار خاصی نیاز نیست: برای مشارکت در بلاکچینی که از الگوریتم اجماع اثبات فضا بهره میگیرد، شما به سخت افزار خاصی نیاز ندارید و همان فضای کامپیوتری که در اختیار دارید کفایت میکند، هرچند فضای بیشتر مساوی است با شانس بیشتر.
- غیرمتمرکز بودن: تقریبا هر کسی که خواهان باشد، میتواند در فعالیتهای اینگونه بلاکچینها شرکت کند، کافی است فضای کافی برای ایجاد نونسها داشته باشید.
معایب الگوریتم اثبات فضا
- حمله Grinding یا آسیاب: در قالب این الگوریتم، هکرها امکان بیشتری برای جا دادن خود به عنوان یک ماینر و پیروزی در تورنومنت دریافت مسئله اصلی را دارند. به عبارتی، یک ماینر میتواند سر الگوریتم کلاه بگذارد که شرایط مطلوب برای دریافت پازل را دارد.
- تسلط بر الگوریتم با استفاده از فضای محاسباتی: بعضی از ماینرها فضای فوقالعاده زیادی را برای شبکه و مشارکت در آن تعریف میکنند. در نتیجه، امکان بیشتری برای تولید نونس و برنده شدن دارند.
الگوریتم اثبات اعتبار یا Proof of Authority
الگوریتم اثبات اعتبار یا هویت، نه به فضا یا قدرت سرمایهگذاری، بلکه بر اساس اعتبار و هویت واقعی افراد تعریف شده است. به عبارتی، ماینر هویت خود را در این الگوریتم استک میکند؛ در الگوریتم اجماع PoA، ابتدا هویت واقعی تأیید کنندگان توسط شبکه احراز میشود. در ادامه، مدیران شبکه میزان اعتبار آنها را بررسی میکنند.
در نتیجه، هر خرابکاری به سرعت و دقت بالایی ردیابی میشود و شخص ممکن است به دلیل خطاهای مکرر اعتبار خود را کلا از دست بدهد. همچنین، هر تأیید کننده علاوه بر هویت و اعتبار خود، باید میزانی از داراییهای خود را استک کند؛ به عبارتی الگوریتم PoA ترکیبی از استک کردن اعتبار و دارایی است.
مزایای الگوریتم PoA
- سرعت بالا: در الگوریتم PoA تعداد تأیید کنندگان بسیار کم است، این امر باعث افزایش سرعت تأیید تراکنشها میشود (زیرا سرعت تصمیمگیری و به اجماع رسیدن بسیار بالاست).
- امنیت بالاتر: به دلیل اشتراک گذاری هویت واقعی، هکرها کمتر به این پلتفرمها حمله میکنند و تأیید کنندگان حداکثر تلاش خود را میکنند که مرتکب خطا نشوند.
- بهرهوری انرژی: اگرچه الگوریتم اثبات اعتبار به انرژی نیاز دارد، اما این میزان هرگز در حد انرژی مورد نیاز برای الگوریتمی چون اثبات کار یا PoW نیست.
معایب الگوریتم اجماع اثبات اعتبار
- غیرمتمرکز نیست: به دلیل اینکه تعداد کمی تأیید کننده یا ولیدیتور دارد، نمیتوان بلاکچینهای آن را غیرمتمرکز دانست.
- افشای اطلاعات شخصی افراد: به دلیل نیازی که در افشای هویت اشخاص وجود دارد، بلاکچین آن نمیتواند اصول متناظر با حفظ حریم شخصی را مشابه سایر بلاکچینها محقق سازد.
الگوریتم اثبات اهمیت یا Proof of Importance
الگوریتم اجماع اثبات اهمیت توسط بلاکچین NEM به دنیای بلاکچین معرفی شد؛ هدف آن نیز برطرف کردن کاستیهای موجود در مکانیسم اجماع اثبات سهم بود. در اثبات اهمیت، الگوریتم گرهها را بر اساس سه متغیر زیر رتبهبندی میکند:
- چقدر استک کرده است؟
- گره مدنظر چه مقدار با سایرین در تعامل معاملاتی است؟
- حجم هر کدام از معاملاتی که توسط گره انجام شده چقدر است؟
بنابراین، الگوریتم اثبات اهمیت از این سازوکار برای گلچین کردن بهترین تأیید کنندگان بهره میگیرد تا میزان خرابکاری به حداقل برسد. از طرفی، تأیید کننده علاوه بر استک کردن دارایی، باید از آن برای انجام معاملات و تعامل با پلتفرم بهره بگیرد تا میزان اهمیت آن برای شبکه بالاتر رود.
مزایایی الگوریتم اثبات اهمیت
- مقاومت بالا در برابر حملات Sybil: معمولا این حملات زمانی اتفاق میافتند که یک تأیید کننده صادق نباشد و آنچه انجام داده در راستای اصول بلاکچین نباشد. با این حال، در این الگوریتم، کاربر باید هزینه بالایی بابت چنین خطایی بدهد و به همین دلیل گرههای فیک به ندرت ایجاد میشوند.
- جلوگیری از احتکار یا Hoarding: الگوریتم اثبات اهمیت از کاربر انتظار دارد که دارایی خود را در پلتفرم در جریان نگه دارد و از احتکار آن ممانعت میکند.
- پاداش دهی به فعالان واقعی: در الگوریتم اجماع PoI به کسانی پاداش داده میشود که واقعا در جریان تمام فعالیتهای شبکه هستند و تنها با استک کردن به این پاداش نرسیدهاند.
معایب الگوریتم PoI
- مطلوب سرمایهداران است: به دلیل نیاز همیشگی به استفاده از دارایی، تعداد کمتری از افراد میتوانند یک ولیدیتور بلاکچینهایی اینچنین باشند.
جمعبندی:
در این مقاله سعی کردیم انواع مختلفی از مکانیسم اجماع را توضیح دهیم؛ با این حال، آنچه ارائه شد تنها شامل اصلیترین الگوریتمها و پیشگامان این جریان بودهاند. دهها مکانیسم اجماع دیگری وجود دارند که در سالهای اخیر تولید شدهاند یا در حال بررسی و آماده شدن برای سوار شدن بر یک بلاکچین جدیدند.
به طور کلی، هدف از تعریف یک الگوریتم اجماع جدید، پرداختن به یک پارامتر مهم درباره توسعه الگوریتمها از میان سه پارامتر مقیاس پذیری، غیرمتمرکز بودن و امنیت است. هر الگوریتم به نوعی با این سه مولفه دستوپنجه نرم میکند و معمولا تنها میتواند یک یا دو پارامتر را به بهینگی برساند.
همچنین، بلاکچینها الگوریتمهایی را پذیرا هستند که با معماری آنها سازگاری بیشتری دارند. با این حال، مقیاسگیری و امنیت در بلاکچین مهمترین مولفهها در اتخاذ یک الگوریتم است و بسیاری از بلاکچینها از یک الگوریتم به دیگری مهاجرت میکنند تا این مولفهها به بهینگی لازم برسند.
سوالات متداول
بهترین مکانیسم اجماع کدام است؟
در حالت کلی نمیتوان گفت که کدام الگوریتم اجماع بهترین است. همه آنها مزایا و معایب خاص خود را دارند و بعضا به صورت اختصاصی برای یک بلاکچین و فعالیتهای آن ایجاد شدهاند.
انواع مختلف الگوریتم اجماع کدامند؟
از جمله مهمترین مکانیسمهای اجماع میتوان به اثبات کار، اثبات سهم، اثبات اعتبار، اثبات سهم نیابتی، اثبات فضا و اثبات اهمیت اشاره کرد.
منظور از الگوریتم اجماع در بلاکچین چیست؟
منظور استراتژی تعیین شده در بلاکچین برای توافق بین اعضاء شبکه آن و انجام امورات بلاکچین بر طبق این توافق است. برای مثال، با استفاده از مکانیسم اجماع میتوان شیوه ثبت بلوکهای جدید یا تغییر در قوانین بلاکچین را اجرایی کرد.