حفظ امنیت و اعتماد در سیستمهای متمرکز شاید روشهای پیچیدهای داشته باشد، اما توضیح کلیات آن ساده است. در سیستم متمرکز یک نهاد واسطه میان دو کاربر قرار میگیرد و به انجام درست کارها نظارت میکند. در واقع تمام وظیفه تامین امنیت و انجام درست کار، برعهده یک نهاد واسطه است. در سیستمهای غیرمتمرکز همچون بلاکچیـنها هیچ نهاد مرکزی و واسطی وجود ندارد. بنابراین این سوال پیش میآید که حفظ امنیت و ایجاد اعتماد در شبکه چگونه برقرار میشود؟ در بلاکچیـنها و سایر شبکههای غیرمتمرکز امنیت شبکه به وسیله الگوریتم اجماع یا Consensus Algorithm حفظ میشود.
الگوریتم اجماع یکی از اساسیترین پارامترهای شبکههای توزیعشدهای همچون بلاکچیـن است. بدون آن هیچ شبکه غیرمتمرکزی دوام نمیآورد و در کوتاهترین زمان ممکن مورد حمله و نابودی قرار خواهد گرفت. در این مقاله قصد داریم مفهوم پیچیده الگورتیم اجماع را به سادهترین زبان ممکن توضیح دهیم.
در ابتدا توضیح خواهیم داد که الگوریتم اجماع چیست و چگونه امنیت بلاکچیـن را تامین میکنند. سپس به توضیح انواع الگوریتمهای اجماع خواهیم پرداخت و الگوریتمهایی همچون اثبات کار، اثبات سهام، اثبات سهام محول شده و … را توضیح خواهیم داد. همچنین توضیحاتی درباره مزایا و معایب انواع الگوریتمهای اجماع رایج نیز خواهیم داد و آنها را با یکدیگر مقایسه خواهیم کرد. در صورتی که به دانستن مطالب بیشتر در زمینه چگونگی کار بلاکچیـن ها علاقه دارید، توصیه میکنیم که حتما تا انتهای این مقاله همراه ما باشید.
الگوریتم اجماع یا Consensus Algorithm چیست؟
در مقالات بلاکچین چیست؟ و بیت کوین چیست؟ توضیح دادیم که سیستمهای غیرمتمرکز هسته مرکزی ندارند و هیچگونه سازمان مرکزی بر چگونگی کار شبکه و تایید شدن تراکنشها نظارت ندارد. برای کسانی که اولین بار با مفهوم شبکههای غیرمتمرکز آشنا میشوند، این موضوع کمی مبهم است و سوال بیشتر افراد این است که امنیت بلاکچینها چگونه تامین میشود و چه چیزی این شبکهها را از حمله، تقلب و سو استفاده حفاظت میکند و چه کسی بر صحیح بودن تراکنشهای بلاکچینها نظارت میکند.
همانطور که در ابتدای مقاله گفتیم در یک سیستم متمرکز این وظایف بر عهده یک نهاد مرکزی است که میان کاربران به عنوان واسطه قرار میگیرد. به عنوان مثال اگر بخواهید در یک سیستم مرکزدار مقداری پول به شخص دوم انتقال دهید، بانک واسطه شما و شخص دوم خواهد بود.
یک بانک وظیفه دارد تا پول را از حساب شما کم کند و موجودی حساب شخص دوم را زیاد کند. در واقع شما و شخص دوم به بانک اعتماد کردهاید تا کار انتقال پول را برای شما انجام دهد و امنیت حسابهای خود را به دست بانک سپردهاید. همین عامل باعث میشود که یک سیستم متمرکز کاملا آسیبپذیر باشد، چرا که همیشه امکان هک بانکها و فساد در کارمندان بانک وجود دارد.
حال سوال اصلی پیش میآید که وظیفه حفظ امنیت شبکه در بلاکچینها برعهده کیست؟ اگر بلاکچینها بدون نیاز به هسته مرکزی اداره میشوند، پس چه کسانی تراکنشهای شبکه را اعتبارسنجی کرده و امنیت آن را تامین میکنند؟ اگر هیچکس مالک شبکه بیت کوین نیست، چگونه در انتقال پول تقلب نمیشود و چگونه کسی نمیتواند تراکنشهای جعلی بسازد؟ جواب همه این سوالها در خاصیت و کاربرد الگوریتمهای اجماع خلاصه میشود.
در بلاکچینها و شبکههای غیرمتمرکز تمام کاربران یک کپی از دفتر کل شبکه را در اختیار دارند. این دفتر کل شامل سابقه تمام تراکنشهای انجام شده در شبکه است. تمام کاربران میتوانند تحت عنوان نود (Node) در شبکه فعالیت کنند و تراکنشهای بلاکچین را اعتبارسنجی کنند. نودها در ازای کار کردن برای شبکه جایزه دریافت میکنند، بنابراین همواره انگیزهای برای کاربران وجود دارد که به عنوان نود در شبکههای غیرمتمرکز فعالیت کنند.
اما اگر هر کسی میتواند به عنوان نود فعالیت کند، امنیت بلاکچینها چگونه تامین میشود؟ چه مکانیزمی باعث میشود که نودهای شبکه تقلب نکنند و کار خود را به درستی انجام دهند؟ این کار به وسیله الگوریتمهای اجماع انجام میشود. در واقع در یک شبکه غیرمتمرکز تایید اعتبار یک تراکنش فقط توسط یک نود انجام نمیشود و باید تعدادی از نودها بر سر اعتبار یا عدم اعتبار یک تراکنش به توافق یا اجماع برسند. ایجاد توافق میان نودها یا به اصطلاح بهتر اجماع میان نودهای بلاکچین، توسط مکانیزمی به نام الگوریتم اجماع انجام میشود.
نودهای گوناگون یک شبکه غیرمتمرکز که در سراسر جهان پراکنده شدهاند، به وسیله الگوریتم اجماع درباره درستی یا نادرست بودن یک تراکنش به توافق میرسند. این توافق دسته جمعی باعث میشود که امنیت تراکنشها در شبکه غیرمتمرکز حفظ شود و شبکه بدون مشکل به کار خود ادامه دهد. ایجاد اجماع میان نودها با الگوریتمهای اجماع مختلفی انجام میشود که در ادامه به توضیح انواع الگوریتم اجماع در بلاکچینها و نحوه کار هر کدام خواهیم پرداخت.
انواع الگوریتم اجماع
در بخش قبلی در مورد لزوم وجود الگوریتم اجماع در شبکههای غیرمتمرکز صحبت کردیم. در این بخش میخواهیم درباره انواع روشهایی صحبت کنیم که نودهای یک شبکه غیرمتمرکز به وسیله آنها به اجماع میرسند. اگر بخواهیم به زبان ساده بگوییم، به اجماع رسیدن به این معنی است که شایستهترین و درستکارترین نودهای شبکه برای اعتبارسنجی تراکنشها انتخاب شوند.
وجود ایدههای مختلف برای انتخاب این نودها، موجب به وجود آمدن انواع گوناگونی از الگوریتمهای اجماع شده است. در ادامه به معرفی رایجترین و معروفترین الگوریتمهای اجماع مورد استفاده در بلاکچینها و سایر شبکههای توزیع شده خواهیم پرداخت.
الگوریتم اجماع اثبات سهام
اثبات سهام یا Proof of Stack (POS) دومین الگوریتم اجماع رایج در دنیای رمزارزها است که به دلیل عدم نیاز به استخراج و عدم اتلاف انرژی موردتوجه توسعهدهندگان ارزهای دیجیتال قرار گرفته است. اتریوم به زودی قصد دارد با راهاندازی پروژه اتریوم 2.0، الگوریتم اجماع بلاکچین خود را از اثبات کار به اثبات سهام تغییر دهد. در حال حاضر ارزهای دیجیتال معروفی همچون کاردانو از الگوریتم اجماع اثبات سهام استفاده میکنند. برای آشنایی بیشتر با این رمزارزها میتوانید مقالههای کاردانو چیست؟ و اتریوم 2.0 چیست؟ را مطالعه کنید.
همانطور که از نام این الگوریتم مشخص است، روش انتخاب نودهای شایسته در این الگوریتم با اثبات سهام یا اثبات دارایی انجام میشود. هر کدام از نودها که سرمایه بیشتری در شبکه داشته باشند، شایستگی اعتبارسنجی تراکنشها را خواهند داشت و میتوانند ضمن اعتبارسنجی از شبکه سود دریافت کنند.
در واقع الگوریتم اثبات سهام به این موضوع تاکید دارد که نودهایی که سرمایهگذاری بیشتری در شبکه انجام دادهاند (صاحب بیشترین ارزهای دیجیتال از آن شبکه هستند)، درستکارتر هستند. نودهایی که قصد دارند در شبکههای اثبات سهامی، تراکنشها را اعتبارسنجی کنند، باید مقداری پول را در شبکه استیک کنند (به عنوان ضمانت در اختیار شبکه قرار دهند) . چنانچه مشخص شود که نودها درستکار نیستند و کار خلافی انجام دادهاند، تمام دارایی آنها به نفع شبکه مصادره خواهد شد. بنابراین این نودها انگیزهای برای صدمه زدن به شبکه نخواهند داشت.
الگوریتم اجماع اثبات کار
اثبات کار یا Proof of work (POW) رایجترین و معروفترین الگوریتم اجماع است که بلاکچینهای اولیه و بسیار معروفی همچون بیت کوین و اتریوم به کار رفته است. همانطور که از نام این الگوریتم مشخص است، روش انتخاب نودهای شایسته در این الگوریتم با اثبات کار انجام میشود.
هر کدام از نودها که کار بیشتری برای شبکه انجام دهند، شایستگی اعتبارسنجی تراکنشها را خواهند داشت و میتوانند ضمن اعتبارسنجی از شبکه جایزه دریافت کنند. منظور از کار در الگوریتم اثبات کار، مقدار قدرت محاسباتی است که نودها در اختیار شبکه قرار میدهند. در بلاکچین بیت کوین و اتریوم افرادی وجود دارند که با دستگاههای ماینر قوی به استخراج بیت کوین و اتریوم میپردازند و با قدرت محاسباتی قوی دستگاههای خود برای شبکه کار میکنند. برای آشنایی بیشتر با فرآیند استخراج ارزدیجیتال، میتوانید مقاله استخراج بیت کوین چیست؟ را مطالعه کنید.
در الگوریتم اثبات کار، هر کدام از نودهای شبکه که قدرت محاسباتی بیشتری در اختیار داشته باشد و تعداد زیادی دستگاه ماینر داشته باشد، شایستگی بیشتری برای اعتبارسنجی تراکنش خواهد داشت و پاداش بیشتری نیز از سیستم دریافت خواهد کرد. در واقع الگوریتم اثبات کار به این موضوع تاکید دارد که نودهایی که بیشتر برای شبکه کار میکنند، درستکارتر هستند و به دلیل هزینهای که برای شبکه انجام میدهند (هزینه برق و انرژی ماینرها)، انگیزهای برای خرابکاری و صدمه زدن به شبکه نخواهند داشت.
الگوریتم اجماع اثبات سهام محول شده
اثبات سهام محول شده یا Proof of Stack Delegated یکی دیگر از الگوریتمهای اجماع رایج در دنیای ارزهای دیجیتال است. این الگوریتم برای عادلانهتر و دموکراتیزه کردن الگوریتم اثبات سهام به وجود آمده است. در الگوریتم اثبات سهام اشخاصی که ثروتمندتر باشند، میتوانند کنترل تراکنشها و اعتبارسنجی تراکنشها را بر عهده بگیرند و این با آرمانهای اولیه ارزهای دیجیتال و شبکههای غیرمتمرکز سازگار نیست.
در الگوریتم اثبات سهام محول شده، هر شخص بهاندازه میزان دارایی خود در شبکه حق رأی دارد. کاربران شبکه میتوانند با رأی خود یک یا چند نود را برای اعتبارسنجی تراکنشهای شبکه انتخاب کنند. بنابراین در الگوریتم اثبات سهام محول شده نودی شایستگی اعتبارسنجی تراکنشها را دارد که بیشترین رأی را از کاربران شبکه دریافت کرده باشد.
در الگوریتم اثبات سهام محول شده، نودهای منتخب یا نودهای نماینده (Delegated Nodes) تراکنشهای شبکه را اعتبارسنجی کرده و پاداش دریافت میکنند. این نودها میتوانند پاداش دریافتی خود را میان اشخاصی که به آنها رأی دادهاند، تقسیم کنند یا آنکه پاداششان را در جهت ارتقا و توسعه شبکه هزینه کنند. نودهایی که میخواهند به عنوان نود نماینده انتخاب شوند، باید در ابتدا برنامه خود را ارائه دهند. پس از آن کاربران شبکه آن برنامه را بررسی کرده و به آنها رأی خواهند داد.
الگوریتم اجماع اثبات ظرفیت
اثبات ظرفیت یا Proof of Capacity (POC) الگوریتم اجماع دیگری است که برای حل مشکل الگوریتم اثبات کار ابداع شده است. الگوریتم اثبات ظرفیت در واقع همان الگوریتم اثبات کار است، اما در آن به جای قدرت محاسباتی کاربران از حافظه هارد دیسک کاربران استفاده میشود. بنابراین نودهایی که حافظه بیشتری در اختیار شبکه قرار میدهند، برای اعتبارسنجی تراکنشها انتخاب شده و پاداش دریافت میکنند.
الگوریتم اجماع اثبات فعالیت
اثبات فعالیت یا Proof of Activity (POA) الگوریتمی است که از ترکیب الگوریتمهای اثبات کار و اثبات سهام به وجود آمده است. در این الگوریتم ابتدا استخراجکنندگان با استفاده از الگوریتم اثبات کار یک بلاک ایجاد میکنند. بلاک ایجاد شده توسط ماینرها فاقد هرگونه تراکنش است.
بعد از استخراج بلاک، الگوریتم به اثبات سهام تغییر میکند و نودهایی که دارای بیشترین سرمایه استیک شده هستند، میتوانند تراکنشها را اعتبارسنجی کرده و آنها را وارد بلاک نمایند. در نهایت پاداش شبکه میان استخراجکنندگان و نودهای اعتبارسنج تقسیم میشود. در واقع هدف از ایجاد الگوریتم اثبات فعالیت، استفاده از مزیتهای هر دو الگوریتم اثبات کار و اثبات سهام است.
الگوریتم اجماع اثبات سوزاندن
اثبات سوزاندن یا Proof of Burn (POB) الگوریتمی مشابه با اثبات سهام است، اما در این الگوریتم نودهایی شایسته اعتبارسنجی هستند که به جای استیک کردن (به ضمانت گذاشتن پول)، سرمایه خود را میسوزانند. در الگوریتم اجماع اثبات سوزاندن نودهایی که میخواهند اعتبارسنجی را در شبکه انجام دهند، باید توکنهای خود را به آدرسی منتقل کنند که دیگر امکان برگشت پول از آن وجود ندارد. جهت آشنایی بیشتر با نحوه سوزاندن توکنها مقاله توکن سوزی چیست؟ را مطالعه نمایید
نودها میتوانند با سوزاندن توکنهای همان شبکه یا شبکه دیگر شانس خود را برای اعتبارسنجی تراکنشهای شبکه امتحان کنند. هرکدام از نودها که توکن بیشتری را بسوزاند، شانس بیشتری برای اعتبارسنجی تراکنشها خواهد داشت و پاداش بیشتری کسب خواهد کرد.
الگوریتم اجماع اثبات وزن
اثبات وزن یا Proof of Weight درواقع همان الگوریتم اثبات سهام است، با این تفاوت که برای انتخاب نودهای اعتبارسنج، فقط به میزان دارایی آنها در شبکه توجه نمیشود و به وزن پارامترهای دیگر نیز برای انتخاب نودهای اعتبارسنج توجه میشود. این پارامترها میتواند میزان شهرت نود یا میزان حافظهای باشد که نود در اختیار شبکه قرار داده است.
الگوریتم اجماع تنگل
تنگل (Tangle) یک الگوریتم اجماع نوآورانه است که توسط ارز دیجیتال آیوتا به کار گرفته شده است، در این الگوریتم اجماع، هر کاربر برای ارسال یک تراکنش باید دو تراکنش را اعتبارسنجی کند. الگوریتم تنگل کمک میکند که علاوه بر انسانها، ماشینها نیز بتوانند تراکنشها را با سرعت زیاد اعتبارسنجی کنند. بنابراین با استفاده از این الگوریتم تراکنشهای ماشین با ماشین نیز امکانپذیر خواهد شد.
بررسی مزایا و معایب الگوریتمهای اجماع اثبات کار و اثبات سهام
همانطور که مشاهده کردید، الگوریتمهای اجماع متفاوتی در دنیای رمزارزها وجود دارند با این حال، دو الگوریتم اجماع اثبات کار و اثبات سهام، پرطرفدارترین الگوریتمهای اجماع محسوب میشوند.
در این قسمت از مقاله قصد داریم تا مزایا و معایب هر کدام از الگوریتمهای اثبات کار و اثبات سهام را با یکدیگر بررسی کنیم.
مزایا و معایب الگوریتم اثبات کار
الگوریتم اثبات کار، رایجترین الگوریتم اجماع در دنیای ارزهای دیجیتال است که در دو بلاکچین بزرگ بیت کوین و اتریوم به کار رفته است. از جمله مزایا و معایب این الگوریتم میتوان به موارد زیر اشاره کرد:
مزایای الگوریتم اجماع اثبات کار
- امنیت بسیار بالای شبکه
- سابقه بسیار زیاد این الگوریتم که همه امتحانهای لازم را با موفقیت پشت سر گذاشته است.
- الگوریتمی است که بیشترین استفاده از آن شده است.
معایب الگوریتم اجماع اثبات کار
- کند است و سرعت پردازش تراکنشهای شبکه پایین است.
- فرآیند استخراج این الگوریتم انرژی بسیار زیادی هدر میدهد و موجب از بین رفتن محیط زیست میشود.
- دستگاههای استخراج پیچیده و گرانی برای استخراج در الگوریتم اثبات کار به وجود آمدهاند و این قضیه باعث شده است که همه افراد نتوانند استخراج کنند.
- گران بودن فرآیند استخراج باعث شده است که بیشتر دستگاههای استخراج در دست نهادهای ثروتمند و قدرتمند باشد به همین دلیل امکان دارد این عامل در آینده غیرمتمرکز بودن شبکه را زیر سوال ببرد.
مزایا و معایب الگوریتم اثبات سهام
الگوریتم اثبات سهام، پرکاربردترین الگوریتم اجماع پس از اثبات کار است. بیشتر بلاکچینهای رمزارزی قصد دارند به دلیل فرار از مشکلات اثبات کار، الگوریتم خود را به اثبات سهام تغییر دهند. مشهورترین این بلاکچینها اتریوم است که به زودی قصد دارد با راه اندازی اتریوم 2.0 این کار را انجام دهد. با این وجود الگوریتم اثبات سهام نیز خالی از مشکل نیست و مزایا و معایب مخصوص به خود را دارد.
مزایای الگوریتم اجماع اثبات سهام
- هیچ انرژی در این الگوریتم به هدر نمیرود، چون این الگوریتم فرآیند استخراج ندارد.
- به دلیل نبود فرآیند استخراج، همه کاربران شانس شرکت در فعالیتهای اعتبارسنجی شبکه را خواهند داشت.
- مقیاسپذیری و سرعت پردازش تراکنشها در این الگوریتم بسیار بالاست.
معایب الگوریتم اجماع اثبات سهام
- هنوز استفاده زیاد و پرتکراری از این الگوریتم نشده است و به اندازه کافی امنیت آن آزمایش نشده است.
- افرادی که سرمایه و ثروت زیادتری دارند، شانس بالایی برای اعتبارسنجی تراکنشها دارند، امکان دارد همین عامل در آینده غیرمتمرکز بودن شبکه را زیر سوال ببرد.
سخن پایانی
حفظ امنیت یکی از اساسیترین چالشهای شبکههای غیرمتمرکز و بلاکچینها است. در صورتی که امنیت در این شبکهها وجود نداشته باشد، عمر این سیستمها کوتاه خواهد بود و پایداری نخواهند داشت. امنیت و اعتبارسنجی تراکنشها در شبکههای غیرمتمرکز از طریق الگوریتمهای اجماع محقق میشود.
در این مقاله به زبان ساده توضیح دادیم که الگوریتم اجماع چیست و کارکرد آن در بلاکچینها و شبکههای غیرمتمرکز به چه صورت است. در این مطلب همچنین انواع رایج الگوریتمهای اجماع را معرفی کردیم و در مورد هرکدام توضیحات مختصری را ارائه کردیم. امیدواریم با این توضیحات توانسته باشیم آگاهی شما در این زمینه را افزایش داده و سوالات شما را تا حد ممکن پاسخ داده باشیم.
یک پاسخ