الگوریتم اجماع در بلاک چین چیست؟ کاربردها و انواع آن

الگوریتم اجماع چیست بلاک چین
زمان مطالعه : 12 دقیقه

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

الگوریتم اجماع چیست؟

الگوریتم اجماع چیست؟

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

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

چرا به الگوریتم‌های اجماع نیاز داریم؟

چرا به الگوریتم‌های اجماع نیاز داریم؟

زمانی که شخص A به شخص B، یک دلار ارسال می‌کند، دفتر کل حسابداری یا لِجر (Ledger) یک سیستم مرکزی، یک دلار از  حساب شخص A کسر و آن را به حساب شخص B اضافه می‌کند. روندی که در بانک‌ها و شرکت‌هایی همچون پی‌پل و ویزا در حال اجراست.

اما رویکرد پردازش تراکنش‌ها در دنیای رمزارزها متفاوت است. در اینجا، هدف این است که هیچ موجودیت یا نهاد مرکزی، کنترل سیستم را در اختیار نداشته باشد که این امر، ثبت اسناد را پیچیده می‌سازد. پس راه حل چیست؟

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

در یک دفتر کل توزیع شده، کپی‌های بلاک‌چین در میان شبکه‌ای از نودها توزیع می‌شود. زمانی که یک تراکنش جدید اتفاق می‌افتد، قبل از اینکه به دفتر کل اضافه شود باید توسط مکانیزم اجماع بین نودها اعتبارسنجی و تایید شود.

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

بنابراین، الگوریتم‌های اجماع جزء ضروری و جداناپذیر تکنولوژی بلاک‌چین هستند؛ چراکه آن‌ها راه‌حلی برای مدیریت یک سیستم توزیع شده بدون نیاز به یک موجودیت یا نهاد متمرکز هستند. بدون مکانیزم‌های اجماع، هیچ راهی وجود ندارد تا مطمئن شویم که همه‌ی نودها در شبکه، یک کپی یکسان از دفتر کل را در اختیار دارند و شبکه نسبت به حملات و کلاهبرداری آسیب‌پذیر نیست.

کاربردهای الگوریتم اجماع

برخی از کاربردهای الگوریتم اجماع در یک بلاک‌چین به شرح زیر است:

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

یک الگوریتم اجماع خوب، چه ویژگی‌هایی دارد؟

هر کدام از الگوریتم‌‌های اجماع نقاط قوت و ضعفی دارند. با این حال یک الگوریتم اجماع خوب، الگوریتمی است که بتواند به اهداف زیر، دست یابد:

تمرکززدایی: مکانیزم‌های اجماع، باید طوری طراحی شوند که هیج نهاد واحدی کنترلی بر شبکه نداشته باشد و کنترل و قدرت مدیریت میان اعضا توزیع شده باشد.

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

مقیاس‌پذیری: هرچه تعداد تراکنش‌های یک شبکه با افزایش روبرو می‌شود، الگوریتم‌های اجماع باید بتوانند این افزایش فشار را بدون به خطر افتادن امنیت مدیریت کنند. در واقع، در هر ثانیه تعداد تراکنش‌های بیشتری را پردازش کنند.

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

انواع الگوریتم‌های اجماع

در ادامه به معرفی برخی از مهم‌ترین الگوریتم‌های اجماع مورد استفاده در بلاک‌چین‌ها می‌پردازیم:

الگوریتم اجماع اثبات کار (Proof of Work)

 الگوریتم اجماع اثبات کار

در الگوریتم اثبات کار، ماینرها باید اثبات کنند که در راستای حفظ امنیت شبکه، «کار» انجام داده‌اند. منظور از کار، اجرای تابع هش است.

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

مسلما، اجرای تابع هش برای پیدا کردن جواب، مستلزم مصرف انرژی زیادی است که این مساله سبب شده انتقادات زیادی از لحاظ محیط زیستی به این الگوریتم وارد شود.

الگوریتم اجماع اثبات سهام (Proof of Stake)

 الگوریتم اجماع اثبات سهام

این الگوریتم، جایگزینی سبزتر برای الگوریتم رقابت‌محور PoW است. برخلاف الگوریتم اثبات کار که ماینرها ملزم به مصرف انرژی و کار محاسباتی هستند؛ در شبکه‌هایی مبتنی بر الگوریتم اثبات سهام (PoS) ولیدیتورها که همان وظایف ماینرها را دارند، تنها لازم است مقدار مشخصی از ارزهای بومی شبکه موردنظر را استیک یا قفل کنند. ولیدیتوری که برای ایجاد بلاک انتخاب شود، پاداش بلاک را دریافت خواهد کرد. این پاداش از یک سو و از سوی دیگر، مکانیزم اسلشینگ (Slashing)، ولیدیتورها را تشویق می‌کند تا صادقانه و به نفع شبکه عمل کنند. اسلشینگ را می‌توان تنبیهی در نظر گرفت که شبکه به ولیدیتورهایی که سعی در تایید تراکنش‌های جعلی و فعالیت‌های متقلبانه دارند، اعمال می‌کند.

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

