پروتکل اجماع چیست؟
پیشگفتار
پروتکل اجماع (Consensus protocol) از مهم ترین اجزای فناوری بلاکچین است. این پروتکلها سیستمی از قوانین برای یک بلاکچین میسازند. پروتکل اجماع در بلاکچین به شبکه اجازه می دهد تا روی یک نسخه واحد از اطلاعات به توافق برسند. به عبارت ساده تر پروتکل اجماع در اصل قوانینی است که یک شبکه بر اساس آن کار میکند. یکی از هدف های بلاکچین ایجاد یک سیستم بدون نیاز به اعتماد است که برای تایید تراکنشها نظر اعضائ شبکه مهم است. شبکههای مختلف برای دستیابی به این هدف از روشهای متفاوتی استفاده میکنند که در مجموع به آنها پروتکل اجماع گفته میشود. از پروتکل اجماع برای توسعه برنامه های بلاکچین ، مانند شبکه های اجتماعی، بازی ها، مبادلات،سیستم های رأی گیری، فروشگاه های آنلاین و موارد دیگر استفاده کرد. از این لحاظ ، بلاک چین شباهت هایی به اینترنت دارد . به همین دلیل برخی از صاحب نظران آن را “اینترنت ۳٫۰” لقب داده اند.
پروتکل اجماع چیست؟
یک بلاکچین روی نودهای مختلفی از شبکه توزیع شده است. کار بلاکچین اعتبارسنجی تراکنشهایی است که در شبکه انجام می شوند. پروتکل اجماع در بلاکچین به شبکه این اجازه را می دهد که روی یک نسخه واحد از اطلاعات توافق صورت بگیرد. بدین ترتیب وقتی یکی از اعضای شبکه در شبکه یک تراکنش ایجاد می کند ، تراکنش به کل شبکه پخش می شود. پس از آن هر گره تراکنش را نزد خود ثبت می کند و آن را به نسخه بلاکچین خود اضافه می کند. نسخه های مختلفی که توسط گره های مختلف نگهداری می شوندممکن است که تفاوت هایی با همدیگر داشته باشند.برای نمونه اگر در ایران هستید و تراکنشی را به شبکه پخش می کنید ، گره هایی که به شما نزدیک هستند زودتر از گره مستقر در اروپا آن را دریافت می کنند.
در نتیجه در این ساختار، همه میتوانند اطلاعات خود را ارسال کنند تا در یک بلاکچین ذخیره شود. بنابراین باید چهارچوب هایی وجود داشته باشند تا تشخیص دهند که چه تراکنش هایی به شبکه اضافه شوند و چه تراکنش هایی اضافه نشوند. به این چهارچوب ها و قوانین پروتکل اجماع گفته میشود. این قوانین برای این هدف وضع شده اند که به اعتبارسنجی تراکنشها و حفظ امنیت شبکه کمک کنند. در اوایل شروع به کار بلاکچین ها پروتکل اجماع پیش از شروع به کار بلاکچین مشخص میشد اما شبکههایی مثل اتریوم هماهنگ به کاری که انجام می دهند به طور مرتب پروتکل اجماع خود را تغییر داده و بروز می کنند.
کارکرد پروتکلهای اجماع چگونه است؟
پروتکل اجماع قلب اصلی یک شبکه بلاکچین است. در حقیقت این چهارچوب ها و قوانین راهی برای بررسی معتبر بودن تراکنشهای شبکه فراهم میکنند. با توجه به غیرمتمرکز بودن بلاکچین معمولاً یک نهاد و قدرت متمرکز وجود ندارد که تعیین کند چه چیزی درست یا نادرست است، بنابراین نودهای بلاکچین باید با پیروی از چهارچوب ها و قوانین و پروتکلهای از پیش تعریف شده درباره وضعیت شبکه به توافق برسند. همچنین برخی از مهم ترین کارکردهای بلاکچین بصورت زیر است:
- جلوگیری از کنترل شبکه توسط یک شخص یا سازمان خاص
- ایجاد اعتماد بین اعضای شبکه غیرمتمرکز، بدون نیاز به وجود یک نهاد نظارتی
- پروتکل اجماع مانع از تحریف واقعیت بلاکچین توسط یک فرد یا سازمان خاص میشود.
خرج کردن دوباره یک نمونه از اتفاقی است که وقتی یک موجودیت سعی دارد با ایجاد یک نسخه از بلاکچین برای خودش، کنترل شبکه را در اختیار بگیرد رخ میدهد. مثلاً مهاجم میتواند مقداری بیتکوین خرج کند، سپس بلاکی که قرار است روی بلاکچین ثبت شود را تغییر دهد طوری که انگار این مبلغ اصلاً خرج نشده بود. مهاجم میتواند نسخه خودش از بلاکچین را که خرج کردن این مبلغ از آن حذف شده، روی شبکه مخابره کند. به این ترتیب مهاجم مقداری بیتکوین خرج کرده اما خرج کردن آن روی زنجیره ثبت نشده در نتیجه میتوان دوباره آن را خرج کرد. پروتکل بیتکوین یعنی پروتکل اثبات کار از رخ دادن چنین اتفاقی پیشگیری میکند چون وقتی نسخه بلاکچین مهاجم با سایر نسخهها که بقیه نودها در اختیار دارند مقایسه شود، تفاوت آن مشخص شده در نتیجه سایر نودها آن را رد میکنند.
مشکل در پروتکل اجماع؟
اگر پروتکل اجماع در بلاکچین به درستی کار نکند و یا دارای کارکردی ضعیف باشد موارد زیر به وجود می آید:
به وجود آمدن فورک در بلاکچین:
به وجود آمدن فورک در بلاکچین در صورتی است که یک یا چند گره بخواهند بر خلاف الگوریتم شبکه فعالیت کنند. برای نمونه فرض کنید که همه اعضای شبکه برسر این قضیه توافق دارند که بلاک های یک مگابایتی تولید کنند. اما در این میان یک یا چند نود تصمیم می گیرند که بلاک های دو مگابایتی تولید کنند. روند کار همچنان پیش می رود و نود های مخالف همچنان بلاک های دو مگابایتی تولید می کنند. در این صورت دو زنجیره بوجود می آید. یک زنجیره طولانی با بلاک های یک مگابایتی و یک زنجیره کوتاهتر با بلاک های دو مگابایتی. در صورتی که نودهای مخالف همچنان به تولید بلاک های دو مگابایتی ادامه دهند در این صورت فورک یا انشعاب در شبکه به وجود می آید.
عدم توافق :
در الگوریتم های اجماع خاص ممکن است توانایی رسیدن به اجماع تضمین نشود. برای نمونه اگر الگوریتم اجماع به نظر بیشتر نودهای شبکه احتیاج داشته باشد ،ممکن است به دلیل خرابی گره یا شبکه ، برخی از گره ها به دلیل دریافت پیام های ناسازگار قادر به تصمیم گیری نباشند ،و این امر ممکن است به عدم توافق و اختلال در شبکه منجر شود.
عملکرد ضعیف :
طراحی الگوریتم اجماع به صورت است که ممکن است در شرایط خاص زمان بیشتری برای اجماع لازم باشد. مثلا در زمان دریافت اطلاعات بین نودهای شرکت کننده ممکن است تاخیر ایجاد شود.
بیشتر بخوانید: فورک (fork) در بلاکچین چیست؟
بعضی از انواع پروتکلهای اجماع:
اثبات کار (proof of work-PoW): اولین بلاکچین جهان یعنی بیتکوین از اثبات کار استفاده میکند. ماینرها یعنی نودهایی که مسائل محاسباتی یا رمزنگاری را حل میکنند، برای اعتبارسنجی تراکنشها در بلاکچین بیتکوین از قدرت کامپیوترهای خودشان استفاده میکنند. ماینرهایی که یک مسئله را حل کرده و تراکنش را به درستی اعتبارسنجی کنند، بیتکوین پاداش میگیرند.
اثبات سهام (proof of stake-PoS): اتریوم از سمت اثبات کار به اثبات سهام در حال حرکت است. در اثبات سهام، به جای ماینر forger یا اعتبارسنج وجود دارد. این نودها مقداری ارز دیجیتال به عنوان وثیقه گرو میگذارند که به آنها شانس اعتبارسنجی بلاکها را میدهد. نودی که این کار را با موفقیت انجام دهد، کارمزد تراکنش را به عنوان پاداش دریافت میکند. این وثیقه مانع از تلاش برای فریب دادن دیگران میشود. چون اگر ثابت شود که نودی تراکنشهای نادرستی را به شبکه اضافه کرده، مبلغ وثیقه از او گرفته میشود.
اثبات سهام محول شده (DPoS): این روش شباهت زیادی به اثبات سهام دارد اما در اینجا کاربران متناسب با مبلغ وثیقه، میتوانند برای انتخاب شاهد رای بدهند. این شاهدان بلاکچینها را ایمن سازی و اعتبارسنجی میکنند، خود آنها نیازی به ارز دیجیتالشان ندارند اما به رای نیاز دارند. این پروتکل نسبت به بقیه متمرکزتر است و در BitShares، Steem و EOS از آن استفاده میشود.
اثبات اعتبار (PoA): در PoA که متمرکزترین مکانیزم اجماع نظر است، اعتبارسنجها از پیش مشخص میشوند. بلاکهای جدید تنها وقتی در بلاکچین ساخته میشوند که اعتبارسنجها اکثریت را در اختیار داشته باشند. این پروتکل شبیه اثبات سهام است. این اعتبارسنجها برای عموم مردم شناخته شده و مسئول اعتبارسنجی هستند. بلاکچین جدید Elysian و یکسری از تست نتها (یا بلاکچینهای تستی) اتریوم هم از همین روش استفاده میکنند.
جمع بندی:
پروتکلهای اجماع مانند همه فناوریهای بلاکچین در حال رشد و گسترش روزافزون هستند تا مشکلات شبکه های غیرمتمرکز را از پیش رو بردارند. نکته ای که قابل توجه است این است که هیچ یک از این پروتکلها کامل و بی نقص نیست و هر یک مشکلات خاص خود را دارند. پروتکل اثبات کار بیت کوین منجر به مصرف قدرت پردازشی و برق زیادی میشود، تایید تراکنشها در این پروتکل زمانبر است در نتیجه برای کاربردهای روزمره مناسب نیست. همچنین باید مفهوم تمرکززدایی را هم در نظر داشت. اثبات کار بشدت غیرمتمرکز است چون نودهای زیادی کار اعتبارسنجی بلاکها را انجام میدهند. اما در شبکههای جدیدتر برای بهبود سرعت، میزان متمرکزسازی افزایش یافته است. بحث تمرکززدایی در جامعه بلاکچین همیشه وجود داشته و انتظار میرود که همچنان جزء یکی از بحثهای داغ این حوزه باقی بماند.
+ همچنین در ریسمونک بخوانید: