ژنرال‌های بیزانتین، دستیاران بلاکچین

بررسی مفهوم مکانیسم اجماع در بلاکچین

0

در شماره قبل مفهوم بلاکچین را به زبان ساده توضیح دادیم و برای این کار به بیت‌کوین به عنوان اولین کاربرد گسترده و کامل بلاکچین اشاره کردیم. گفتیم که بیت‌کوین سیستمی برای ثبت تراکنش‌های مالی است و تراکنش‌ها را در قالب بلاک‌هایی ‌روی کامپیوترهای پراکنده در نقاط مختلف دنیا (به نام نود) ثبت کرده و برای تایید صحت این تراکنش‌ها از مکانیسم اجماع استفاده می‌کند.

شناخت این مکانیسم، عامل مهمی در درک نحوه عملکرد و قدرت بلاکچین‌ها و همچنین ظرفیت‌شان جهت سرمایه‌گذاری در ارز دیجیتال بومی آنهاست. بیت‌کوین در سال‌۲۰۰۹ با ارائه یک وایت‌پیپر (Whitepaper) توسط فردی ناشناس (معروف به ساتوشی ناکوموتو) متولد شد. کلیدی‌ترین نوآوری ساتوشی در این وایت پیپر، همان مکانیسم اجماع بود. در این شماره می‌خواهیم مکانیسم اجماع را با جزئیات بیشتری بررسی کنیم و انواع و نحوه عملکرد آن را توضیح دهیم.

 تمامی بلاکچین‌ها نیازمند ‌روشی برای رسیدن به اجماع در مورد محتویات دفاتر کل غیرمتمرکزشان هستند و باید به شکلی توافق کنند که چه تراکنشی و به چه ترتیبی به بلاک‌ها افزوده شود. در سیستم‌های متمرکز دستیابی به این توافق ساده است. قدرت مرکزی نسخه اصلی دفتر کل را در اختیار دارد و کل سیستم را از تغییرات در این دفتر کل آگاه کرده و اطمینان حاصل می‌کند که همگی، رونوشت درستی از دفتر کل را در اختیار داشته باشند. ولی همان‌طور که در شماره قبل گفته شد، قدرت‌های مرکزی همیشه قابل اطمینان نیستند. همچنین این نقطه مرکزی، محل خطا و هدف حمله هکرهاست، اما ناکوموتو به روشی برای اجماع بدون وجود قدرت مرکزی نیاز داشت.

 الگوریتم مکانیسم اجماع

برای درک این موضوع معمولا از مثال «ژنرال‌های بیزانتین» استفاده می‌شود؛ ارتشی در دوره بیزانتین را در ذهن‌تان مجسم کنید که از جهات مختلف یک قلعه را محاصره کرده است. نیروها به بخش‌های متعدد تقسیم شده‌اند و هر بخش را یک ژنرال رهبری می‌کند. این ژنرال‌ها چگونه باید در مورد زمان حمله به توافق برسند؟ تبادل پیام بین ژنرال‌ها ناامن است و امکان دستکاری توسط دشمن وجود دارد. بدتر از آن ممکن است برخی از ژنرال‌ها نفوذی باشند و بخواهند نظم ارتش را بر هم بریزند.

مثال «ژنرال‌های بیزانتین» پیچیدگی دستیابی به اجماع را در یک سیستم تصمیم‌گیری غیرمتمرکز نشان می‌دهد که در آن اطلاعات بدون تایید، توزیع شده و دشمنانی نیز وجود دارند. ساتوشی ناکوموتو برای حل این مشکل، مکانیسم اجماعی معروف به اثبات کار را برای بیت‌کوین معرفی کرد.

در یک تعریف ساده، مکانیسم اجماع، الگوریتمی است که با استفاده از آن، چندین کامپیوتر در مورد صحت اطلاعاتی مشخص توافق می‌کنند. این الگوریتم‌ها انواع مختلفی دارند که در هر کدام، نحوه انتخاب رأی‌دهندگان و میزان اعتبار رأی آنها متفاوت است. اولین روش برای مکانیسم اجماع در بلاکچین توسط ساتوشی به نام اثبات کار (Proof of Work) معرفی شد که پس از آن مورد استفاده بلاکچین‌های زیادی قرار گرفت. در این روش، کامپیوترها ملزم به حل مسائل ریاضی هستند.

راه‌حل این مسائل از یک طرف نیازمند قدرت پردازش بالایی است و از طرف دیگر صحت جواب‌شان به سادگی قابل تشخیص است. هر کدام از کامپیوترها که موفق به حل این مسئله شود، می‌تواند آخرین تراکنش‌های موجود را در قالب یک بلاک تنظیم کرده و پس از کنترل آنها، صحت‌شان را تایید کرده و برای سایر کامپیوترها ارسال کند. جواب مسئله ریاضی و لیست تراکنش‌ها به همراه رمز بلاک قبلی شبکه، ترکیب رمزنگاری‌شده‌ای را به‌وجود می‌آورند که تشخیص صحت بلاک را برای سایر کامپیوترهای شبکه بسیار ساده می‌کند و هزینه هک‌کردن آن را نیز در حد غیرممکن بالا می‌برد.

در این سیستم، کامپیوترهایی که مسئله ریاضی حل می‌کنند، استخراج‌کننده (Miner) نامیده می‌شوند. با گسترش بلاکچین، بیت‌کوین و با افزایش ماینرها، حل مسئله چنان سخت شده است که هر مجموعه ماینر نیازمند گردآوردن تعداد زیادی از این پردازشگرهای بسیار قدرتمند‌ شده است. به همین علت این مجموعه‌های بزرگ، مزرعه استخراج (Mining Farm) نامیده می‌شوند.

استخرهای سهامی

با توسعه بلاکچین‌های متکی بر اثبات کار مانند بیت‌کوین و اتریوم مشکلاتی به‌وجود آمد. میزان برق مورد نیاز برای کامپیوترها رشد شدیدی داشت و همچنین سرعت ثبت بلاک‌ها هم پایین آمد. میزان برق مصرفی توسط شبکه بیت‌کوین اکنون به بیش از ۱۵۰ ترا‌وات در ساعت رسیده است. برای نشان‌دادن حجم بالای مصرف برق می‌توان گفت که این میزان انرژی برای مصرف کل جمعیت کشور آرژانتین کفایت می‌کند. از طرف دیگر دولت‌های اروپایی مزارع بیت‌کوین را به ایجاد آلودگی و افزایش کربن متهم می‌کنند. این دو موضع در سال‌های گذشته باعث تعطیلی بسیاری از مزارع در اوقاتی از سال در برخی ‌کشورها شده است.

در سال‌۲۰۱۱ یک فروم به نام بیت‌کوین‌تاک (Bitcointalk) روشی جدید به نام اثبات سهام (Proof of Stake) معرفی کرد که در آن کامپیوترها برای ساخت بلاک به صورت تصادفی انتخاب می‌شوند. در این حالت شبکه به جای استخراج‌کننده (Miner)، تاییدکننده (Validator) خواهد داشت. در این روش، کامپیوترها (تاییدکننده‌ها) برای شرکت در روند تایید تراکنش باید به میزان مشخصی از کوین آن بلاکچین را در شبکه وثیقه بگذارند تا حق تایید تراکنش‌ها را به‌دست بیاورند. تعداد کوینی که تاییدکننده به صورت سهام به وثیقه گذاشته است، درصد احتمال انتخاب‌شدن برای تایید تراکنش‌ها و ساخت بلاک را مشخص می‌کند.

کامپیوتری که شبکه انتخاب می‌کند، تراکنش‌ها را بررسی و در صورت درستی، تایید کرده و برای سایر نودهای شبکه ارسال می‌کند و کارمزدی از ارسال‌کننده تراکنش‌‌ها دریافت می‌کند. در این روش چگونه می‌توان به صحت عملکرد تأییدکننده‌ها اطمینان کرد؟ در صورت تخلف توسط تاییدکننده‌ها، به میزان صفر تا ۱۰۰درصد از سهامی که برای وثیقه گذاشته‌اند، توسط شبکه توقیف می‌شود و به صورت موقت یا دائمی از فعالیت در شبکه منع می‌شوند.

این بلاکچین معمولا حداقلی را برای میزان کوین وثیقه تعیین می‌کند که غالبا مبلغ بزرگی است. به همین علت تأییدکننده‌ها حسابی به‌وجود می‌آورند تا افراد بتوانند کوین‌های‌شان را در آن قرار داده و حداقل مورد نظر بلاکچین را جمع‌آوری و وثیقه کنند. به این حساب‌ها، استخر سهامی (Staking Pool) و افرادی که کوین واریز می‌کنند، واگذارکننده (Delegator)* نامیده می‌شوند. به این طریق، سرمایه‌گذاران کوچک نیز این امکان را پیدا می‌کنند که در فرآیند تایید تراکنش‌ها مشارکت کرده و سهمی از سود حاصل از کارمزد تراکنش‌ها را به‌دست بیاورند. از شاخص‌ترین بلاکچین‌هایی که به این روش در حال توسعه هستند، می‌توان به کاردانو اشاره کرد.

 تلاش‌های زیادی در حوزه رمزنگاری و علوم کامپیوتر برای ارتقای مکانیسم اجماع به سطحی قدرتمند‌تر و مؤثرتر در حال انجام است که به ظهور روش‌های جدیدتری در این بخش منجر شده است. یکی از این روش‌ها اثبات حجم حافظه (Proof of Capacity/Space) است. در این روش شما باید حجمی از حافظه کامپیوترتان را برای حل یک چالش به شبکه بلاکچین اختصاص دهید تا امکان ساخت بلاک تراکنش‌ها را کسب کنید. این روش شباهت زیادی به اثبات کار دارد. به این معنی که ماینرها که در اینجا به آنها نود گفته می‌شود، باید مسئله ریاضی پیچیده‌ای را حل کنند تا امکان ساخت بلاک را پیدا کنند ولی شبکه تعدادی پاسخ احتمالی را در حافظه کامپیوتر آنها قرار می‌دهد تا با سرعت بیشتری به جواب مورد نظر دست پیدا کنند. نکته در اینجاست که هر چه میزان حافظه‌ای که یک نود به شبکه اختصاص می‌دهد، بزرگ‌تر باشد، تعداد پاسخ احتمالی که در آن حافظه ذخیره می‌شود، بیشتر است و بدین ترتیب احتمال برد آن نود افزایش می‌یابد. ‌در این سیستم نیاز به پردازش کمتر و مصرف انرژی پایین است. بلاکچین چیا (Chia) از این نوع است.

مکانیسم اثبات مجوز

روش دیگر، مکانیسم اثبات مجوز (Proof of Authority) است. در این روش کامپیوتر تأییدکننده به جای به وثیقه گذاشتن کوین، اعتبار خود را گرو می‌گذارد. بدین ترتیب در این بلاکچین‌ها افراد تصمیم‌گیرنده (Medaitor)، تعداد محدودی از نودها را بر اساس اعتباری که در شبکه دارند، به‌عنوان تأیید‌کننده انتخاب می‌کنند. برای انتخاب کامپیوترهای تاییدکننده، هویت و سوابق فرد یا شرکت مالک آن کامپیوتر نیز بررسی می‌شود. در این روش تراکنش‌ها با سرعت بیشتری پردازش می‌شوند ولی آرمان‌های بلاکچین که همان غیرمتمرکز‌بودن و حذف عوامل واسط و کنترلگر است، خدشه‌دار شده و با ایجاد روندی برای احراز و تأیید صلاحیت تأییدکننده‌ها در عمل، شبکه تحت نفوذ قدرتی نیمه‌متمرکز قرار می‌گیرد. شبکه وی‌چین (VeChain) که در حوزه زنجیره تأمین بین‌المللی فعالیت می‌کند، از مکانیسم اثبات مجوز استفاده می‌کند.

مطالعه مطلب حاضر شما را با مفاهیم کلی مکانیسم اجماع و ۴ روش متداول آن آشنا می‌کند. از نکات قابل‌توجه در این بخش، تنوع و تضادها در تعاریف پایه‌ای و اساسی است. بلاکچین یک مفهوم ثابت با مشخصات قطعی و همه‌شمول نیست، بلکه قابلیت‌ها، اهداف و عملکردها در بین بلاکچین‌ها متفاوت است و حتی در بعضی موارد پروژه‌های بلاکچینی مشاهده می‌شوند که با پایه‌ای‌ترین اصول پذیرفته در حوزه بلاکچین نیز در تعارض هستند. برای داشتن درکی قابل اتکا در ارتباط با حوزه بلاکچین، از یک‌سو لازم است که با مفاهیم پایه و عمومی در این بخش آشنا شوید و از طرف دیگر با بررسی و مطالعه پروژه‌های متنوعی که به صورت مداوم در حال ظهور هستند، دانش عمیق‌تری از این حوزه کسب کنید. در بخش مکانیسم اجماع نیز طی چند سال گذشته تحولات زیادی ایجاد شده و روش‌های متعددی با شباهت‌هایی با روش‌های بالا در بلاکچین‌ها به کار گرفته شده‌اند که هر کدام خصوصیات، مزایا و معایب خود را دارند.

در شماره‌های بعد به سراغ پروژه‌های بلاکچینی می‌رویم و در عین مطالعه کلی آنها، روش‌های اجماع‌شان را نیز بررسی می‌کنیم تا بدین ترتیب آشنایی کامل‌تری با این حوزه به دست بیاید.

ارسال دیدگاه
امتیاز بدهید

آدرس ایمیل شما منتشر نخواهد شد.