به گزارش سایت خبری ساعد نیوز، الگوریتم اجماع یک روش است که از طریق آن، تمام افراد فعال در شبکه بلاک چین به یک توافق مشترک درباره وضعیت حال حاضر دفترکل توزیع شده دست می یابند. بدین ترتیب، الگوریتم های اجماع، اعتبار (reliability) را در شبکه بلاک چین و اعتماد را بین نودها یا همتایان ناشناس در محیط محاسباتی توزیع شده ایجاد می کنند. اساسا پروتکل اجماع اطمینان حاصل می کند هر بلاک جدید که به بلاک چین اضافه می شود، تنها نسخه واقعی است توسط تمام نودها مورد توافق واقع شده است.
پروتکل اجماع بلاک چین شامل اهداف خاصی نظیر دستیابی به توافق، همکاری، حق مساوی هر نود و حضور اجباری هر نود در فرایند اجماع است. در نتیجه، الگوریتم اجماع در صدد دستیابی به توافق مشترکی است که توسط کل شبکه حاصل شده باشد.
کاربردهای الگوریتم اجماع
به طور کلی الگوریتم های اجماع کاربردهای دیگری هم دارند، مانند:
- تصمیم گیری در مورد اینکه آیا یک تراکنش صلاحیت تایید و ذخیره روی دفتر کل توزیع شده را دارد یا خیر
- انتخاب گره ها برای مدیریت امور روی دفتر کل توزیع شده
- تضمین یکدست سازی اطلاعات روی سیستم های سرویس دهنده به شبکه
در مثال شرکت، اگر کارمندان بر سر یک موضوع اتفاق نظر نداشته باشند، مدیر شرکت تصمیم نهایی را خواهد گرفت. با استفاده از الگوریتم اجماع، به توافق رسیدن بین گره ها از طریق یک سیستم رای گیری انجام خواهد شد. به این صورت که اگر یک کاربر تراکنشی (هر نوع اطلاعاتی را شامل می شود) را به شبکه ارسال کند، داده فرستاده شده توسط همه گره ها مورد بررسی قرار می گیرد، اگر با توجه به اطلاعات قبلی، تراکنش ارسال شده درست باشد، گره یک تاییدیه مبنی بر صحت آن به شبکه میفرستد. مجموعه ای از تراکنش ها یک بلاک را می سازند. اگر بیش از ۵۱ درصد گره ها اضافه شدن این بلاک را به بلاکچین تایید کنند، گره ها بلاک جدید را به سیستم خود اضافه خواهند کرد و تراکنش های داخل آن موفق و نهایی خواهد شد.
اولین و معروف ترین استفاده از بلاکچین، رمز ارز بیت کوین است. در بلاکچین بیت کوین، هر بلاک شامل اطلاعات تراکنش (فرستنده و گیرنده و مبلغ ارسالی)، هش بلاک قبلی و هش بلاک فعلی است. گره ها در شبکه بیت کوین با استفاده از یک الگوریتم اجماع تراکنش ها را تایید و بلاک های جدید را تولید می کنند.
انواع الگوریتم اجماع
در ادامه به توضیح انواع الگوریتم های اجماع و نحوۀ عملکرد آنها می پردازیم.
الگوریتم اجماع اثبات کار (PoW):
از الگوریتم اجماع اثبات کار (Proof of Work)، در انتخاب استخراج کننده برای ساخت بلوک بعدی استفاده می شود. بیت کوین نیز از این الگوریتم اجماع استفاده می کند. ایدۀ اصلی پشت الگوریتم اثبات کار، حل یک معمای پیچیده ریاضیاتی و به دست آوردنِ یک راه حل درست است. این مسائل ریاضی به قدرت محاسباتی زیادی نیاز دارد؛ بنابراین، نودی که معمای ریاضیاتی را زودتر حل کند، می تواند بلوک بعدی را استخراج کند.
الگوریتم اجماع اثبات سهام (PoS)
الگوریتم گواه اثبات سهام (Proof of Stake) رایج ترین جایگزین برای الگوریتم اجماع اثبات کار است. در این نوع الگوریتم اجماع، ولیدیتورها (اعتبارسنج ها) به جای سرمایه گذاری روی سخت افزارهای گران قیمت برای حل یک معمای پیچیده، با فریز کردن برخی از کوین های خود به عنوان سهام، روی کوین های شبکه سرمایه گذاری می کنند. پس از آن، تمام ولیدیتور ها شروع به اعتبار دادن به بلاک ها می کنند. اگر اعتبارسنج ها بلاکی را کشف کنند که فکر کنند می تواند به زنجیره اضافه شود، با تأیید آن، بلاک را معتبر می کنند.
بسته به بلاک های درستی که در نهایت به بلاکچین اضافه می شوند، همه ولیدیتورها متناسب با میزان مشارکت شان پاداش می گیرند و متناسب با آن، سهام شان نیز افزایش پیدا می کند.
در پایان، یک ولیدیتور بر اساس سهم خود در شبکه، برای ایجاد بلاک جدید انتخاب می شود. بنابراین الگوریتم اجماع اثبات سهام، ولیدیتورها را از طریق یک مکانیزم انگیزشی برای به توافق رسیدن تشویق می کند.
الگوریتم اجماع تحمل خطای بیزانس عملی (PBFT)
تحمل خطای بیزانس (Practical byzantine fault tolerance) از ویژگی های شبکۀ توزیع شده برای رسیدن به الگوریتم اجماع است. این روش حتی در مواردی که بعضی از نود های شبکه قادر به پاسخگویی نباشند یا این کار را با اطلاعات نادرستی انجام دهند، به کار می رود. هدفِ یک مکانیسم BFT، محافظت در برابر خرابی های سیستم با استفاده از روش تصمیم گیریِ جمعی (هر دو نود های صحیح و معیوب) بوده و در نتیجه می خواهد تأثیر نودهای معیوب را کاهش دهد.
الگوریتم اجماع اثبات سوزاندن (PoB)
در الگوریتم اجماع اثبات سوزاندن (Proof of Burn) به جای سرمایه گذاری بر تجهیزات سخت افزاریِ گران قیمت، ولیدیتورها با ارسال رمزارزها به آدرسی که از آنجا قابل استرداد نیستند، آنها را می سوزانند. ولیدیتورها با سپردن توکن ها به یک آدرس غیرقابل استرداد، بر اساس یک فرآیند انتخاب تصادفی، اعتبار استخراج در سیستم را کسب می کنند. بنابراین، سوزاندن توکن ها در اینجا به این معنی است که اعتبارسنج ها در ازای زیان کوتاه مدت خود، تعهدی بلندمدت به دست می آورند.
بسته به اینکه اثبات سوزاندن چطور انجام شده باشد، استخراج کنندگان ممکن است توکن اختصاصی برنامه بلاکچین یا واحد پول یک بلاکچین دیگر مانند بیت کوین را بسوزانند. هر چقدر آنها توکن یا کوین های بیشتری بسوزانند، شانس انتخابشان برای استخراج بلاک بعدی بیشتر می شود.
در حالی که اثبات سوزاندن یک جایگزین جالب برای گواه اثبات کار (PoW) است، با این حال این پروتکل هنوز منابع را بیهوده هدر می دهد. از آنجایی که قدرت استخراج صرفاً به کسانی می رسد که مایل هستند توکن های بیشتری بسوزانند، نسبت به استفاده از این الگوریتم تردید وجود دارد.
الگوریتم اجماع اثبات ظرفیت (PoC)
در الگوریتم اجماع اثبات ظرفیت (Proof of Capacity)، ولیدیتورها (اعتبارسنج ها) قرار است به جای سرمایه گذاری روی سخت افزارهای گران قیمت یا سوزاندن رمزارزها، روی فضای هارد دیسکشان سرمایه گذاری کنند. هرچه اعتبارسنج ها فضای هارد دیسک بیشتری داشته باشند، شانس بیشتری برای انتخاب برای استخراج بلاک بعدی و کسب پاداش بلاک خواهند داشت.
الگوریتم اجماع اثبات زمان سپری شده (PoET)
الگوریتم PoET (Proof of Elapsed Time) یکی از منصفانه ترین الگوریتم های اجماع است که بلاک بعدی را تنها با استفاده از ابزارهای منصفانه ایجاد می کند. این الگوریتم به طور گسترده ای در شبکه های بلاکچین استفاده می شود. در این الگوریتم، هر اعتبارسنج (ولیدیتور) برای ایجاد بلاک خود در شبکه، فرصتی عادلانه به دست می آورد. همه نود ها این کار را با انتظار برای مدت زمانی تصادفی در بلاک انجام می دهند.
بلاک های ایجادشده برای بررسی دیگران در شبکه پخش می شوند. برنده، آن ولیدیتوری است که حداقل مقدارِ زمان لازم را داشته باشد.
بلاک جدید به بلاکچین پیوست می شود. برای جلوگیری از اینکه یک سری نودهای خاص همیشه در دریافت پاداش بلاک ایجاد جدید پیروز شوند و ممانعت از اینکه نود ها همیشه کمترین مقدار زمان را صرف کنند، بررسی های دیگری هم در این الگوریتم انجام خواهد شد.