
قبلا در مورد بلاک چین و نحوه ایجاد و عملکرد آن بطور مفصل صحبت کردیم. همچنین اولین استفاده از شبکه بلاک چین یعنی ارز دیجیتال بیت کوین را نیز بررسی نمودیم. امروز میخواهیم به یک مبحث کلیتر یعنی مفهوم الگوریتم اجماع در سیستمهای توزیع شده و معرفی انواع الگوریتم های اجماع در بلاک چین بپردازیم. الگوریتمهای اجماع در واقع بخش بسیار مهمی از شبکه بلاک چین هستند که با نوع کارکرد و همچنین امنیت شبکه بلاک چین دخیل میباشند.
الگوریتم اجماع چیست؟
یک تعریف جامع در مورد کلیت الگوریتم اجماع وجود دارد که چرایی به وجود آمدن همچین الگوریتمی را توضیح میدهد:
الگوریتم اجماع (Consensus Algorithm) فرآیندی در علم کامپیوتر است که به جهت دسترسی به یک توافق جامع در مورد یک واحد دادهای مابین اعضا و یا سیستمهای یک شبکه توزیع شده مورد استفاده قرار میگیرد.
همانطور که احتمالا میدانید، یک شبکه غیرمتمرکز شبکهای است که اطلاعات آن در یک سرور مرکزی پردازش نشده و در واقع هیچ فرد یا سازمانی مدیریت آن را بر عهده ندارد بلکه کنترل و مدیریت شبکه به اعضای آن واگذار شده است. پس اطلاعات شبکه توسط کاربران شبکه ذخیره و پردازش میشود که به این کاربران اصطلاحا نود یا گره میگویند. اما برخی از این نودها ممکن است در مواقعی در دسترس نباشند و یا در روند کار آنها اخلالی ایجاد شود که در اینصورت به آنها گرههای غیرقابل اعتماد میگویند.
الگوریتمهای اجماع به جهت رسیدن به قابلیت اطمینان در یک شبکه که شامل گرههای غیرقابل اعتماد میباشد طراحی شده است.
در صورتی که 51% نودها با موضوعی مانند انجام یک بروزرسانی در شبکه موافقت کنند لایحه تصویب شده و عملیاتی خواهد شد. این 51% همان تعدادی از گرهها هستند که در دسترس بوده و در رایگیری شرکت کردهاند.
از آنجایی که در یک شبکه غیرمتمرکز مانند بلاک چین همه کاربران (نودها) یک کپی کامل از تمام اطلاعات شبکه را در اختیار داشته و اطلاعات جدیدتر نیز توسط همه نودها ذخیره میشود پس در نتیجه صحت اطلاعات باید به تایید همه نودها برسد. این یعنی برای تایید صحت یک اطلاعات مانند تایید یک تراکنش مالی در شبکه بلاک چین همه اعضا باید آن را بررسی کرده و سلامت تراکنش را تایید نمایند که در واقع این امر همان اجماع یا به عبارتی توافق جمعی میباشد. تنها بعد از رسیدن به توافق جمعی است که یک تراکنش تایید شده و به شبکه ارسال میگردد تا در بلوک جدید قرار گرفته و به زنجیره اضافه گردد. پس یکی از کاربردهای مهم اجماع تصمیمگیری در مورد اعتبار یک تراکنش به جهت ذخیره بر روی بلاک چین است.
همچنین در صورتی که اجماع انجام بگیرد و همه گرهها یا همان سرویس دهندهها اطلاعات مورد نظر را تایید و ارسال نمایند، یک نظم و یکپارچگی در کل شبکه ایجاد میشود که از دیگر کاربردهای الگوریتم اجماع محسوب میشود که یعنی یکپارچهساری اطلاعات بر روی سیستمهای سرویس دهنده به شبکه !
کاربرد دیگر الگوریتم اجماع انتخاب گرههایی به منظور مدیریت امور شبکه غیرمتمرکز میباشد که نوعی رایگیری محسوب میشود.
در شبکه بلاک چین روند اجماع با استفاده از الگوریتمهایی انجام میشود. یعنی برای دستیابی به یک توافق جمعی در یک شبکه غیرمتمرکز مانند بلاک چین، روندی طی میشود که الگوریتمهای خاصی برای طی شدن این فرآیند و در نهایت رسیدن به یک توافق وجود دارد که شایعترین آنها دو الگوریتم گواه اثبات کار(Proof of Work - PoW) و الگوریتم گواه اثبات سهام(Proof of Stack - PoS) میباشند.
الگوریتم اجماع گواه اثبات کار (PoW)
ایده اصلی PoW توسط Cynthia Dwork و Moni Naor در سال 1993 معرفی گردید و این ایده در سال 2008 توسط ساتوشی ناکاموتو و رمز ارز بیت کوین اجرایی گردید. گواه اثبات کار در اصل برای جلوگیری از حملات مخربی مثل دو بار خرج کردن (Double Spending) بر روی شبکه بلاک چین بیت کوین فعال گردید.
برای دریافت درک درستی از مفهوم اثبات کار باید با روند استخراج ارز دیجیتال آشنا باشیم. در شبکه بیت کوین عملیات استخراج به جهت تایید تراکنشها و دریافت کارمزد و همچنین اضافه کردن بلوک جدید به زنجیره و دریافت پاداش انجام میگیرد. برای استخراج بیت کوین باید معادلات بسیار پیچیده ریاضی توسط پردازندههای ماینرها حل شوند تا بلوک جدید ایجاد شده و به زنجیره اضافه گردد. ماینرها برای ایجاد بلوک جدید با هم رقابت میکنند و اولین ماینری که موفق به اضافه کردن بلوک جدید شود پاداش دریافت میکند. به این عملیات انجام شده توسط ماینرها Work یا کار گفته شده و حل معادله و در نهایت دریافت پاداش نیز اثبات یا Proof آن است. اینگونه کل عملیات استخراج که به این شیوه انجام میشود گواه اثبات کار Proof Of Work نام میگیرد.
گرهای که عملکرد مخربی داشته باشد فرصت زیادی برای تحمیل بلوک فاسد خود به شبکه ندارد مگرینکه بتواند بیش از 50 درصد از منابع محاسباتی شبکه را تامین کند که در اینصورت حمله 51 درصد شکل میگیرد.
این روش بسیار کند است. بصورتی که اضافه شدن هر بلوک جدید به زنجیره 10 دقیقه طول میکشد و ممکن است انتظار برای تایید یک تراکنش به ساعتها بیانجامد.
در ضمن در الگوریتم اجماع گواه اثبات کار مصرف انرژی بسیار بالا و بیش از اندازه است. زیرا دستگاههایی که برای انجام عملیات استخراج بکار میروند برق زیادی مصرف میکنند.
با ظهور دستگاههای محاسباتی بسیار پرقدرت که به آنها ASIC میگویند، دیگر جایی برای استخراج کنندههای ضعیف و خانگی باقی نمانده که متاسفانه این امر باعث از بین رفتن دموکراسی در استخراج شده است.
درحال حاضر رمز ارزهای بیت کوین، اتریوم و لایت کوین از این الگوریتم استفاده میکنند.
الگوریتم اجماع گواه اثبات سهام(PoS)
ایده الگوریتم اجماع گواه اثبات سهام (Proof Of Stack - PoS) در سال 2011 و به جهت جایگزینی برای الگوریتم اجماع گواه اثبات کار و به منظور حل مشکلات الگوریتم اثبات کار مطرح گردید.
در این الگوریتم بلوکها به جای استخراج، ساخته میشوند. پس هر فرد که در شبکهای که از الگوریتم اثبات سهام استفاده میکند فعال است بلوکهای جدید را میسازد. در ضمن در این الگوریتم به جای کلمه ماینر(Miner) از کلمه Forger استفاده میشود.
سیستم PoS به این صورت کار میکند افراد برای ایجاد بلوک جدید توسط شبکه انتخاب میشوند و روند انتخاب افراد به مقدار سهم (سکه) که در کیف پول دیجیتالی خود یا استخر سهام دارند بستگی دارد. کاربران به منظور انتخاب شدن برای ساختن بلوک جدید مقدار مشخصی سکه یا سهم را در کیف پول خود یا در استخرهای سهام قرار میدهند تا شانس بیشتری برای انتخاب شدن و در نهایت ساخت بلوک جدید داشته باشند.
در الگوریتم اجماع گواه اثبات سهام به دلیل عدم وجود استخرهای استخراج متمرکز حملات مخرب بسیار کاهش یافته است. همچنین فردی که بعنوان خالق یا سازنده بلوک انتخاب میشود در واقع مالک بخشی از سکهها نیز هست و همین امر باعث میشود تا خالق بلوک مسئولیت محافظت از بلوک را بر عهده بگیرد.
در PoS هیچ جایزهای در قبال تولید بلوک جدید به Forger تعلق نمیگیرد بلکه کاربران فقط کارمزد تراکنشها را دریافت میکنند.
در این الگوریتم انرژی خاصی از برق مصرف نمیشود.
جمع بندی
هر شبکه غیرمتمرکزی که اداره و کنترل آن بر عهده کاربران متصل به شبکه باشد از انواع الگوریتمهای اجماع به جهت رسیدن به یک توافق جامع در بین مدیران شبکه (که همان کاربران یا گرهها هستند) استفاده میکند. اجماع یا توافق جمعی باعث یکپارچگی، امنیت و ادامه روند حیات در شبکه های غیرمتمرکز میشود. برای انجام یک توافق جمعی باید یک روند یا به عبارتی یک الگوریتم شکل بگیرد. انواع مختلفی از الگوریتمهای اجماع وجود دارند که بهترین و شایعترین آنها دو الگوریتم اثبات کار PoW و اثبات سهام PoS میباشند. الگوریتم اثبات کار انرژی بسیار زیادی مصرف میکند و در معرض خطر حملات مختلفی قرار دارد، به همین دلیل الگوریتم اثبات سهام PoS برای حل مشکلات مصرفی و امنیتی PoW مطرح گردید.
در حال حاضر بیت کوین و اتریوم دو رمز ارز معروف هستند که از PoW استفاده میکنند اما اخیرا اتریوم قصد دارد به الگوریتم PoS کوچ کند.
نظرات (0)
به یوزبیت؛ خانه محتوا خوش آمدید
یوزبیت، به نویسندگان مستقل این امکان را میدهد که رایگان تولید محتوا کنند و با کمک هوش مصنوعی، محتوای خود را به صورت مؤثر به مخاطبان نمایش دهند.
سایر مقالات نویسنده
جدیدترین مقالات
درباره ما . راهنما . اطلاعیهها . آپدیتها . قوانین . ارتباط با ما
کلیه حقوق این سایت برای یوزبیت محفوظ میباشد.