انواع الگوریتم‌ های اجماع (بخش اول)

سیستم توافق توزیع شده (اجماع) یعنی در هنگام ارسال یا دریافت وجه نقد از هر شخصی، نیاز به اعتماد به یک سرویس شخص ثالث مثل بانک نباشد. در روش سنتی پرداخت، شما نیاز به اعتماد به یک سرویس شخص ثالث مورد قبول دو طرف معامله مثل Visa, Mastercard, PayPal, Banks دارید که تاریخچه‌ی تراکنش‌ها و میزان موجودی شما را نگه داری می‌کنند. در روشی که بیت کوین و تعدادی دیگر از ارزهای دیجیتالی معرفی می‌کنند، هرکسی یک کپی از دفتر کل توزیع شده را دارد و به صورت مستقیم می‌تواند اطلاعات مورد تایید خود را بر روی این دفتر کل بنویسد. در ادامه به توضیح مهم‌ترین پروتکل‌های اجماع می‌پردازیم.

اجماع

گواه اثبات کار (Proof-of-Work)

پروتکل گواه اثبات کار بیت کوین یک شکل از اجماع است که ناکاموتو برای انتخاب گره‌ها طراحی کرده است و عمدتا برای محافظت در برابر خطا‌های بیزانس (به طور عمده در برابر double spending توسط گره‌های مخرب) است. یک گره تلاش می‌کند مسئله رمزنگاری شده را حل کند که در آن  احتمال یافتن راه حل متناسب با تلاش محاسباتی است و یافتن راه حل محاسباتی بسیار دشوار بوده و می‌توان آن را فقط با حدس زدن تصادفی به دست آورد.

بنابراین به دلیل اینکه:

  • هر گره در شبکه می‌تواند برای پیدا کردن راه حل تلاش کند.
  • تعداد زیادی از گره‌ها برای مدت زمان معینی (تقریبا ۱۰ دقیقه) برای حل پازل رقابت می‌کنند.
  • راه حل فقط می‌تواند به صورت تصادفی پیدا شود.

گره‌ای که به صورت مخرب عمل کند، فرصت کمی برای تحمیل بلوک مخرب (double spend) در شبکه دارد، مگر اینکه حمله کننده بیش از ۵۰٪ از منابع محاسباتی شبکه را تامین کند (حمله ۵۱ درصد). بنابراین، PoW یک روش غیر قابل قبول نفوذ ارائه می‌دهد مگر اینکه یک مهاجم بتواند بیش از ۵۰ درصد منابع را جمع آوری کند.

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

PoW PoS

نقاط قوت

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

نقاط ضعف

چندین ضعف در روش PoW وجود دارد که مهمترین آن هزینه‌های انرژی قابل توجهی است که برای استخراج مصرف می‌شود و البته می‌توان به موارد زیر نیز اشاره کرد.

  • استخراج متمرکز: به دلیل اینکه اختلافات زیادی در قدرت CPU کامپیوترها وجود دارد، کاربرانی که پردازنده‌های کم قدرت دارند اغلب میدان را به ماشین‌های قدرتمند  می‌بازند. بنابراین، PoW نمی‌تواند الزامات الگوریتم اجماع مبنی بر اینکه گره‌های تصادفی باید در میان وسیعترین جمعیت ممکن از شرکت کنندگان انتخاب شوند را بر آورده سازد. این ضعف خطر استخراج متمرکز (استخرهای بزرگ پول) را افزایش می‌دهد.
  • تأخیر زمانی زیاد: بلوک‌های جدید تقریبا هر ۱۰ دقیقه تولید می‌شود. در نتیجه انتظار برای تایید یک بلوک تولید شده برای یک تراکنش ممکن است تا ساعت‌ها طول بکشد  چرا که یک تراکنش باید حتما توسط گره‌های موجود در زنجیر اصلی تایید شود تا مطمئن شد که بلوک تولید شده به شاخه اصلی بلاک‌چین اصلی متصل شده است.
  • نرخ پایین تراکنش: حداکثر اندازه بلوک تایید شده تحت الگوریتم اجماع در شبکه بیت‌کوین، حداکثر ۷ تراکنش در ثانیه است که به نسبت تعداد کمی است.

PoW PoS

گواه اثبات سهام (Proof-of-Stake)

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

برخلاف گواه اثبات کار (PoW) که در آن به ماینرها برای حل پازل ریاضی با هدف تایید تراکنش‌ها و ایجاد بلوک جدید جایزه داده می‌شد، در گواه اثبات سهام این خالق بلوک جدید است که بسته به میزان سرمایه‌اش یک راه قطعی انتخاب می‌کند. پس جایزه‌ای در کار نیست و ماینرها فقط کارمزد تراکنش‌ها را دریافت می‌کنند. البته قابل ذکر است که در سیستم PoS از کلمه‌ Forgers بجای Miners استفاده می‌شود.

نقاط قوت

گواه اثبات سهام دارای مزایایی نسبت به گواه اثبات کار (PoW) است. گواه اثبات سهام قدرت محاسباتی زیادی مصرف نمی‌کند، با ممانعت از  ایجاد استخرهای استخراج متمرکز (centralized mining pools)، خطر حملات مخرب را کاهش می‌دهد و با توجه به اینکه سازنده بلوک‌ها، مالک بخشی از آن سکه‌ها نیز هستند، کسی که مسئولیت «محافظت» از سکه‌ها بر عهده دارد، مالک بخشی از آن سکه‌ها نیز هست. (اتفاقی که در گواه اثبات کار لزوما نمی‌افتد)

نقاط ضعف

یکی از نقاط ضعف گواه اثبات سهام در خطر نبودن سهام‌داران (nothing at stake) است. یک ماینر می تواند در زمان ایجاد انشعاب (Fork) با هر دو شاخه همراهی کند. این می‌تواند مانع شکل‌گیری اجماع بین گره‌ها شود و خطر دو بار خرج کردن (double spend) را افزایش می‌دهد.


مقالات مرتبط:

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

انواع الگوریتم‌ های اجماع (بخش دوم)

انواع الگوریتم‌ های اجماع (بخش سوم)

ارسال نظر

اولین نفری باشید که دیدگاه میگذارد!

avatar
  اشتراک  
اطلاع از
عضویت در کانال تلگرام میهن بلاکچین