الگوریتم اجماع – بررسی 30 الگوریتم

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

0 87

فرض مقاله بر این است که شما می‌‌دانید الگوریتم چیست و با اهمیت آن در بلاکچین‌‌‌‌‌‌ها آشنا هستید.

لیست 30 الگوریتم اجماع

1. اثبات کار (Proof of Work)

مزایا:

  • از سال 2009 در این محیط مورد آزمایش قرار گرفته است و تاکنون به قوت خود باقی مانده است.

معایب:

  • کند است.
  • انرژی زیادی مصرف می‌‌کند و برای محیط زیست چندان مناسب نیست.
  • در مقابل صرفه به مقیاس حساس و شکننده است.

توسط بیت‌‌کوین، اتریوم، لایت‌‌کوین، دوج‌‌کوین و … مورد استفاده قرار گرفته است.

نوع: اجماع رقابتی.

شرح: این اولین الگوریتم اجماع (که توسط ساتوشی ناکاموتو ارائه شد) است که اجماع توزیع‌‌شده‌‌ی بدون نیاز به واسطه را به وجود آورد و مشکل خرج دوبرابر را حل می‌‌کند. اثبات کار ایده‌‌ی جدیدی نیست اما شیوه‌‌ی ترکیب آن با مفاهیم موجود دیگر (امضاهای رمزنگاری، زنجیره مرکل، شبکه‌‌های همتا به همتا) توسط ساتوشی برای به وجود آوردن یک سیستم اجماع توزیع‌‌شده‌‌ی پایدار که رمزارزها اولین و اساسی‌‌ترین کاربست آن بوده‌‌اند، کاملاً نوآورانه بود.

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

اساساً این کار برای اطمینان از تخصیص پول/منابع توسط استخراج‌‌کنندگان برای انجام کار انجام داده می‌‌شود که نشان می‌‌دهند آنان به سیستم بلاکچین‌‌ صدمه نمی‌‌زنند چون آسیب رسیدن به سیستم منجر به از دست رفتن سرمایه‌‌گذاری خودشان و در نتیجه آسیب رسیدن به خودشان می‌‌شود.

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

2. اثبات سهام (Proof of Stake)

مزایا:

  • بهره‌‌وری انرژی
  • پرهزینه بودن حمله به آن برای مهاجمان
  • دربرابر صرفه به مقیاس حساس و شکننده نیست

معایب:

  • مشکل nothing-at-stake

مورد استفاده توسط اتریوم (به زودی)، Peercoin و Nxt.

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

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

در اثبات سهام، یک دلار یک دلار است. مثلا 10 هزار استخراج‌‌کننده را در نظر بگیرید که در هر دقیقه 1 دلار خرج می‌‌کنند (87.6 میلیون دلار در سال) و توان هش کمتری نسبت به یک استخر استخراج که 10 هزار دلار در دقیقه خرج می‌‌کند (87.6 میلیون دلار در سال) داشته باشد. اما در مورد اثبات سهام، شما نمی‌‌توانید همه‌‌ی این را یک‌‌باره خرج کنید. در اینجا یک دلار یک دلار است. بنابراین دربرابر صرفه به مقیاس حساس نیست.

همچنین حمله به یک سیستم اثبات سهام پرهزینه‌‌تر از حمله به یک سیستم اثبات کار است. ولاد زامفیر (Vlad Zamfir) می‌‌گوید: هزینه یک حمله تکرار شده 51 درصد به اثبات سهام تا این حد است که گویی مزرعه ASICتان با همه متعلقاتش سوخته باشد.

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

اما مسئله‌‌ای که می‌‌تواند به وجود بیاید «مشکل nothing-at-stake است که در آن تولیدکنندگان بلوک با رای‌‌ دادن به فورک بلاکچین‌‌ هیچ چیزی برای از دست دادن نخواهند داشت و از رسیدن به اجماع هم جلوگیری می‌‌کنند.

block

شما در اثبات سهام می‌‌توانید دارایی‌‌ایتان را در هر دو طرف زنجیره قرار دهید (مسئله nothing-at-stake) در حالی که در اثبات کار نخواهید توانست در هر دو طرف استخراج کنید (چون دشوار است).

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

3. اثبات تاخیر کار (Delayed Proof of Work)

مزایا:

  • انرژی بهینه
  • افزایش امنیت
  • توانایی افزودن ارزش به دیگر بلاکچین‌‌‌‌ها توسط تامین غیرمستقیم بیت‌‌کوین (یا هر سکه امن دیگر) بدون نیاز به پرداخت هزینه تراکنش.

معایب:

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

توسط کومودو مورد استفاده قرار گرفته است.

نوع: اجماع دسته‌‌جمعی

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

bitcoin

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

pow blockchain

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

کومودو برای پیشگیری از بروز جنگ استخراج بیت گره‌‌های اسنادی، که کارآمدی شبکه را کاهش می‌‌دهد، یک روش استخراج دوره‌‌ای را ایجاد کرده است که روی دو گره کار می‌‌کند. حالت «No Notary» درست مثل مکانیزم سنتی اجماع اثبات کار، به گره‌‌های شبکه امکان استخراج بلوک‌‌ها را می‌‌دهد. با این حال در حالت فعال بودن «Notary»، نمایندگان شبکه با نرخ دشواری بسیار پایین‌‌تری استخراج خواهند کرد. در این طرح، نمایندگان شبکه اجازه استخراج یک بلوک در میزان دشواری کنونی خود را داراست، در حالی که دیگر گره‌‌های نماینده باید در نرخ دشواری 10 برابر استخراج کرده و همه گره‌‌های معمولی هم در نرخ دشواری 100 برابری نسبت به دیگر گره‌‌ها دست به استخراج خواهند زد.

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

mining

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

blockchain

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

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

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

4. اثبات سهام محول شده

مزایا:

  • بهینه در مصرف انرژی
  • سریع. استیم‌‌ایت، یک سایت وبلاگ‌‌نویسی پر پرترافیک از آن استفاده می‌‌کند. EOS زمانی معادل 0.5 ثانیه برای هر بلوک دارد.

معایب:

  • اندکی متمرکز.
  • شرکت‌‌کنندگان دارای سهام زیاد می‌‌توانند به خودشان رای دهند تا به یک تاییدکننده تبدیل شوند. چیزی که تازگی‌‌ها در EOS دیده می‌‌شود.

توسط بیت‌‌شیرز، استیم‌‌ایت، EOS، لیسک و آرک مورد استفاده قرار گرفته است.

نوع: اجماع جمعی

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

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

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

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

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

این خیلی سریع است!

5. اثبات مسئولیت (Proof of Authority)

مزایا:

  • مصرف بهینه انرژی
  • سرعت

معایب:

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

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

نوع: اجماع جمعی.

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

برای انتشار یک تاییدکننده باید این سه شرایط محقق شوند:

1. هویت باید به شکل رسمی در زنجیره تایید شده و امکان بررسی متقابل اطلاعات در یک حوزه عمومی وجود داشته باشد.

2. صلاحیت باید به سختی به دست آید تا حق تایید بلوک‌‌های کسب‌‌شده و ارزش‌‌گذاری‌‌شده ایجاد شود (مثال: تاییدکنندگان بالقوه باید مدرک نمایندگی عمومی را به دست بیاورند).

3. برای برقراری مسئولیت و اختیار، باید در بررسی‌‌ها و فرایندها یکپارچگی کامل وجود داشته باشد.

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

5. اثبات وزن (proof of weight)

مزایا:

  • مصرف بهینه انرژی
  • قابل شخصی‌‌سازی و مقیاس‌‌پذیر

معایب:

  • ارائه مشوق در آن دشوار است.

توسط آلگورند (Algorand) استفاده شده است.

نوع: اجماع جمعی

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

7. اثبات شهرت (Proof of Reputation)

مزایا:

  • برای شبکه‌‌های خصوصی و دارای مجوز دسترسی خوب است.

معایب:

  • تنها در بلاکچین‌‌‌‌های خصوصی و دارای مجوز دسترسی استفاده می‌‌شود.

توسط گوچین (GoChain) استفاده شده است.

نوع: اجماع جمعی

توضیح: شبیه اثبات اختیار است. همانطور که توسط گوچین اشاره شده است:

مدل اجماع اثبات شهرت (Proof of Reputation) برای امنیت بخشیدن به شبکه بر شهرت شرکت‌‌کنندگان متکی است. یک شرکت‌‌کننده (امضاکننده بلوک) باید آنقدر شهرت داشته باشد که اگر قصد تقلب در سیستم را داشته باشد با عواقب مالی و تجاری چشمگیری روبرو شود. این مفهومی نسبی‌‌ست چون تقریبا همه کسب‌‌وکارها درصورت تلاش برای تقلب آسیب شدیدی خواهند دید اما شرکت‌‌های بزرگ‌‌تر معمولا چیز بیشتری برای از دست دادن دارند و نسبت به شرکت‌‌های کوچک بیشتر انتخاب می‌‌شوند.

به محض اینکه شهرت یک شرکت اثبات شده و تایید را پشت سر بگذارد، می‌‌توانند در شبکه به عنوان یک گره مسئول انتخاب شده و در این نقطه مانند یک شبکه اثبات مسئولیت عمل می‌‌کنند که در آن تنها گره‌‌های مسئول می‌‌توانند بلوک‌‌ها را امضا و تایید کنند.

8. اثبات زمان سپری شده (PoET)

مزایا:

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

معایب:

  • اگرچه ارزان است اما می‌‌توانید از سخت‌‌افزار تخصصی هم استفاده کنید. بنابراین قابلیت استفاده انبوه را ندارد.
  • مناسب بلاکچین‌‌‌‌های عمومی نیست.

توسط هایپرلجر Sawooth مورد استفاده قرار گرفته است.

نوع: اجماع رقابتی

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

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

مکانیزم اجماع شبکه PoET باید از دو عامل مهم اطمینان حاصل کند. اول اینکه گره‌‌های شرکت‌‌کننده زمانی را انتخاب کنند که حتما تصادفی باشد و عمدا کوتاه انتخاب نشود که زودتر بیدار شده و برنده شوند؛ دوم اینکه برنده حتما زمان انتظارش را کامل کند.

مفهوم PoET در اوایل سال 2016 توسط اینتل، تولیدکننده مشهور تراشه ابداع شد. این ابزار فناوری سطح بالایی برای حل مشکل رایانشی گزینش تصادفی رهبر ارائه می‌‌کند.

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

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

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

9. اثبات ظرفیت یا اثبات فضا

مزایا:

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

معایب:

  • مشوق‌‌سازی در آن یک مسئله است.

توسط برست‌‌کوین، چیا و اسپیس‌‌مینت به کار گرفته شده است.

نوع: اجماع جمعی

تشریح: الگوریتم اثبات فضا (PoSpace) که الگوریتم اثبات ظرفیت ( PoC) هم نامیده می‌‌شود ابزاری‌‌ست که توسط تخصیص یک مقدار غیراسمی از پول یا فضای حافظه برای حل چالشی که توسط ارائه‌‌کننده سرویس مطرح شده است، نشان دهد که فردی سهم مشروعی در یک سرویس (مانند ارسال یک ایمیل) دارد. این مفهوم توسط زیمبووسکی و همکارانش در سال 2015 معرفی شد.

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

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

اثبات‌‌های فضا به دلیل ماهیت عمومی ذخیره‌‌سازی و هزینه کمتر انرژی توسط ذخیره‌‌سازی، به‌‌عنوان گزینه‌‌ی منصفانه‌‌تر و سبزتر (سازگار با محیط زیست) دیده می‌‌شوند.

10. اثبات تاریخ

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

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

برچسب‌‌های زمانی اثبات تاریخ

برچسب‌‌های زمانی اثبات تاریخ

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

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

برای تابع هش SHA256، موازی ساختن این فرایند بدون حمله با استفاده از هسته‌‌های 212 ممکن نیست.

سپس می‌‌توانیم مطمئن باشیم که بین هر شمارشگر در حین تولید زمانی واقعی سپری شده است و سفارش ثبت‌‌شده هر شمارشگر با سفارش ثبت شده در واقعیت یکی است.

11. اثبات شتاب سهام

توسط ردکوین مورد استفاده قرار گرفته است.

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

12. اثبات اهمیت (proof of importance)

مزایا:

  • در ارزشیابی سهام از اثبات سهام بهتر عمل می‌‌کند.

توسط NEM مورد استفاده قرار گرفته است.

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

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

همچنین باید اشاره کنیم که اثبات اهمیت NEM دربرابر دستکاری اختیاری هم مقاوم است. حملات سیبل و حملات حلقه با استفاده از مکانیزم زیرساختی اجماع کاهش می‌‌یابند. باید به یاد داشت که «اثبات اهمیت اثبات سهام نیست، اگرچه یافتن شباهت‌‌هایی بین آنان چندان دشوار نیست.

13. اثبات سوزاندن (Proof of Burn)

توسط اسلیم‌‌کوین، تی‌‌جی‌‌کوین (سکه نسل سوم) مورد استفاده قرار گرفته است.

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

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

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

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

14. اثبات هویت

توضیح: اثبات هویت (Proof of Identity) یک مدرک رمزنگاری است که به ما می‌‌گوید هر کاربری که کلید خصوصی را بداند به مثابه‌‌ی کاربری با هویت معتبر شناخته شده و از نظر رمزنگاری به یک تراکنش خاص پیوست شده است. هر فردی از یک گروه می‌‌تواند یک PoF ساخته و آن را به هرکسی مثلا یک گره پردازش‌‌گر ارائه کند.

15. اثبات فعالیت (Proof Of Activity)

توسط Decred مورد استفاده قرار می‌‌گیرد.

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

برخی بر این باورند که این امکان دارد مسائل امنیتی ناشی از تراژدی عوام را به وجود بیاورد که در آن مردم به نفع خود کار کرده و سیستم را به سمت فساد می‌‌کشانند. پس اثبات فعالیت به عنوان یک ساختار تشویقی جایگزین برای بیت کوین ساخت شد. اثبات فعالیت یک رویکرد ترکیبی است که اثبات کار و اثبات سهام را با هم ترکیب می‌‌کند.

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

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

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

انتقاداتی که به اثبات فعالیت وارد است همان انتقاداتی است که به اثبات کار (مصرف زیادی انرژی برای استخراج بلوک‌‌ها) و اثبات کار (هیچ چیزی برای ممناعت از امضای دوگانه توسط تاییدکننده وجود ندارد) وارد شده است.

16. اثبات زمان (Proof of Time)

توسط Chronologic مورد استفاده قرار گرفته است.

توضیح: اثبات زمان توسط کرونولاجیک (Chronologic) معرفی شده است. آنان در حال برنامه‌‌ریزی برای ساختن یک بلاکچین‌‌ جدا هستند. توسعه‌‌دهنده‌‌ی اصلی آن عنوان کرده که:

«در اینجا مشکل این است که بزرگ‌‌ترین عددی که می‌‌تواند در یک متغیر سالیدیتی ذخیره شود از ترتیب بزرگی 1076 است. این کار با زمان و تولید توکن‌‌ها را برای ما دشوار کرده است».

17. اثبات وجود (Proof of Existence)

توسط Poex.io، HeroNode، DragonChain مورد استفاده قرار گرفته است.

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

این اثبات در سال 2013 به عنوان یک پروژه متن باز آغاز شد. این اثبات توسط مانوئل آراوز (Manuel Araoz) و استبان اوردانو (Esteban Ordano) توسعه داده شد.

استفاده‌‌های موردی:

  • توافق امضای دیجیتال بدون افشای محتوای واقعی.
  • نشان دادن تملک داده بدون افشای محتوای واقعی.
  • برچسب زمانی زدن به اسناد.
  • اثبات تملک
  • بررسی یکپارچگی داده

18. Ourboros

توسط کاردانو مورد استفاده قرار گرفته است.

توضیح: نوعی از اثبات سهام (با ضمانت‌‌های امنیتی) که توسط کاردانو به کار گرفته شده است.

19. اثبات قابلیت بازیابی (Proof of Retrievability)

توسط مایکروسافت استفاده شده است.

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

20. تحمل خطای بیزانس (Byzantine Fault Tolerance)

تحمل خطای بیزانس

مسئله‌‌ی بیزانس

مزایا:

  • سریع، مقیاس‌‌پذیر

معایب:

  • معمولا برای شبکه‌‌های خصوصی و نیازمند به مجوز دسترسی استفاده می‌‌شود.

توسط هایپرلجر فابریک، استلار، ریپل و دیسپچ به کار گرفته شده است.

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

تحمل عملی خطای بیزانس (PBFT): یکی از اولین راهکارهای این مسئله توسط تحمل عملی خطای بیزانس ایجاد شد. این نسخه هم‌‌اکنون توسط هایپرلجر فابریک به کار گرفته شده است که با چند ژنرال از پیش انتخاب شده به خوبی کار می‌‌کند.

مزیت: خروجی بالای تراکنش

عیب: متمرکز/نیازمند به مجوز دسترسی

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

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

21. تحمل نیابتی خطای بیزانس (dBFT)

مزایا:

  • سریع، مقیاس‌‌پذیر

معایب:

  • همه برای تبدیل شدن به زنجیره ریشه مبارزه می‌‌کنند. امکان وجود چندین زنجیره ریشه وجود دارد.

توسط نئو (Neo) به کار گرفته شده است.

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

dBFT تحمل خطای f = [(n-1) / 3] را برای سیستم اجماع مهیا می‌‌کند که شامل n گره اجماع است. این تحمل خطا همچنین شامل امنیت و دسترسی هم می‌‌شود و در مقابل شکست‌‌های عمومی و بیزانس مقاوم است و برای هرگونه محیط شبکه‌‌ای مناسب است. dBFT قعطیت خوبی دارد، یعنی به محض اینکه تاییدیه‌‌ها نهایی شوند، بلوک نمی‌‌تواند تقسیم و دو شاخه شود و تراکنش قابل برگشت نخواهد بود.

در مکانیزم اجماع dBFT نئو که تولید یک بلوک 15 تا 20 ثانیه طول می‌‌کشد، خروجی تراکنش تا 10 هزار TPS محسابه می‌‌شود که درمیان بلاکچین‌‌‌‌های عمومی عملکرد خیلی خوبی به حساب می‌‌آید. از طریق بهینه‌‌سازی مناسب، پتانسیل رسیدن به 10 هزار TPS هم وجود دارد که امکان پشتیبانی گسترده از اپلیکیشن‌‌های تجاری را فراهم خواهد کرد.

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

22. RAFT

اجماع RAFT

اجماع RAFT

مزایا:

  • مدل ساده‌‌تر نسبت به Paxos اما همان امنیت
  • پیاده‌‌سازی موجود در بسیاری از زبان‌‌های برنامه‌‌نویسی

معایب:

  • معمولا در شبکه‌‌های خصوصی و نیازمند به مجور دسترسی به کار گرفته می‌‌شود.

توسط IPFS Private Cluster و Quorum مورد استفاده قرار گرفته است.

توضیح: RAFT یک الگوریتم اجماع است که به عنوان جایگزینی برای Paxos طراحی شده است. RAFT قرار بود توسط جداسازی منطقی نسبت به Paxos قابل‌‌فهم‌‌تر باشد اما امن‌‌تر نیز شد و ویژگی‌‌های بیشتری را هم ارائه می‌‌کند. RAFT راه کلی‌‌تری برای توزیع یک ماشین حالت در دسته‌‌ای از سیستم‌‌های رایانشی ارائه می‌‌کند و اطمینان حاصل می‌‌کند که هر گره در دسته بر مجموعه‌‌ی یکسانی از انتقال‌‌های وضعیت توافق دارند. این تعدادی پیاده‌‌سازی منبع متن باز با اجراهای کاملی در زبان‌‌های Go، C++، جاوا و Scala دارد.

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

دیدن این اینفوگرافیک برای شناخت RAFT به شدت توصیه می‌‌شود.

23. اجماع استلار (Stellar Consensus)

اجماع استلار

اجماع استلار

مزایا:

  • کنترل غیرمتمرکز
  • تاخیر کم
  • اعتماد منعطف
  • امنیت تقریبی

معایب:

توسط استلار به کار گرفته شده است.

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

پروتکل اجماع استلار (SCP) راهی برای رسیدن به اجماع بدون اتکا بر یک سیستم بسته برای ثبت دقیق تراکنش‌‌های مالی ارائه می‌‌کند. SCP مجموعه‌‌ای از ویژگیهای امنیتی را داراست که امنیت ما را بهینه می‌‌کنند (در صورت سوء رفتار گره‌‌ها، پیشرفت شبکه را تا زمانی که به اجماع برسد نصف می‌‌کند). SCP به طور همزمان از چهار ویژگی بهره می‌‌برد: کنترل غیرمتمرکز، تاخیر کم، اعتماد منعطف و امنیت تقریبی.

24. اثبات باورپذیری (Proof of Believability)

اثبات باورپذیری

اثبات باورپذیری

مزایا:

  • با استفاده از مفهوم Servi (که در توضیح آورده شده است) نسبت به الگوریتم سنتی اثبات سهام غیرمتمرکزتر است.
  • قعطیت سریع‌‌تر در مقایسه با اثبات سهام سنتی

توسط IOST به کار گرفته شده است.

توضیح: یک چالش عمده پیش روی مکانیزم اجماع سنتی اثبات سهام، گرایش آن به سمت تمرکزگرایی است. IOST برای کاهش این ریسک، Servi را هم به عنوان ابزار سنجش کمک کاربران به جامعه‌‌ی IOST و هم راهی برای تشویق اعضا به کمک به ادامه‌‌ی توسعه‌‌ی بلاکچین‌‌ IOS معرفی کرده است. این مکانیزم دارای ویژگی‌‌های زیر است:

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

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

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

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

رویکرد اول باوپذیر، پردازش تراکنش‌‌ها را به شدت سریع می‌‌کند چون تنها یک تاییدکننده (باورپذیر) کار تایید را انجام می‌‌دهد و احتمال سوء رفتار توسط او وجود ندارد.

25. گراف جهت‌‌دار غیرمدور (Directed Acyclic Graphs)

اجماع DAG

اجماع DAG

مزایا:

  • به دلیل ساختار غیرخطی‌‌شان مقیاس‌‌‌‌پذیری بالایی دارند
  • سریع
  • مصرف بهینه انرژی
  • قطعیت به سرعت به دست می‌‌آید.

معایب:

  • پیاده‌‌سازی قراردادهای هوشمند تنها با استفاده از اوراکل‌‌ها قابل انجام است.

توسط آیوتا، هش‌‌گراف، بایت‌‌بال و ری‌‌بلاکس/نانو مورد استفاده قرار گرفته است.

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

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

بسته به موارد زیر می‌‌تواند تنوع‌‌هایی هم وجود داشته باشد:

  • الگوریتم انتخاب بلوک پیشین جهت تایید یا الگوریتم انتخاب tip.
  • ترتیب‌‌بندی تراکنش‌‌ها چطور انجام می‌‌شود؟
  • قعطیت چطور به دست می‌‌آید؟

در اینجا چند پروژه مشهور که از DAGها استفاده می‌‌کنند را آورده‌‌ایم.

25 الف) تنگل (آیوتا)

پروتکل تنگل

پروتکل تنگل

توضیح: تنگل (Tangle) یک الگوریتم اجماع DAG است که توسط آیوتا (IOTA) به کار گرفته شده است. شما برای ارسال یک تراکنش آیوتا باید دو تراکنش پیش از آن که دریافت کرده‌‌اید را تایید کنید. هرچه تراکنش‌‌های بیشتری به تنگل اضافه شود، اجماع دو به یک و پیش پرداخت، باعث مستحکم شدن تایید تراکنش‌‌ها می‌‌شود. به این دلیل که اجماع توسط تراکنش‌‌ها به دست می‌‌آید، اگر کسی 1/3 تراکنش‌‌ها را تولید کند می‌‌تواند مابقی شبکه را قانع کند که تراکنش‌‌های نامعتبرشان معتبر است. تا زمانی که حجم تراکنش‌‌های کافی که 1/3 حجم را ایجاد کند به وجود نیاید، آیوتا همه تراکنش‌‌های شبکه را در گره متمرکزی به نام Coordinator دو بار بررسی می‌‌کند. آیوتا می‌‌گوید که Coordinator مانند چرخ‌‌های کمکی برای سیستم عمل می‌‌کنند و به محض اینکه تنگل بزرگ شود آنان را برمی‌‌دارند.

25 ب) هش‌‌گراف (Hashgraph)

پروتکل هش‌‌گراف

پروتکل هش‌‌گراف

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

25 ج) هولوچین (Holochain)

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

25 د) بلاک-لاتیس (نانو)

توضیح: نانو (ریل‌‌بلاکس سابق) با پیچی در بلاکچین‌‌ به نام بلاک-لاتیس (Block-Lattice) کار می‌‌کند. بلاک-لاتیس ساختاری است که در آن همه کاربران (آدرس‌‌ها) زنجیره‌‌ی خود که تنها توانایی نوشتن در آن را دارند دریافت کرده و همه یک کپی از همه زنجیره‌‌ها را نگه می‌‌دارند.

بلاک-لاتیس

بلاک-لاتیس

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

25 ه) اسپکتر (SPECTRE)

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

25 و) بایت‌‌بال

توضیح: بایت‌‌بال (Byteball) از DAG استفاده می‌‌کند که ترتیب ناقصی بین تراکنش‌‌ها ایجاد کرده و زنجیره اصلی را به DAG اضافه می‌‌کند.

اجماع بایت‌‌بال با زنجیره اصلی

اجماع بایت‌‌بال با زنجیره اصلی

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

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

1. لیست‌‌های شاهد تراکنش‌‌های مجاور در زنجیره یا یکسان باشند یا تنها با یک تغییر تفاوت داشته باشند؛

2. زنجیره در بیشتر تراکنش‌‌های نوشته شده توسط شاهدها گشته و با زنجیره‌‌های جایگزین مقایسه می‌‌شود.

او همچنین اولین پلتفرمی است که اوراکل‌‌ها که برای افزودن کارکرد قراردادهای هوشمند در DAG لازم است را در سیستم می‌‌گنجاند.

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

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

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