الگوریتم اجماع اثبات سهام نیابتی یا واگذار شده (Delegated PoS)

این الگوریتم که به اختصار با نماد (DPoS) نمایش داده می‌شود، نوعی از الگوریتم اثبات سهام است که برای اعتبارسنجی تراکنش‌ها و افزودن بلاک‌های جدید به بلاک‌چین، به گروه کوچک‌تری از ولیدیتورها، موسوم به نمایندگان (delegates) یا شاهدان (witnesses) متکی است. در واقع، در DPoS، تنها نمایندگانی که از سوی کاربران بیشترین رای را آورده و انتخاب شده‌اند، در فرایند اعتبارسنجی و تولید بلاک مشارکت می‌کنند. بنابراین تعداد نودهایی که در مکانیزم اجماع برای تولید بلاک شرکت می‌کنند در مقایسه با الگوریتم اثبات سهام بسیار کمتر است.

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

اگر نمایندگان، تراکنش‌های نامعتبر را منتشر کنند، دارندگان توکن به آن‌ها رای منفی می‌دهند و آن‌ها را با نماینده منتخب دیگری جایگزین می‌کنند. بنابراین، نمایندگان تشویق می‌شوند که صادقانه عمل کنند زیرا در صورت تایید تراکنش‌های جعلی یا تلاش برای حمله به شبکه، خطر از دست دادن موقعیت و پاداش خود را دارند. پروژه ایاس (EOS)، از این الگوریتم اجماع استفاده کرده است که در آن 21 نماینده برای افزودن بلاک انتخاب می‌شوند.

الگوریتم اجماع اثبات سوزاندن (Proof of Burn)

اثبات سوزاندن

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

الگوریتم اثبات سوزاندن را اغلب یک سیستم PoW می‌توان درنظر گرفت که سعی کرده است مشکل اتلاف انرژی در آن را بهبود ببخشد. در حقیقت، کاربر با سوزاندن توکن‌ها، گویی تجهیزات ماینینگی که به آن‌ها قدرت استخراج را می‌دهد، خریداری کرده است. این مساله، فرایند محاسباتی برای انتخاب ماینر را حذف می‌کند. Slimcoin؛ یکی از ارزهایی است که از این الگوریتم اجماع استفاده می‌کند.

اثبات فعالیت (Proof of Activity)

در اینجا، از دو الگوریتم اثبات سهام و اثبات کار استفاده می‌شود تا بین نقطه ضعف‌های آن‌ها، تعادلی به وجود آورد. به همین دلیل به آن، الگوریتم هیبریدی یا ترکیبی (Hybrid PoW/PoS) نیز گفته می‌شود.

می‌توان نحوه عملکرد این مکانیزم را به دو مرحله تقسیم‌بندی کرد:

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

مرحله دوم: پس از تولید بلاک، سیستم به مرحله دوم، یعنی الگوریتم اثبات سهام هدایت می‌شود. در این مرحله، گروهی از ولیدیتورها به صورت تصادفی برای اعتبارسنجی بلاک تولید شده انتخاب می‌شوند. درست مانند اثبات سهام، هر چه ولیدیتور، رمزارزهای بیشتری استیک کرده باشد، شانس بیشتری برای انتخاب شدن دارد.

بعد از انجام این دو مرحله، بلاک کامل می‌شود و سپس به بلاک‌چین اضافه می‌شود. Decred یکی از پروژه‌هایی است که از این الگوریتم برای مدیریت شبکه خود استفاده می‌کند.

اثبات سهام استیجاری (Leased Proof of Stake)

LPoS، گونه‌ای از الگوریتم اثبات سهام (PoS) است که در آن، کاربران ارزهای دیجیتال خودشان را به نودی اجاره می‌دهند که می‌خواهد به‌عنوان تولیدکننده بلاک در شبکه عمل کند. اصولا، ولیدیتورها در شبکه‌های مبتنی بر اثبات سهام، برای افزایش شانس تولید بلاک و همچنین دریافت پاداش، ارزهای دیجیتال بیشتری باید استیک کنند.

LPoS، به کاربرانی با تعداد توکن‌های کمتر اجازه می‌دهد تا با اجاره دادن توکن‌های خود به ولیدیتورهای بزرگ‌تر، در فرآیند اعتبارسنجی مشارکت کنند. این کاربران، مالکیت توکن‌های خود را حفظ می‌کنند (یعنی از کیف پول آن‌ها جابجا یا خارج نمی‌شود) و به نسبت مقدار توکن‌هایی که اجاره داده‌‌اند، سهمی از پاداش‌های کسب‌شده توسط اعتبارسنجی را دریافت می‌کنند. پروژه Waves از این الگوریتم استفاده می‌کند.

سخن آخر

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

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

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

دیدگاهتان را بنویسید

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *