تماس با ما
 
بدان
 
امروز پنجشنبه ، ۱۳۹۹/۱۲/۱۴
 
کلیه مقالات

Blockchain Consensus Algorithms: A Survey

الگوریتم های اجماع Blockchain:

یک بررسی:

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

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

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

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

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

یک م componentلفه مهم هر سیستم بلاکچین الگوریتم اجماع اساسی آن است ، که از بسیاری جهات عملکرد و امنیت آن را تعیین می کند.

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

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

با این حال ، مطالعات موجود الگوریتم های اجماع جامع نیستند.

این مطالعات در مورد خصوصیات الگوریتم ها بحث ناقصی دارند و قادر به تجزیه و تحلیل چندین الگوریتم مهم اجماع بلاکچین از نظر دامنه نیستند.

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

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

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

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

Bitcoin (1) که در سال 2008 معرفی شد.

در حالی که ارزهای رمزپایه به عنوان اصلی ترین و محبوب ترین کاربرد فناوری بلاکچین ظهور کرده اند ، بسیاری از علاقه مندان از رشته های مختلف ، انبوهی از کاربردهای بلاکچین را در بسیاری از حوزه های کاربردی شناسایی و پیشنهاد کرده اند [2] ، [3].

امکان بهره برداری از بلاکچین در بسیاری از مناطق باعث ایجاد انتظار چشمگیر در مورد سیستم های بلاکچین شده است.

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

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

الگوریتم اجماع ، م coreلفه اصلی است که مستقیماً نحوه رفتار چنین سیستمی و عملکرد آن را تعیین می کند.

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

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

این واقعیت نه تنها به بررسی کاربرد الگوریتم های اجماع موجود در تنظیمات جدید ، بلکه به نوآوری الگوریتم های اجماع جدید دامن زده است.

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

از آنجا که ویژگی های انواع مختلف سیستم های زنجیره بلوک اساساً به الگوریتم های اجماعی که استفاده می کنند بستگی دارد ، تجزیه و تحلیل سیستماتیک الگوریتم های کنسوس موجود لازم است.

بررسی ، مقایسه و مقایسه این الگوریتم ها ضروری است.

تعدادی تلاش شده است که تحقق این هدف را می توان در [4] ، [5] ، [6] ، [7] ، [8] ، [9] ، [10] یافت.

به طور خاص ، کارهایی که توسط کاچین و همکاران انجام شده است. [4] و بانو و دیگران. [5] قابل توجه هستند زیرا نمایانگر آثار پیشگام در این زمینه هستند.

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

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

اثر استثنایی دیگر توسط وانگ و همکاران است. [6] که در آن نویسندگان یک بررسی جامع از جنبه های مختلف اجماع ، استخراج و بلاکچین را به صورت دقیق ارائه داده اند.

با این حال ، همه این آثار دارای برخی کاستی های عمده هستند.

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

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

علاوه بر این ، همه این مطالعات نتوانسته اند رابطه عملی بین سیستم های بلاکچین (عمدتا ارزهای رمزپایه) و الگوریتم های اجماع مربوطه را به دست آورند.

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

انگیزه اصلی این مقاله پر کردن این خلا gap است.

مشارکت ها

مشارکتهای اصلی مقاله در زیر ارائه شده است:

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

در این طبقه بندی ، الگوریتم های اجماع در دو دسته عمده طبقه بندی شده اند:

الگوریتم های تشویقی و غیرتشویقی ، که مجدداً طبق ملاحظات مختلف تقسیم شده اند.

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

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

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

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

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

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

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

سرانجام ، یک درخت تصمیم از الگوریتم های اجماع ارائه شده است.

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

به طور خلاصه ، با کمک این مقاله ها ، این مقاله یکی از جامع ترین مطالعات الگوریتم های اجماع بلاکچین را نشان می دهد.

ساختار

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

بخش 3 به طور خلاصه ارائه مختصری درباره بلاکچین را پوشش می دهد که جنبه های مختلف آن مانند انواع ، خصوصیات ، لایه ها را پوشش می دهد.

طبقه بندی الگوریتمهای اجماع و خصوصیات اساسی آنها در بخش 4 ارائه شده است.

بخش 5 و بخش 6 الگوریتم اجماع انگیزه ای مختلف را تجزیه و تحلیل می کند در حالی که بخش 7 الگوریتم های اجماع غیر انگیزه ای مختلف را بررسی می کند.

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

زمینه :

توافقنامه توزیع شده:

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

چنین مکانیزمی امکان دستیابی به توافق را با توجه به وضعیت / داده های مشترک بین مجموعه گره های توزیع شده فراهم می کند.

نياز به حالت اشتراكي مفهوم سيستم هاي پايگاه داده تكراري شده را به منظور اطمينان از انعطاف پذيري در برابر خرابي گره ها در يك شبكه بوجود آورد.

چنین سیستم های پایگاه داده اطمینان حاصل می کنند که داده ها از بین نمی روند وقتی یک یا چند گره به طور مستثنی کار کنند.

مفهوم پایگاه داده تکثیر شده را می توان با مفهوم Replication Machine State (SMR) تعمیم داد [11].

ایده اصلی در پشت SMR این است که یک ماشین محاسبات می تواند به عنوان یک ماشین حالت قطعی بیان شود.

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

این اقدامات اساساً حالت آن را تغییر می دهند.

SMR تصور می کند که چنین دستگاهی با حالت اولیه می تواند در بین گره های مختلف تکرار شود.

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

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

هنگامی که این اتفاق افتاد ، می توان گفت که یک توافق توزیع شده بین گره های شرکت کننده بوجود آمده است.

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

از این رو ، به چنین پروتكلی به درستی پروتكل اجماع گفته می شود.

طراحی و استقرار یک پروتکل اجماع یک کار چالش برانگیز است زیرا لازم است چندین مسئله اساسی مانند انعطاف پذیری در برابر خرابی گره ، رفتار گره ، پارتیشن بندی شبکه ، تأخیر شبکه ، ورودی های خراب یا خارج از نظم و موارد دیگر را در نظر بگیرید [7 ]

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

اولین نیاز یک ماشین حالت قطعی است.

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

در همان زمان ، پروتکل های اجماع باید از ویژگی های پخش اتمی اطمینان حاصل کنند [12] ، [13] ، [4] ، [5].

خصوصیات پخش اتمی در اجماع توزیع شده در جدول 1 نشان داده شده است.

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

این فرضیات بر خصوصیات مهم یک پروتکل اجماع تأثیر می گذارد.

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

اولین مجموعه فرضیات مربوط به نوع شبکه زیربنایی است.

Dwork و همکاران سه نوع شبکه را که دارای ویژگی های مختلف هستند دسته بندی کردند:

همزمان ، ناهمزمان و تا حدی / در نهایت همزمان [22].

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

از طرف دیگر ، تأخیر در یک شبکه ناهمزمان به هیچ وجه قابل اطمینان نیست.

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

دسته دوم فرضیات مربوط به خصوصیات مختلف یک پروتکل اجماع است.

مطابق [7] ، یک پروتکل کانساس باید دارای سه ویژگی زیر باشد: یعنی ثبات ، در دسترس بودن و تحمل خطا.

این خصوصیات در جدول 2 شرح داده شده است. یک قضیه معروف ، توسط فیشر ، لینچ و پاترسون [23] ، به نام FLP عدم امکان نشان داده است که یک پروتکل اجماع قطعی نمی تواند هر سه ویژگی توصیف شده در یک شبکه ناهمگام را برآورده کند.

معمولاً تمایل به حمایت از ایمنی و نشاط نسبت به تحمل خطا در حوزه کاربردهای سیستم توزیع شده است.

یک قضیه مرتبط قضیه CAP است [24] ، که بیان می کند وقتی یک شبکه شبکه به گونه ای که تعداد دلخواه پیام ممکن است رها شود

علاوه بر مفروضات فوق ، در مدل های توزیع شده دو مدل عمده تحمل خطا وجود دارد:

شکست تصادف (یا تحمل) و شکست روم شرقی [5] ، [7] ، [4].

مدل خرابی خرابی با گره هایی سروکار دارد که به دلیل برخی از خرابی های سخت افزاری یا نرم افزاری ، به سادگی پاسخ نمی دهند.

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

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

این نوع شکست برای اولین بار توسط لزلی لمپورت در مقاله اصلی خود با مشکلات استعاری ژنرال بیزانس شناسایی و رسمی شد [14].

یک گره بیزانس با ارسال پیام های فریبنده خودسرانه به دیگران ، که ممکن است بر امنیت سیستم های توزیع شده تأثیر بگذارد ، می تواند رفتار نادرستی داشته باشد.

از این رو ، چنین گره هایی عمدتاً در کاربرد با پیامدهای امنیتی مرتبط هستند.

برای مدیریت این دو مدل شکست ، دو نوع اصلی سازوکار اجماع متناظر ظاهر شده اند:

اجماع متحمل به تصادف و اجماع بیزانس [4].

در مرحله بعدی ، ما به طور خلاصه در مورد هر یک از آنها ، همراه با ویژگی های مرتبط با آنها بحث می کنیم.

1) اجماع متحمل به خرابی:

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

این الگوریتم ها از مفهوم نماها یا دوره ها استفاده می کنند ، که حاکی از مدت زمان مشخص یا رویدادها است.

برای هر دوره یک رهبر انتخاب می شود که با توجه به پخش اتمی تصمیم می گیرد و سایر گره ها با تصمیم آن مطابقت دارند.

در صورت عدم موفقیت یک رهبر به دلیل خرابی خرابی ، پروتکل ها یک رهبر جدید را برای عملکرد انتخاب می کنند.

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

t & lt؛ n / 2 که t تعداد گره های معیوب و n تعداد کل گره های شرکت کننده است [4].

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

Paxos [15] ، [16] ، Viewstamped Replication [17] ، ZooKeeper [18] و Raft [19].

2) اجماع بیزانس:

هدف این کلاس از الگوریتم ها رسیدن به اتفاق نظر در میان گره های خاصی است که رفتار Byz-antine را نشان می دهند.

فرض بر این است که چنین گره های بیزانسی تحت کنترل یک دشمن قرار دارند و رفتار غیرقابل پیش بینی با قصد سوicious رفتار دارند.

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

یکی از معروف ترین الگوریتمهای تحت این کلاس Practical Byzantine Fault Tolerant (PBFT) است که می تواند در حضور تعداد معینی از گره های بیزانس تحت یک فرض نهایی شبکه همزمان به اجماع برسد [20].

سطح تحمل PBFT f & lt؛ n / 3 ، جایی که f تعداد گره های بیزانس و n نشان دهنده تعداد کل گره های شرکت شده در شبکه است [4].

همانطور که بعداً بررسی خواهیم کرد ، الگوریتم های PBFT به طور گسترده ای در سیستم های مختلف بلاکچین مورد استفاده قرار گرفته اند.

زمینه :

بلوک زنجیره ای:

در این بخش ، ما معرفی مختصری از فناوری زنجیره بلوک و اصطلاحات مربوط به آن را ارائه می دهیم.

در مرکز فناوری بلاکچین خود بلاکچین است که توسط گره های شبکه P2P ذخیره می شود.

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

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

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

الگوریتم اجماع چندین ویژگی مربوط به یکپارچگی داده ها (در زیر بحث شده) را در بلاکچین تضمین می کند.

حتی اگر از اصطلاحات بلاکچین و DLT (فناوری توزیع شده لجر) به طور متغیر در ادبیات استفاده می شود ، یک تفاوت ظریف بین آنها وجود دارد که قابل تأمل است.

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

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

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

در بخش 3.1 ، ما در مورد یک آغازگر مختصر از بیت کوین و اصطلاحات مربوط به آن بحث می کنیم.

سپس ، به ترتیب خصوصیات مختلف و انواع بلاکچین را در بخش 3.2 و بخش 3.3 شرح می دهیم.

سرانجام ، مفهوم لایه های بلاکچین را در بخش 3.4 ارائه می دهیم.

3-1 بیت کوین:

شبکه بیت کوین از گره های درون یک شبکه P2P (نظیر به نظیر) تشکیل شده است.

برای اتصال به شبکه ، هر گره باید نرم افزار Bitcoin را بارگیری کند.

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

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

هر کاربر در یک گره باید از نرم افزار کیف پول برای ایجاد هویت استفاده کند.

یک هویت در شبکه بیت کوین از یک جفت کلید خصوصی / عمومی تشکیل شده است و یک آدرس بیت کوین از کلید عمومی مربوطه مشتق شده است.

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

بیت کوین با استفاده از مفهوم معامله ای که فرستنده از یک نرم افزار کیف پول برای این منظور استفاده می کند ، بین دو نهاد منتقل می شود.

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

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

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

پروتکل بیت کوین برای هر بلاک معتبر جدید مقدار مشخصی بیت کوین جدید ایجاد می کند و به ماینر برای تلاش در ایجاد بلاک پاداش می دهد.

سایر ماینرها این بلاک تازه استخراج شده را تأیید می کنند و سپس آن را به بلاکچین اضافه می کنند.

هر بلوک جدید به آخرین بلوک در زنجیره اشاره دارد که به نوبه خود به بلوک قبلی آن و غیره اشاره دارد.

اولین بلوک در زنجیره ، معروف به بلوک پیدایش ، با این حال ، چنین مرجعی ندارد.

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

همه آنها به زنجیره بلوک اضافه می شوند و اشاره به همان بلوک آخر در زنجیره دارند.

در نتیجه ، شاخه های مختلفی از یک بلاکچین مشابه ظاهر می شوند.

این یک پدیده طبیعی در بلاکچین است و به درستی به عنوان چنگال شناخته می شود.

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

الگوریتم اجماع استفاده شده در بیت کوین یک قانون ساده را دنبال می کند:

اجازه می دهد شاخه ها رشد کنند.

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

چنین شاخه ای به عنوان شاخه اصلی شناخته می شود و شاخه های دیگر به عنوان شاخه های یتیم شناخته می شوند.

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

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

فرکانس تولید بلوک بیت کوین به پارامتر دشواری بستگی دارد ، که پس از بلوک های 2016 تنظیم می شود.

پروتکل پارامتر دشواری را به گونه ای تنظیم می کند که به طور متوسط ​​در هر 10 دقیقه یک بلوک ایجاد شود.

با این حال ، پاداش بیت کوین پس از هر 210 ، 000 بلوک یا تقریباً پس از هر 4 سال ، نصف می شود.

در مرحله اولیه ، پاداش تولید یک بلاک معتبر 50 بیت کوین بود که در سال 2012 به 25 بیت کوین و در سال 2016 به 12.5 بیت کوین کاهش یافت.

نصف بعدی در سال 2020 اتفاق می افتد که در آن پاداش به 6.25 بیت کوین در هر بلاک کاهش می یابد.

این کاهش هندسی در هر چهار سال حداکثر تأمین 21 میلیون بیت کوین را نشان می دهد.

انتظار می رود که این منبع در سال 2140 که بیت کوین پاداش داده شده برای هر بلوک بسیار اندک باشد ، به پایان برسد.

روند پروتکل بیت کوین در شکل 1 ارائه شده است.

روند تولید بلوک بیت کوین:

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

داده ها شامل تراکنش هایی است که وی صلاح می داند شامل آنها شود ، هش بلوک قبلی ، آدرس کلید عمومی وی و غیره.

B هنگامی که یک ماینر موفق به تولید بلاک می شود ، به این معنی که هش داده های بلوک او کوچکتر از هدف دشواری فعلی است ، او بلوک خود را به شبکه پخش می کند.

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

D پاداش بلوک (سکه های تازه ضرب شده) و هزینه های معاملات به آدرس عمومی استخراج کننده می رود.

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

E سطح دشواری با توجه به توان استخراج شرکت کنندگان ، با به روزرسانی مقدار هدف هش هر بلوک 2016 (2 هفته ≈) مجددا تنظیم می شود تا بلاک ها به طور متوسط ​​هر 10 دقیقه یک بار تولید شوند.

F پاداش بلوک از 50 سکه شروع می شود و در هر 210000 بلوک به نصف می رسد ، یعنی تقریباً هر 4 سال.

3-2 ویژگی های بلاکچین:

یک بلاکچین چندین ویژگی را به نمایش می گذارد که آن را به عنوان کاندیدای مناسب برای چندین دامنه کاربرد در می آورد [25].

خصوصیات در زیر بحث شده است.

توافق توزیع شده در مورد وضعیت زنجیره ای:

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

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

تغییرناپذیری و برگشت ناپذیری حالت زنجیره ای:

دستیابی به اجماع توزیع شده با مشارکت تعداد زیادی گره تضمین می کند که حالت زنجیره ای پس از مدت زمان مشخص عملاً تغییرناپذیر و غیرقابل برگشت شود.

این امر همچنین در قراردادهای هوشمند اعمال می شود و از این رو امکان استقرار و اجرای برنامه های رایانه ای غیرقابل تغییر را فراهم می کند.

تداوم داده (معامله):

داده ها در یک زنجیره بلوک به صورت توزیع شده ذخیره می شوند و از تداوم داده ها تا زمانی که گره های شرکت کننده در شبکه P2P وجود دارند اطمینان حاصل می کنند.

منشأ داده ها:

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

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

ترکیب این مورد با تغییرناپذیری و برگشت ناپذیری بلاکچین یک ابزار قوی برای عدم هرگونه رد هرگونه داده در بلاکچین فراهم می کند.

کنترل داده توزیع شده:

زنجیره بلوک اطمینان می دهد که داده های ذخیره شده در زنجیره یا بازیابی شده از زنجیره می توانند به روشی توزیع شده انجام شوند که هیچ نقطه شکست خاصی را نشان نمی دهد.

پاسخگویی و شفافیت:

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

3-3 نوع بلاکچین:

بسته به دامنه های برنامه ، استراتژی های مختلف بلاکچین را می توان دنبال کرد.

براساس این استراتژی ها ، بطور عمده دو نوع زنجیره بلوک وجود دارد ، بلاکچین عمومی و خصوصی ، که در زیر بحث شده است:

• بلاک چین عمومی:

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

این بدان معنی است که وضعیت بلاکچین و معاملات آن ، همراه با داده های ذخیره شده شفاف و قابل دسترسی برای همه است.

این امر باعث افزایش نگرانی درباره حریم خصوصی در مورد سناریوهای خاصی می شود که در آنها باید حریم خصوصی چنین داده هایی حفظ شود.

• بلاکچین خصوصی:

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

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

3-4 لایه Blockchain:

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

این اجزا را می توان با توجه به ویژگی هایشان با استفاده از لایه های مختلف مشابه لایه معروف TCP / IP با هم گروه بندی کرد.

در حقیقت ، چند پیشنهاد برای طراحی یک سیستم بلاکچین با استفاده از روش لایه ای ارائه شده است [26] ، [27].

انگیزه این است که یک طرح لایه ای بسیار مدولارتر بوده و نگهداری آن آسان تر است.

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

به عنوان مثال ، دیوید و دیگران. [27] چهار لایه را پیشنهاد دهید:

اجماع ، استخراج ، انتشار و معنایی.

با این حال ، ما معتقدیم که لایه های پیشنهادی گروه بندی مناسب عملکردها را منعکس نمی کنند.

به عنوان مثال ، اجماع و استخراج باید بخشی از همان لایه باشد زیرا استخراج می تواند بخشی ذاتی برای دستیابی به اجماع باشد.

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

بنابراین ، در این مقاله چهار لایه را تعریف خواهیم کرد (شکل 2):

شبکه ، اجماع ، برنامه و فرا برنامه.

عملکرد این لایه ها به طور خلاصه در زیر ارائه شده است.

لایه Meta-Application:

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

به عنوان مثال ، بیت کوین برای اتخاذ در چندین حوزه کاربردی مانند DNS مانند سیستم نامگذاری غیرمتمرکز (Namecoin [28]) ، سابقه ثبت شده متغیر ثابت و غیرقابل تغییر (اثبات وجود [29]) و PKI غیرمتمرکز (کلید عمومی) مورد استفاده قرار گرفته است. زیرساخت) ، مانند Certcoin [30].

سطح کاربردی:

لایه کاربرد (در شکل 2) تفسیر معنایی یک سیستم بلاکچین را تعریف می کند.

مثالی از تفسیر معنایی می تواند تعریف ارز رمزنگاری شده و سپس تنظیم پروتکل هایی برای چگونگی مبادله چنین ارزی بین نهادهای مختلف باشد.

مثال دیگر ایجاد پروتکل ها برای حفظ یک ماشین دولتی است که دارای قابلیت های برنامه نویسی در بلاکچین است ، که می تواند برای ایجاد و استقرار کد تغییرناپذیر (اصطلاحاً قرارداد هوشمند) مورد بهره برداری قرار گیرد.

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

لایه اجماع:

لایه اجماع ، همانطور که در شکل 2 ارائه شده است ، وظیفه تهیه مکانیسم توافق توزیع شده در زنجیره بلوک را دارد که اساساً بر نظم بلوک ها نظارت دارد.

یک جز critical مهم این لایه پروتکل اثبات (به عنوان مثال ، اثبات کار و اثبات خطر) است که برای تأیید هر بلوک استفاده می شود ، که در نهایت برای دستیابی به اجماع مورد نیاز در سیستم استفاده می شود.

لایه شبکه:

اجزای موجود در لایه شبکه مسئولیت رسیدگی به عملکردهای شبکه را شامل می شوند که شامل پیوستن به شبکه P2P اساسی ، باقی ماندن در شبکه با پیروی از پروتکل شبکه اصلی ، انتشار وضعیت فعلی بلاکچین به گره های تازه پیوست شده ، انتشار و دریافت معاملات و بلوک و غیره

تاکسونومی اجماع & amp؛ املاک:

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

این الگوریتم های اجماع ویژگی ها و ویژگی های مختلفی دارند.

در این بخش ، ما ابتدا بین دو نوع عمده اجماع تمایز قائل می شویم و سپس طبقه بندی خصوصیات آنها را ارائه می دهیم.

بعداً ، در بخش 5 و 6 ، ما ارزهای رمزپایه زیادی را کشف می کنیم و در مورد الگوریتم های اجماع مشوق بحث می کنیم.

به همین ترتیب ، ما بر اجماع غیر انگیزه ای و برنامه های بلاکچین در بخش 7 تمرکز می کنیم.

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

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

الگوریتم های تشویقی و غیرتشویقی.

اجماع تشویقی.

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

چنین الگوریتم هایی به این دسته تعلق دارند.

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

اجماع بدون انگیزه.

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

چنین الگوریتم هایی به این دسته تعلق دارند.

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

4-1 خصوصیات اجماع:

هر الگوریتم اجماع ویژگی های مختلفی دارد و اهداف مختلفی را دنبال می کند.

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

در این بخش ، ما این معیارهای ارزیابی را به صورت طبقه بندی خصوصیات اجماع ارائه می دهیم.

این خصوصیات از تحقیقات موجود مانند [5] ، [4] جمع آوری شده و به عنوان طبقه بندی در این کار تدوین شده است.

طبقه بندی در شکل 3 ارائه شده است.

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

سازه ، بلوک & amp؛ پاداش ، امنیت و ویژگی های عملکرد.

در زیر به طور خلاصه درباره هر یک از این خصوصیات بحث شده است.

4-1-1 خواص ساختاری:

خصوصیات ساختاری نحوه ساخت گره های مختلف درون شبکه بلاکچین را برای شرکت در الگوریتم کانساس تعریف می کند.

این خصوصیات را می توان به دسته های مختلف تقسیم کرد ، همانطور که در شکل 4 نشان داده شده است.

در زیر به طور خلاصه هر یک از این دسته ها را شرح می دهیم.

• انواع گره:

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

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

• نوع ساختار:

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

کمیته خود می تواند دو نوع باشد:

کمیته های واحد و متعدد.

در زیر هر یک از این کمیته ها شرح داده شده است.

• مکانیزم اساسی:

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

این مکانیسم می تواند از قرعه کشی ، سن یک سکه خاص یا یک مکانیزم رای گیری استفاده کند.

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

در یک مکانیزم رأی گیری ، رأی گیری می تواند در یک دور یا چند مرحله انجام شود.

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

در مرحله بعدی ، انواع مختلف کمیته های رای گیری را برای الگوریتم های اجماع موجود بررسی می کنیم.

کمیته واحد.

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

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

بعد ، ما به طور خلاصه به بررسی این ویژگی ها می پردازیم.

• نوع کمیته:

یک کمیته می تواند باز یا بسته باشد.

کمیته ای باز است که به گره های شرکت کننده باز باشد یا اگر محدود به گروه خاصی از گره ها باشد ، بسته است.

• تشکیل کمیته:

کمیته ای می تواند به صورت ضمنی یا صریح تشکیل شود.

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

• پیکربندی کمیته:

یک کمیته می تواند به صورت ایستا یا به صورت پویا پیکربندی شود.

- استاتیک:

در یک پیکربندی ثابت ، اعضای کمیته از قبل انتخاب و ثابت می شوند.

اعضای جدیدی نمی توانند در روند اجماع شرکت کنند و شرکت کنند.

- پویا:

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

در چنین کمیته ای ، گره ها با استفاده از مکانیزم رأی گیری انتخاب می شوند که رای گیری یا در یک دور یا چند دور انجام می شود.

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

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

کمیته چندگانه

مشاهده شده است كه زماني كه براي رسيدن به اجماع در يك كميته واحد لازم است ، با شروع به افزايش تعداد اعضا ، افزايش مي يابد [5] و در نتيجه باعث كاهش عملكرد مي شود.

برای رفع این مشکل ، مفهوم کمیته چندگانه معرفی شده است ، جایی که هر کمیته از اعتبار سنجهای مختلفی تشکیل شده است [5].

یک کمیته چندگانه می تواند خصوصیات مختلفی داشته باشد.

بعد ، ما دو ویژگی را بررسی می کنیم.

• توپولوژی:

این به نحوه سازماندهی کمیته های مختلف اشاره دارد.

به عنوان مثال ، توپولوژی می تواند مسطح باشد تا نشان دهد کمیته های مختلف در یک سطح هستند یا می تواند سلسله مراتبی باشد که در آن کمیته ها را می توان در چند لایه طبقه بندی کرد.

• پیکربندی کمیته:

بعلاوه ، مانند یک کمیته منفرد ، کمیته های متعدد می توانند به روشی استاتیک یا پویا پیکربندی شوند.

4-1-2 بلوک & amp؛ خواص پاداش:

از ویژگی های این گروه می توان به عنوان معیارهای کمی برای تمایز ارزهای رمزپایه مختلف استفاده کرد.

ویژگی ها عبارتند از (شکل 5):

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

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

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

خصوصیات زیر شرح داده شده است:

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

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

• میزان عرضه کامل ، کل عرضه ارز رمزنگاری شده را نشان می دهد.

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

4-1-3 ویژگی های امنیتی:

یک الگوریتم اجماع باید تعدادی از خصوصیات امنیتی را مطابق با شکل (6) نشان دهد و در زیر شرح داده شده است:

• احراز هویت:

این بدان معنی است که اگر گره های شرکت کننده در یک پروتکل اجماع نیاز به تأیید و تأیید صحیح داشته باشند.

• عدم انکار:

این نشان می دهد اگر پروتکل اجماع عدم انکار را برآورده می کند.

• مقاومت در برابر سانسور:

این بدان معنی است که الگوریتم مربوطه می تواند در برابر مقاومت در برابر سانسور مقاومت کند.

• وکتورهای حمله:

این ویژگی حاوی بردارهای حمله قابل استفاده برای سازوکار اجماع است.

در اینجا ، ما مجموعه ای از بردارهای حمله را ارائه می دهیم که برای هر الگوریتم اجماع قابل استفاده هستند.

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

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

- تحمل دشمن:

این نشانگر حداکثر گره های بیزانس است که توسط پروتکل مربوطه پشتیبانی / تحمل می شوند.

- محافظت از سیبیل:

در یک حمله سیبیل [34] ، یک مهاجم می تواند هویت خود را در صورت لزوم برای دستیابی به مزایای غیرقانونی کپی کند.

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

- مقاومت در برابر DoS (انکار سرویس):

این بدان معنی است که پروتکل اجماع مکانیسم داخلی در برابر حملات DoS دارد.

4-1-4 ویژگی های عملکرد:

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

شرح مختصری از هر ویژگی در زیر با تصویر آن در شکل 7 ارائه شده است • تحمل خطا:

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

• توان عملیاتی:

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

• مقیاس پذیری:

اشاره به توانایی رشد در اندازه و ویژگی ها بدون افت عملکرد سیستم اصلی است [31].

• تأخیر (نهایی بودن):

اشاره به "زمانی که از زمان ارائه معامله طول می کشد تا زمانی که در مورد آن اتفاق نظر حاصل شود" [5].

همچنین به عنوان نهایی شناخته می شود.

• مصرف انرژی:

نشان می دهد که الگوریتم (یا سیستم استفاده کننده) مقدار قابل توجهی انرژی مصرف می کند.

5 اجماع مستقل:

POW & amp؛ POS:

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

این الگوریتم ها را می توان در سه دسته اصلی گروه بندی کرد:

اثبات کار (PoW) ، اثبات سهام (PoS) و اجماع ترکیبی.

در این میان ، این بخش به ترتیب در بخش 5.1 و بخش 5.2 در مورد الگوریتم های PoW و PoS بحث می کند.

برای خوانایی ، الگوریتم های ترکیبی در بخش 6 ارائه شده است.

5-1 اثبات کار (PoW):

سازوکار اثبات کار (PoW) شامل دو طرف مختلف (گره) است:

اثبات کننده (درخواست کننده) و تأیید کننده (ارائه دهنده).

اثبات كننده یك وظیفه محاسباتی پرمصرف را با هدف دستیابی به هدفی انجام می دهد و آن را به یك تأیید كننده یا مجموعه ای از تأیید كنندگان ارائه می دهد تا اعتبارسنجی شود كه به میزان قابل توجهی به منبع كمتری نیاز دارد.

ایده اصلی این است که عدم تقارن ، از نظر منبع مورد نیاز ، بین تولید اثبات و اعتبار سنجی ذاتی به عنوان اقدامی بازدارنده در برابر هرگونه سو abuse استفاده از سیستم عمل می کند.

در این راستا ، ایده PoW برای اولین بار توسط Dwork و Naor در مقاله اصلی خود در سال 1993 ارائه شد [33].

آنها ایده استفاده از PoW برای مقابله با هرزنامه ایمیل را مطرح کردند.

طبق پیشنهاد آنها ، از ارسال كننده ایمیل برای حل یك معمای ریاضی پرمصرف و الزام راه حل در ایمیل به عنوان اثبات انجام وظیفه ، لازم است.

گیرنده ایمیل فقط در صورت تأیید راه حل ، ایمیل را می پذیرد.

در محیط بلاکچین ، مفهوم مشابهی اتخاذ شده است.

هر مکانیسم PoW به یک آستانه متصل است ، که در بسیاری از سیستم های بلاکچین به عنوان پارامتر دشواری شناخته می شود.

اثبات کننده محاسبات را در چند دور انجام می دهد تا تولید PoW که با آستانه لازم مطابقت داشته باشد و هر دور به عنوان یک تلاش اثبات شده شناخته شود.

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

به طور خاص ، یک مکانیسم PoW در یک بلاکچین دو هدف اساسی را دنبال می کند:

• یک مکانیسم بازدارنده در برابر حمله Sybil.

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

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

• مکانیسم PoW به عنوان ورودی برای عملکردی مورد استفاده قرار می گیرد که در نهایت برای دستیابی به توافق توزیع شده مورد نیاز هنگام اتفاق افتادن چنگال در زنجیره بلوک مورد استفاده قرار می گیرد [44].

ما بین سه کلاس اصلی سازوکارهای اجماع PoW تفاوت قائل می شویم:

PoW متصل ، PoW با حافظه و PoW با زنجیر را محاسبه کنید.

هر یک از اینها در بخشهای زیر بررسی می شود.

5-1-1 محاسبه PoW محدود شده:

PoW متصل به محاسبه ، همچنین به عنوان PoW متصل به پردازنده شناخته می شود ، عملکردی متمرکز بر پردازنده را به کار می گیرد که وظیفه محاسباتی مورد نیاز را با استفاده از قابلیت های واحدهای پردازشی (به عنوان مثال CPU / GPU) ، بدون اتکا به حافظه اصلی سیستم.

این ویژگی های خاص سناریویی را که در آن می توان محاسبات را برای محاسبه سریعتر با استفاده از دکل های مدار مجتمع مخصوص برنامه (ASIC) بهینه کرد ، تسهیل می کنیم.

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

Hashcash توسط Back و همکاران [45] اولین نمونه برای استفاده از مکانیسم PoW در سیستم های عملی است.

مشابه پیشنهاد Dwork و Naor در [33] ، Hashcash برای مبارزه با هرزنامه ها نیز طراحی شده است.

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

خاصیت حکم می کند که هش تولید شده باید حداقل 20 بیت صفر پیشرو داشته باشد.

تولید یک هش SHA-1 با این ویژگی فرستنده ها را ملزم به انجام چندین تلاش اثبات به صورت تصادفی شبه می کند.

پس از ایجاد هش ، در هدر ایمیل اضافه می شود.

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

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

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

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

اجماع ناکاموتو الگوریتم اجماع PoW محدود به محاسبه است که در بیت کوین استفاده می شود.

این بر اساس رویکرد Hashcash است ، اصلاح شده برای استفاده در تنظیمات بلاکچین.

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

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

در هر یک از این تلاش های اثبات ، هر استخراج کننده با استفاده از الگوریتم SHA-256 یا SHA-256d (مکانیزم هش دوتایی با استفاده از SHA-256) هش تولید می کند و بررسی می کند که آیا هش تولید شده کوچکتر از هدف دشواری است.

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

برای توضیح مختصر اجماع ناکاموتو ، خواننده به بخش 3.1 (و شکل 1) مراجعه می شود.

در حال حاضر ارزهای رمزنگاری زیادی وجود دارند که از الگوریتم اجماع ناکاموتو استفاده می کنند.

جدول 3 10 ارز برتر این ارزها را با توجه به ارزش بازار آنها که توسط CoinGecko 1 (وب سایتی که فعالیتهای مختلف مربوط به ارزهای رمزپایه را ردیابی می کند) از 24 جولای 2019 رتبه بندی شده است ، نشان می دهد.

این جدول همچنین خواص Block و پاداش آنها را در شکل 5 نشان می دهد.

لازم به ذکر است که اطلاعات مربوط به خصوصیات جدول 3 برای این ارزهای (و سایر ارزهای بعدی) با مشاوره در مورد روزنامه های سفید ، وب سایت ها و اطلاعیه های مقدماتی در وب سایت Reddit جمع آوری شده است.

5-1-2 PoW حافظه محدود:

برای خنثی کردن انتقاد عمده PoW های محاسبه شده که اجازه استفاده از دکل های مبتنی بر ASIC را برای اهداف استخراج (بخش 5.1.1 را ببینید) ، PoW های متصل به حافظه پیشنهاد شده است.

PoW متصل به حافظه به الگوریتم نیاز دارد تا چندین بار به حافظه اصلی دسترسی پیدا کند و بنابراین در نهایت عملکرد الگوریتم را در حد تأخیر دسترسی و / یا پهنای باند و همچنین اندازه حافظه متصل می کند.

این سکوهای ASIC را بر اساس PoW متصل به حافظه محدود می کند تا از مزایای عملکرد چند برابر نسبت به همتایان مبتنی بر CPU / GPU برخوردار شوند.

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

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

برخلاف الگوریتم های اجماع PoW محاسبه شده که عمدتا مبتنی بر Hashcash هستند ، الگوریتم های اجماعی متنوعی به این کلاس تعلق دارند.

این الگوریتم ها را می توان به صورت زیر دسته بندی کرد:

Cryptonight؛ متن و انواع آن ؛ Equihash؛ اتاش / خنجر ؛ نئو اسکریپت و سفر در زمان.

اکنون هر یک از این انواع مختلف الگوریتم اجماع PoW متصل به حافظه را توصیف می کنیم.

1) CRYPTONIGHT:

Cryptonight یک کلاس از الگوریتم های اجماع PoW است که در اصل ، یک عملکرد هش حافظه سخت است [32].

از عملکرد هش کردن Keccak [46] به صورت داخلی استفاده می کند و به صفحه خراشیده 2 مگابایتی که در حافظه کامپیوتر قرار دارد متکی است.

صفحه خراشیده به طور گسترده ای برای انجام عملیات خواندن / نوشتن بی شمار در آدرس های شبه تصادفی درون این صفحه خراش استفاده می شود.

در مرحله آخر ، با هش کردن کل صفحه خراش ، هش مورد نظر ایجاد می شود.

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

بدین ترتیب ، Cryptonight مفهوم اصطلاحاً اثبات برابری کار [32] یا اثبات برابری را ارائه می دهد ، که هر کسی را قادر می سازد تا با استفاده از هر CPU و GPU مدرن در فرآیند استخراج شرکت کند.

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

ارزهای فعلی با استفاده از Cryptonight طبق Coingeko از 24 ژوئیه 2019 در جدول 4 ارائه شده است.

مانند جدول 3 ، جدول 4 نیز خواص Block و پاداش آنها را در شکل 5 ارائه می دهد.

2) SCRYPT و متغیرهای آن:

Scrypt یک عملکرد مبتنی بر رمز عبور مبتنی بر رمز عبور (KDF) است که در حال حاضر در بسیاری از ارزهای رمزپایه مورد استفاده قرار می گیرد [47].

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

توابع مشتق شده قبلی کلیدی مانند عملکرد مخفی UNIX مبتنی بر DES ، دخمه FreeBSD MD5 ، استانداردهای رمزنگاری کلید عمومی # 5 (PKCS # 5) و PBKDF2 هیچ مورد سخت افزاری خاصی را تحمیل نمی کنند.

با استفاده از سخت افزار مخصوص FPGA یا ASIC ، به اصطلاح حملات سخت افزاری سفارشی ، هر حمله ای را برای حمله به آن توابع انجام می دهد.

Scrypt برای مقابله با این تهدید طراحی شده است.

در راستای این هدف ، یکی از ویژگیهای اصلی Scrypt تکیه بر حافظه وسیع یک سیستم است که انجام آن را با استفاده از سخت افزارهای سفارشی فعال شده با FPGA و ASIC دشوار می کند.

در زیر ، Scrypt از Salsa20 / 8 Core [49] به عنوان عملکرد هش داخلی خود استفاده می کند.

نسخه ساده Scrypt در ارزهای رمزپایه مربوطه استفاده می شود که اجرای آن بسیار سریعتر و آسان تر است و می توان با استفاده از هر CPU و GPU مدرن آن را انجام داد.

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

با این حال ، افزایش روز افزون قیمت ارزهای رمزپایه باعث استخراج معدنچیان برای تولید سخت افزار ASIC سفارشی برای برخی از ارزهای رمزپایه با استفاده از Scrypt در چند وقت اخیر شده است.

نمونه ای از چنین سخت افزاری که می تواند برای استخراج ارزهای رمزنگاری شده مختلف Scrypt استفاده شود ، Antminer L3 + [50] است.

برای حل این مسئله بهره برداری از ASIC برای استخراج ، چندین نسخه Scrypt پیشنهاد شده است:

Scrypt-N / Scrypt Jane / Scrypt Chacha و Script-OF که هرکدام مزایای خاصی نسبت به سایرین دارند.

Scrypt-N و Scrypt Chacha به ترتیب به SHA256 و ChaCha [52] اعتماد می کنند ، در حالی که Scrypt Jane از ترکیبی از توابع هش مختلف استفاده می کند.

همه آنها از حافظه مورد نیاز پیشرو و قابل تنظیم پشتیبانی می کنند ، که پس از یک دوره خاص قابل تنظیم است.

این کار برای اطمینان از منسوخ شدن سخت افزار ASIC سفارشی است که پس از تغییر نیاز حافظه.

سرانجام ، Scrypt-OG (بهینه شده برای GPU) بهینه سازی شده است که هشت برابر حافظه کمتر از Scrypt است [51].

جدول 5 10 ارز برتر را نشان می دهد که از Scrypt یا یکی از انواع آن استفاده می کنند ، طبق ارزش بازار آنها طبق CoinGecko از 24 ژوئیه 2019.

3) EQUIHASH: Equihash یکی از الگوریتم های اخیر PoW است که در جامعه بلاکچین با استقبال خوبی روبرو شده است [55].

این یک PoW متصل به حافظه است که باید با استفاده از الگوریتم واگنر [56] راه حلی برای مسئله Generalized Birthday پیدا کند.

Equihash برای تمرکززدایی در روش استخراج خود ، مانند سایر رویکردهای متصل به حافظه ، طراحی شده است.

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

یکی از دلایل مهم این امر این است که مبادله پیچیدگی حافظه زمانی اساسی آنها تا حد زیادی ثابت است.

این بدان معنی است که کاهش نیاز به حافظه در این الگوریتم ها تأثیر کمی بر پیچیدگی زمانی متناظر آنها دارد.

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

این پیش فرض توسط Equihash مورد بهره برداری قرار گرفته است تا اطمینان حاصل شود که استخراج منحصراً متناسب با میزان حافظه یک استخراج کننده است.

بنابراین ، بیشتر از هر سخت افزار مجهز به ASIC که فقط می تواند حافظه نسبتاً کمی داشته باشد تا تولید خود را برای فرآیند استخراج سودآور کند ، برای یک رایانه عمومی مناسب است.

به همین دلیل ادعا شده است که Equihash می تواند مقاومت در برابر ASIC را حداقل برای آینده ای قابل پیش بینی پشتیبانی کند.

علاوه بر این ، تأیید بسیار سبک است و حتی می تواند در دستگاه های تلفن همراه محدود به منابع انجام شود.

جدول 6 هشت ارز را نشان می دهد که مطابق CoinGecko از 24 ژوئیه 2019 از Equihash استفاده می کنند.

4) ETHASH (خنجر-هاشیموتو) / خنجر:

Ethash یک الگوریتم PoW متصل به حافظه است که برای Ethereum با هدف مقاومت در برابر ASIC برای مدت زمان طولانی معرفی شده است [58].

پیش از این به دلیل استفاده از دو الگوریتم متفاوت به الگوریتم خنجر-هاشیموتو [59] معروف بود:

خنجر [60] و هاشیموتو [60].

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

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

به همین دلیل است که به عنوان یک نامزد PoW برای Ethereum کنار گذاشته شده است.

از سوی دیگر ، الگوریتم هاشیموتو متکی به تأخیری است که برای خواندن داده ها از حافظه به عنوان عامل محدود کننده ایجاد می شود و بنابراین ، به عنوان یک الگوریتم محدود به I-O شناخته می شود.

Ethash این دو الگوریتم را برای مقاومت در برابر ASIC ترکیب می کند و به شرح زیر عمل می کند.

Ethash به یک مجموعه داده شبه تصادفی بزرگ بستگی دارد که در هر دوره مجدداً محاسبه می شود.

هر دوره با توجه به زمانی که برای تولید 30000 بلوک در مدت زمان تقریبی پنج روز طول می کشد ، تعیین می شود.

این مجموعه داده در اصل یک نمودار دایره ای شکل است و از این رو DAG نامیده می شود.

در طی فرآیند تولید DAG ، ابتدا بذری تولید می شود که به طول زنجیره متکی است.

سپس از دانه برای محاسبه حافظه پنهان تصادفی 16 مگابایتی استفاده می شود.

سپس ، هر مورد از DAG با استفاده از تعداد معینی از موارد از حافظه پنهان تصادفی تولید می شود.

این کل فرآیند DAG را قادر می سازد تا با رشد زنجیره به صورت خطی رشد کند.

سپس ، آخرین هدر بلوک و نامزد فعلی نامزد با استفاده از عملکرد هش Keccak (SHA3) هش می شوند ، و هش حاصل چندین بار با داده های DAG مخلوط و هش می شود.

هضم نهایی هش شده با هدف دشواری مقایسه می شود و بر این اساس پذیرفته یا کنار گذاشته می شود.

هر عمل ترکیبی در Ethash مستلزم خواندن بصورت تصادفی تصادفی از DAG است که به طور تصادفی از حافظه قابل دسترسی است.

این به دو هدف انجام می شود:

• عملکرد خواندن توسط سرعت پهنای باند دسترسی حافظه محدود می شود ، که از نظر تئوری بهینه است و بنابراین ، بهینه سازی بیشتر احتمال کمتری دارد.

• حتی اگر مدارهای اختلاط را می توان در یک ASIC ایجاد کرد ، تنگنا همچنان تأخیر دسترسی حافظه است.

به همین دلیل تصور می شود Ethash برای استفاده در ظرفیت محاسبات کالا با GPU های قدرتمند مناسب مناسب است.

برای دستیابی به همان سطح عملکرد ، یک ASIC باید به اندازه یک رایانه با هدف عمومی که یک ضدعفونی کننده مالی است ، حافظه زیادی را در خود جای دهد.

در حال حاضر دو ارز با استفاده از Ethereum طبق coingecko در تاریخ 24 ژوئیه 2019 وجود دارد [62].

حتی اگر ثابت شده است که الگوریتم خنجر در برابر ASIC مقاوم نیست ، در 6 ارز از آن استفاده می شود [63].

همه اینها در جدول 7 ارائه شده است.

5) NEOSCRYPT:

NeoScrypt ، توسعه یافته Scrypt ، یک تابع اصلی مشتق شده است که هدف آن افزایش امنیت و عملکرد پردازنده ها و پردازنده های گرافیکی در عین مقاومت در برابر ASIC قوی است [146].

در داخل از ترکیبی از Salsa 20/20 [49] و ChaCha 20/20 [52] همراه با Blake2s [74] استفاده می کند.

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

این باعث می شود حافظه 1.25 برابر Scrypt باشد.

انگیزه این است که این نیاز بالاتر حافظه به عنوان یک بازدارنده در ساخت ASIC ها برای NeoScrypt عمل می کند.

در حال حاضر ، 10 ارز با استفاده از NeoScrypt طبق Coingecko از 18 جولای 2019 [147] وجود دارد که در جدول 8 ارائه شده است.

5.1.3 PoW زنجیر شده:

PoW زنجیره ای از چندین توابع هش کردن که در یک سری مراحل متوالی به هم متصل شده اند ، استفاده می کند.

انگیزه اصلی آن اطمینان از مقاومت ASIC است که با مکانیزمهای اساسی بدست می آید که بوسیله آنها توابع هش متناظر به هم متصل می شوند.

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

اعتماد آنها به یک عملکرد هش تنها.

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

اگر این اتفاق بیفتد ، الگوریتم قدیمی باید کنار گذاشته شود و یک الگوریتم هش کردن مقاوم در برابر کوانتوم جدید باید با استفاده از مکانیزمی به نام hard-fork در زنجیره بلوک مربوطه گنجانده شود.

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

این یک روش کاملا مخل است که بر روی هر سیستم بلاکچین تأثیر منفی می گذارد.

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

چندین الگوریتم زنجیره ای PoW وجود دارد که در حال حاضر در دسترس هستند.

1) X11 / X13 / X15:

X11 یک الگوریتم هش بسیار پر کاربرد در بسیاری از ارزهای رمزپایه است.

در X11 ، یازده الگوریتم هش کردن به طور متوالی یکی پس از دیگری انجام می شوند.

الگوریتم های هش blake ، bmw ، groestl ، jh ، keccak ، skein ، luffa ، cubehash ، shavite ، simd و echo هستند.

یکی از مزایای X11 این است که بسیار کم مصرف است:

پردازنده های گرافیکی که الگوریتم X11 را محاسبه می کنند تقریباً به 30٪ وات کمتر نیاز دارند و در مقایسه با Scrypt 30 تا 50٪ خنک تر می مانند [54]

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

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

به عنوان مثال ، X13 از 13 عملکرد هش کردن ، و X15 از 15 عملکرد هش کردن استفاده می کند.

جدول 9 ، 10 ارز رمزنگاری شده برتر را با استفاده از این سه الگوریتم ارائه می دهد ، طبق ارزش بازار آنها از 24 ژوئیه 2019 طبق CoinGecko.

2) کوارک:

الگوریتم Quark PoW به شش عملکرد مختلف هش متکی است:

BLAKE [74] ، Blue Midnight Wish [64] ، Grøstl [65] ، [140] ، JH [66] ، Keccak و Skein [67].

این توابع در مجموعه های ترکیبی با نه مرحله اجرا می شوند [138].

در این نه مرحله ، سه عملکرد بسته به مقدار بیت به طور تصادفی در سه مرحله اعمال می شوند.

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

• برای کاهش خطر یک سیستم در معرض خطر با توجه به شکسته شدن الگوریتم هش هک اصلی آن.

• ایجاد محدودیت هایی به این دلیل که کوارک فقط با استفاده از CPU می تواند استخراج شود در حالی که استخراج با استفاده از GPU و ASIC به دلیل استفاده از مکانیسم های مقاوم در برابر ASIC (به عنوان مثال Keccak) دشوار است.

با این وجود طولی نکشید که سخت افزار استخراج ASIC برای Quark در بازار ظاهر شد ، بنابراین می توان با استفاده از GPU و ASIC این استخراج را انجام داد [68].

با این حال ، سودآوری و عملکرد چنین سخت افزاری مشخص نیست.

ارزهای مورد استفاده از کوارک طبق CoinGecko در تاریخ 24 ژوئیه 2019 [139] در جدول 10 ارائه شده است.

3) LYRA2RE:

Lyra2RE یک کلاس از PoW زنجیره ای است که از پنج عملکرد هش استفاده می کند:

BLAKE ، Keccak ، Lyra2 ، [13] Skein و Grøstl.

توسط توسعه دهندگان Vertcoin ، ارزی مبتنی بر Lyra2RE ، ساخته شده است.

این نرم افزار مناسب برای پردازنده طراحی شده است ، اما در سال 2015 کشف شد که اکثر انرژی هش شده که برای استخراج VertCoin در شبکه آن استفاده می شود ، توسط یک botnet به سرقت سیکلهای پردازنده از تعداد زیادی رایانه آلوده کمک می کند.

این به توسعه دهندگان Vertcoin انگیزه داد تا Lyra2REv2 را که از شش عملکرد هش BLAKE ، Keccak ، CubeHash ، Lyra2 ، Skein و Blue Midnight Wish فقط با GPU PoW استفاده می کند ، منتشر کنند.

در حال حاضر ، مطابق CoinGecko از 31 دسامبر 2017 فقط سه ارز با استفاده از Lyra2REv2 وجود دارد که در جدول 11 ارائه شده است.

4) بزرگ 7:

Magnificent 7 (M7) یک کلاس PoW زنجیره ای است که از هفت عملکرد هش برای تولید هش نامزد در طول فرآیند استخراج سکه Cryptonite استفاده می کند (با الگوریتم Cryptonight PoW اشتباه گرفته نشود) [143].

توابع هش استفاده شده SHA-256 ، SHA-512 ، Keccak ، RIPEMD ، HAVAL ، Tiger و Whirlpool هستند.

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

حتی اگر این یک PoW حافظه ای نیست ، ادعا شده است که عملیات ضرب آن را قادر می سازد تا به راحتی بر روی یک CPU عمومی کار کند ، با این وجود اجرای GPU و ASIC را دشوار می کند [143].

حتی در این صورت ، حداقل یک الگوی استخراج GPU وجود دارد که با Bitcoin شروع می شود.

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

حتی در این صورت ، محدودیت های قابل توجهی وجود دارد.

بعد ، ما به طور خلاصه در مورد این محدودیت ها بحث می کنیم:

• مصرف انرژی:

هر الگوریتم PoW برای محاسبه هش نیاز به مصرف برق دارد.

همانطور که مشکل شبکه شروع به افزایش می کند ، مصرف انرژی نیز افزایش می یابد.

مقدار انرژی مصرفی در کل شبکه متشکل از سکوهای استخراج ASIC / GPU در سراسر جهان کاملاً قابل توجه است.

وب سایت Digiconomist 3 میزان مصرف برق بیت کوین و اتریوم را ردیابی می کند.

بر اساس این کار ، مصرف انرژی بیت کوین و اتریوم به ترتیب حدود 40 TWh (ساعت Tera-Watt) و 10 TWh است.

نمودارهای مصرف انرژی آنها در یک سال گذشته در شکل 8 [148] و شکل 9 [149] ارائه شده است.

برای ارائه این دیدگاه ، شکل 10 را ارائه می دهیم ، داده های آن از [148] جمع آوری شده است.

این شکل میزان مصرف انرژی بیت کوین را نسبت به مصرف برق کشورهای مختلف نشان می دهد.

به عنوان مثال ، برق مصرف شده توسط بیت کوین در یک سال می تواند 6 ، 770 ، 506 خانوار آمریکایی را تأمین کند و بسیار بیشتر از مصرف جمهوری چک در یک سال است [148].

استفاده از این مقدار زیاد برق ، مسئله پایداری ارزهای رمزپایه مبتنی بر PoW را به وجود آورده است.

• تمرکز معدن:

با سرعت دشواری روزافزون ، استخراج کنندگان در یک شبکه ارز رمزنگاری مبتنی بر PoW نیاز به ارتقا توانایی دکل های استخراج ASIC / GPU خود دارند تا شانس ایجاد بلوک جدید را افزایش دهند.

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

نتیجه این است که اقتصاد پدیده مقیاس به شدت بر الگوریتم های PoW تأثیر می گذارد.

اقتصاد مقیاس در تئوری اقتصادی مزیتی است که یک تولید کننده می تواند با افزایش تولید خود بدست آورد [150].

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

این تشبیه در مورد استخراج PoW نیز اعمال می شود که در ادامه توضیح داده شد.

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

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

متأسفانه ، این منجر به مشکلات تمرکز شده است که ایجاد بلوک در میان تعداد معدنچیان محدود است.

به عنوان مثال ، شکل 11 توزیع هش ریت شبکه را در بین استخراج کنندگان مختلف در بیت کوین نشان می دهد [152].

همانطور که از شکل مشخص است ، تنها پنج استخر استخراج 75٪ هش ریت کل شبکه را کنترل می کند.

این ترس وجود دارد که آنها بتوانند با هم درگیر شوند و حمله 51٪ را برای بی ثبات کردن کل شبکه بیت کوین انجام دهند.

• فاجعه عوام:

بسیاری از الگوریتم های PoW دچار یک مشکل اقتصادی به نام تراژدی عوام هستند.

در تئوری اقتصادی ، فاجعه عوام وقتی اتفاق می افتد که هر موجودی بدون در نظر گرفتن رفاه همه منابع مشترک یکسان ، به حداکثر سود خود از یک منبع تخلیه کننده می رود [151].

این وضعیت در ارز رمزنگاری شده رخ می دهد اگر ماهیت تورمی داشته باشد و عرضه آن محدود باشد ، به عنوان مثال بیت کوین.

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

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

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

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

• عدم مجازات:

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

یک مثال این است که یک معدنچی می تواند با گروهی از معدنچیان تبانی کند (پدیده ای معروف به استخراج خودخواهانه) تا سودآوری خود را به روشی نامشروع افزایش دهد [153]

علاوه بر این ، یک ماینر فقط با عدم ارسال هرگونه معامله یا مسدود کردن در شبکه ، می تواند در حمله Denial-of-Service شرکت کند.

علاوه بر این ، چنین معدنچیانی مخرب می توانند برای درگیر کردن در حمله کمپینگ تخم ریزی ، با درگیر کردن حملات DoS به طور همزمان بارها و بارها شبکه را برای استفاده از ارز رمزنگاری شده بی فایده استفاده کنند [156].

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

5.1.5 تجزیه و تحلیل:

در این بخش ، ما خصوصیات الگوریتم های مختلف PoW را در جدول 13 ، جدول 14 و جدول 15 با استفاده از طبقه بندی های ارائه شده در بخش 4 خلاصه می کنیم.

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

برای سایر خصوصیات ، از متون توضیحی برای هر خاصیت خاصی استفاده شده است.

همانطور که در جدول 13 ارائه شده است ، انواع مختلف الگوریتم های PoW ویژگی های دقیقاً مشابهی دارند.

در این الگوریتم ها ، آنها عمدتا دو نوع گره هستند:

مشتری و معدنچی.

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

برعکس ، مشتری گره هایی هستند که وظیفه تأیید هر بلوک را دارند و همچنین برای معامله بیت کوین بین کاربران مختلف استفاده می شوند.

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

کمیته مربوطه به طور ضمنی بصورت پویا تشکیل می شود و نشان می دهد هر معدنچی می تواند هر زمان که مایل باشد عضو شود یا آنجا را ترک کند.

طبق جدول 14 ، هیچ یک از الگوریتم ها برای شرکت در الگوریتم برای احراز هویت هیچ گره ای احتیاج ندارند.

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

این الگوریتم ها از مقاومت بالایی در برابر سانسور برخوردار هستند ، به این معنی که اعمال هرگونه سانسور بر روی این الگوریتم ها برای هر سازمان نظارتی دشوار خواهد بود.

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

بنابراین این ویژگی به عنوان یک عامل بازدارنده در برابر هرگونه حمله Sybil یا DoS در هر الگوریتم PoW عمل می کند.

تحمل دشمن بر این فرض استوار است که PoW از 51٪ حمله رنج می برد و بنابراین ، گره های دشمن باید کمتر از 50٪ از کل قدرت هش شبکه را داشته باشند.

طبق جدول 15 ، این الگوریتم ها توان پایینی دارند و متأسفانه مقیاس مناسبی ندارند.

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

میزان تحمل خطا در این الگوریتم ها مانند هر الگوریتم BFT 2f + 1 است ، به این معنی که تا بیش از 50٪ گره ها به درستی کار می کنند ، می توانند به توافق برسند.

5.2 اثبات سهام:

برای مقابله با محدودیت های هر الگوریتم PoW ، نوع دیگری از الگوریتم اجماع ، به نام Proof of Stake (PoS) پیشنهاد شده است.

اولین پیشنهاد الگوریتم PoS را می توان در انجمن bitcointalk در سال 2011 یافت [154].

اندکی پس از آن ، چندین پروژه آزمایش این ایده را آغاز کردند.

Peercoin [72] ، که در سال 2012 منتشر شد ، اولین ارزی بود که از الگوریتم اجماع PoS استفاده کرد.

ایده اصلی PoS در اطراف این مفهوم تکامل می یابد که گره هایی که مایل به شرکت در روند ایجاد بلوک هستند باید ثابت کنند که در ابتدا تعداد مشخصی سکه دارند.

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

سهام به عنوان تضمینی برای رفتار آن طبق قوانین پروتکل عمل می کند.

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

در صورت بد رفتاری ، معدنچی می تواند سهام خود را از دست بدهد.

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

فقط یک عضو این گروه انحصاری می تواند در روند ایجاد بلوک شرکت کند.

درصورتی که سهامدار فرصت ایجاد بلوک جدید را پیدا کند ، به یکی از دو روش متفاوت پاداش سهامدار داده می شود.

یا می تواند هزینه های معامله را در داخل بلوک جمع کند یا مقدار مشخصی ارز ارائه می شود که به عنوان نوعی سود در برابر سهام آنها عمل می کند.

گفته شده است که این انگیزه ، همراه با هر مکانیزم مجازاتی ، می تواند سطح امنیتی مشابهی از هر الگوریتم PoW را فراهم کند.

علاوه بر این ، می تواند چندین مزیت دیگر نیز ارائه دهد.

بعد ، ما چند مزیت مکانیسم PoS را بررسی می کنیم [156].

• بهره وری انرژی:

یک الگوریتم PoS به هیچ گره ای برای حل یک پازل رمزنگاری سخت نیاز به منابع نیاز ندارد.

در نتیجه ، چنین الگوریتمی در مقایسه با نمونه PoW خود بسیار کارآمد است.

بنابراین ، استفاده از ارز رمزنگاری شده برای استفاده از هر الگوریتم PoS احتمالاً در طولانی مدت پایدارتر خواهد بود.

• کاهش تمرکز:

یک الگوریتم PoS کمتر تحت تأثیر پدیده اقتصادی مقیاس قرار می گیرد.

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

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

• امنیت اقتصادی صریح:

یک طرح پنالتی با دقت طراحی شده در یک الگوریتم PoS می تواند از هرگونه حمله بد رفتار ، از جمله کمپینگ تخم ریزی جلوگیری کند.

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

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

عرضه اولیه:

یکی از موانع عمده در الگوریتم PoS نحوه تولید سکه های اولیه و توزیع عادلانه آنها در میان ذینفعان است تا از آنها به عنوان سهام استفاده شود.

ما این مانع را به عنوان مشکل راه انداز راه اندازی می کنیم.

برای حل مشکل بوت استرپ دو روش وجود دارد:

• قبل از استخراج:

مجموعه ای از سکه ها از قبل استخراج می شوند ، که پس از آن قبل از راه اندازی سیستم در IPO (عرضه اولیه) یا ICO (پیشنهاد اولیه سکه) فروخته می شوند.

• انتقال PoW-PoS:

این سیستم با یک سیستم PoW برای توزیع عادلانه سکه ها در میان سهامداران شروع می شود.

سپس ، به آرامی به سمت سیستم PoS منتقل می شود.

روند پاداش:

جنبه مهم دیگر ، فرآیند پاداش دادن به انگیزه دادن طرف ذینفع برای شرکت در فرآیند ضرب است.

برخلاف هر PoW ، که به یک ماینر با ایجاد یک بلاک معتبر پاداش جدید می دهد ، ایجاد بلاک معتبر جایزه ای ندارد.

در عوض ، برای ایجاد انگیزه در یک ماینر ، دو نوع مکانیزم پاداش در یک الگوریتم PoS در دسترس است:

• هزینه معامله:

معدنچی می تواند از معاملات گنجانده شده در بلوک ضرب شده هزینه دریافت کند.

• نرخ بهره:

نرخ بهره کمتری پیکربندی شده است که به شما اجازه می دهد ارز با گذشت زمان تورم یابد.

این سود به عنوان پاداش برای ایجاد یک بلاک معتبر به ماینر پرداخت می شود.

فرایند انتخاب:

یک عامل مهم در هر الگوریتم PoS نحوه انتخاب ذینفع است که می تواند بلوک بعدی را ضرب کند.

در یک الگوریتم PoW ، یک ماینر بر اساس اینکه چه کسی می تواند هش مورد نظر منبع دهنده را پیدا کند ، انتخاب می شود.

از آنجا که PoS به چنین هش به عنوان سازوکار یافتن بلوک بعدی اعتماد نمی کند ، باید مکانیسمی برای انتخاب ذینفع بعدی وجود داشته باشد.

در حال حاضر ، سه روش مختلف برای اثبات سهام وجود دارد:

زنجیر شده ، BFT و نمایندگی

POS زنجیره ای.

ایده کلی PoS زنجیره ای استفاده از ترکیبی از الگوریتم های PoW و PoS است که با هم زنجیر شده اند تا به هر اجماعی برسند.

به همین دلیل ، می توان دو نوع بلوک ، بلوک PoW و PoS را در همان سیستم بلاکچین وجود داشت.

برای رسیدن به این هدف ، الگوریتم مربوطه به روشهای مختلفی برای انتخاب / اختصاص یک ماینر خاص برای ایجاد یک بلوک PoW یا انتخاب مجموعه ای از اعتبار سنج ها برای ایجاد یک بلوک PoS در دوره های مختلف یا بعد از ایجاد تعداد مشخصی از بلوک ها ، متکی است.

به طور کلی ، یک PoS مبتنی بر زنجیره می تواند از هر سه روش مختلف زیر برای انتخاب استخراج کننده / ذینفع استفاده کند:

• استخراج تصادفی PoW:

یک ماینر که می تواند معمای PoW رمزنگاری مربوطه را حل کند ، به صورت تصادفی انتخاب می شود.

• انتخاب سهامداران تصادفی:

PoS تصادفی از فرمول احتمالی استفاده می کند که ارزهای سهام و سایر پارامترها را برای انتخاب ذینفع بعدی در نظر می گیرد.

پارامترهای دیگر اطمینان حاصل می کنند که یک ذینفع فقط براساس تعداد سکه های سهام خود انتخاب نشده و به عنوان یک بذر شبه تصادفی برای فرمول احتمالی عمل می کند.

• انتخاب مبتنی بر سکه.

سن سکه به عنوان دوره نگهداری سکه توسط صاحب آن تعریف می شود.

به عنوان مثال ، اگر مالک یک سکه از فرستنده دریافت کند و آن را به مدت پنج روز نگه دارد ، می توان سن سکه را پنج روز سکه تعریف کرد.

به طور رسمی ، سکه - سن = سکه ∗ دوره نگهداری الگوریتم های متعلق به این کلاس ذینفع را با استفاده از سکه های سهام دار سهام دار و سن سکه مربوطه انتخاب می کنند.

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

PF BFT

BFT PoS یک الگوریتم چند دور PoS است.

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

با این حال ، اتفاق نظر در مورد تعهد این بلوک به زنجیره بستگی به & gt؛ 2/3 حد نصاب اکثریت فوق العاده در میان اعتبارسنجان در چندین دور.

این ویژگی های هر اجماع BFT را به ارث می برد ، و به همین ترتیب ، تا 1/3 رفتار بیزانس را در بین گره ها تحمل می کند.

به طور کلی ، یک الگوریتم BFT PoS در شرایطی که پارتیشن شبکه اتفاق می افتد ، در تنظیم قضیه CAP نسبت به در دسترس بودن سازگار است.

اثبات نمایندگی سهام.

Delegated Proof of Stake (یا به طور خلاصه DPoS) نوعی الگوریتم اجماع است که در آن از امتیازات اعتبار یا مکانیزم های دیگر برای انتخاب مجموعه اعتبارسنجها استفاده می شود [184].

حتی اگر نام Proof of Stake با آن در ارتباط باشد ، با الگوریتم های PoS کاملا متفاوت است.

در DPoS ، کاربران شبکه رأی می دهند تا گروهی از نمایندگان (یا شاهدان) را که مسئول ایجاد بلوک هستند ، انتخاب کنند.

کاربران از امتیازات شهرت یا سازوکارهای دیگر برای انتخاب نمایندگان خود استفاده می کنند.

نمایندگان تنها نهادهایی هستند که می توانند بلوک های جدیدی را پیشنهاد دهند.

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

نحوه انتخاب چنین رهبری به سیستم مربوطه بستگی دارد.

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

نمایندگان خود با یکدیگر رقابت می کنند تا در لیست اعتبارسنج قرار بگیرند.

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

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

از آنجا که تعداد اعتبارسنجها کم است ، نتیجه نهایی اتفاق نظر سریع می تواند باشد.

در مرحله بعدی ، چندین ارز رمزنگاری شده یا سازوکارهایی را که از رویکردهای PoS ذکر شده در بالا استفاده می کنند ، کشف می کنیم.

5.2.1 PoS زنجیره ای:

در مرحله بعدی ، ما دو نمونه از الگوریتم PoS زنجیر شده را ارائه می دهیم تا نشان دهد چگونه این روش در عمل اعمال شده است.

1) PEERCOIN (PPCOIN).

Peercoin اولین ارز رمزنگاری شده است که مفهوم PoS را با استفاده از یک پروتکل ترکیبی PoW-PoS رسمی می کند [174].

پروتکل Peercoin بر این فرض استوار است که می توان با استفاده از سن سکه ، الگوریتمی PoS ایجاد کرد که مانند هر الگوریتم PoW ایمن باشد و در عین حال معایب مرتبط با الگوریتم PoW را نیز به حداقل برساند.

پروتکل Peercoin دو نوع بلوک مختلف را تشخیص می دهد:

بلوک های PoW و بلوک های PoS در همان بلاکچین قرار دارند.

این بلوک ها توسط دو موجودیت جداگانه ایجاد می شوند:

معدنچیان و کنکوری ها

ماینرها وظیفه ایجاد بلوک های PoW را دارند ، همانند بیت کوین در حالی که ماینرها وظیفه ایجاد بلوک های PoS را دارند.

صرف نظر از نوع آخرین بلوک ، بلوک بعدی می تواند یک بلوک PoW یا یک بلوک PoS باشد ، و این موجودات برای ایجاد بلوک بعدی با یکدیگر رقابت می کنند [175].

ماینرها با سایر ماینرها برای یافتن یک بلوک PoW معتبر متناسب با هدف دشواری PoW ، مشابه بیت کوین ، رقابت می کنند.

به همین ترتیب ، ماینرها برای یافتن یک بلوک PoS معتبر که با هدف دشواری PoS مطابقت داشته باشد (مانند الگوریتم PoW اما به محاسبه بسیار کمتری نیاز دارند) با یکدیگر رقابت می کنند.

به محض یافتن هر بلوک PoW یا PoS ، به شبکه پخش می شود و سایر گره ها آن را تأیید می کنند.

در یک بلوک PoS ، یک معدنچی از سکه های نگهداری شده خود به عنوان سهام استفاده می کند و معدنکار بر اساس سن سکه های ذخیره شده تقریباً 1٪ در سال پاداش می گیرد.

پاداش برای هر بلوک در یک معامله ویژه تازه ایجاد شده به نام معامله coinstake پرداخت می شود.

هر معامله coinstake شامل تعداد ورودی های ضمیمه شده و یک هسته است که حاوی هش است که با مشکل PoS مطابقت دارد.

هش خود در یک فضای کوچک محاسبه می شود و بنابراین از نظر محاسباتی اصلاً فشرده نیست.

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

این پارامتر به صورت پویا تنظیم می شود تا اطمینان حاصل شود که یک بلوک در 10 دقیقه ایجاد می شود.

به عبارت دیگر ، هسته معتبر به سن سکه ورودی های چسبیده بستگی دارد و هرچه سن سکه بیشتر باشد ، احتمال مطابقت با سختی بیشتر است.

معامله سکه به معدنچی پرداخت می شود که شامل سکه های همراه با پاداش است.

هنگامی که یک بلوک PoS به زنجیره اضافه شد ، سن سکه های ضبط شده صفر می شود.

این نشان می دهد که تمام سکه های انباشته شده مصرف می شوند.

این اطمینان می دهد که نمی توان از همان سکه ها بارها و بارها برای ایجاد یک بلوک PoS در مدت زمان کوتاه استفاده کرد.

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

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

پاداش بلوک برای یک بلوک PoW در Peercoin کاهش می یابد و بعد از مدت زمان مشخصی قابل توجه نخواهد بود.

در حال حاضر برای تولید و توزیع سکه استفاده می شود و در آینده به تدریج از بین می رود [205].

این هیچ نقشی در امنیت شبکه ندارد ، که بیشتر مبتنی بر الگوریتم PoS است.

هنگامی که الگوریتم PoW به تدریج از بین رفت ، پیشنهاد می شود که ضمن تأمین امنیت مشابه هر الگوریتم PoW ، مصرف انرژی Peercoin به میزان قابل توجهی پایین خواهد بود.

Peercoin برای رسمیت بخشیدن به اولین مکانیزم جایگزین PoW بسیار مورد توجه است ، با این حال ، همانطور که در بخش 5 ارائه شده است ، از تمام بردارهای حمله PoS رنج می برد.

2.4. دو سکه دیگر Black و Nxt سن را از معادله حذف می کند تا از بهره برداری از سیستم توسط اشخاص غیر صادق که مقدار قابل توجهی سکه دارند ، جلوگیری کند.

2) CASPER FFG.

Casper the Friendly Finality Gadget (CFFG) یک الگوریتم اجماع ترکیبی PoW-PoS است که برای جایگزینی الگوریتم اجماع Ethereum’s PoW پیشنهاد شده است [181].

در حقیقت ، CFFG یک پوشش متوسط ​​PoS در بالای الگوریتم PoW فعلی خود فراهم می کند تا Ethereum به یک پروتکل PoS خالص به نام Casper the Friendly Ghost (CTFG) که در زیر توضیح داده شده است تبدیل شود (بخش 5.2.2).

لایه PoS به مشارکت اعتبار سنج ها نیاز دارد.

هر گره ای می تواند با واریز برخی از ارزهای رمزپایه بومی Ethereum به نام Ether به یک قرارداد هوشمند تعیین شده ، اعتبارسنج شود.

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

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

علامت گذاری / نهایی سازی فرآیندی است که اطمینان حاصل می کند زنجیره تا یک بلوک خاص غیرقابل برگشت است و بنابراین ، حملات برد کوتاه و کم (انواع خاصی از حملات PoS که در بخش 5.2.4 ارائه شده است) و همچنین حمله 51٪ نمی تواند فراتر از بلوک نقطه چک راه اندازی شود.

نقطه علامت گذاری هر 50 بلوک اتفاق می افتد و به این فاصله 50 بلوکی یک دوره گفته می شود [158].

روند نهایی سازی نیاز به دو دور رأی گیری در دو دوره متوالی دارد.

این فرایند به شرح زیر است.

در یک دوره ، معتبران به یک ایست بازرسی خاص (یک بلوک) رأی می دهند.

هنگامی که بیش از 2/3 اعتبار سنجی ها به ایست بازرسی c رأی دهند ، اکثریت فوق العاده (که به عنوان 3++ نشان داده می شود) اتفاق می افتد.

در چنین حالتی ، ایست بازرسی موجه تلقی می شود.

اگر در دوره بعدی ، (+2/3) اعتبارسنج ها به ایست بازرسی بعدی c 0 رای دهند (بلوکی که فرزند بلوک متعلق به C است) ، c 0 موجه تلقی می شود در حالی که c نهایی شده تلقی می شود.

فرض می شود یک ایست بازرسی که برای هر دوره به این روش ایجاد شده است ، یک درخت ایست بازرسی ایجاد می کند که c 0 فرزند مستقیم c باشد.

روند را می توان به روش زیر خلاصه کرد:

+2/3 رأی c → توجیه c → +2/3 رأی c 0 ize نهایی کردن c و توجیه c 0 پس از نهایی شدن ایست بازرسی ، اعتبارسنج ها پرداخت می شوند.

پرداخت براساس بهره است و متناسب با تعداد اترهای سپرده شده است.

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

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

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

در اصل ، CGGF ترکیبی از مکانیسم های اجماع Chained و BFT با پشتیبانی قوی از قابلیت دسترسی بیش از ثبات است.

خصوصیات آن اطمینان حاصل می کند که نهایی شدن بلوک به سرعت اتفاق می افتد و پروتکل در اکثر موارد در برابر حملات PoS به جز حمله تشکیل کارتل ایمن است (نوع خاصی برای PoS فقط در بخش 5.2.4 ارائه شده است)

با این حال ، لازم به ذکر است که این مکانیسم اجماع هنوز عملی نشده است.

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

5.2.2 BFT PoS در این بخش سه الگوریتم قابل توجه BFT PoS را توصیف می کنیم که در عمل جذب قابل توجهی داشته اند:

Tendermint ، CTFG و Ouroboros.

1) مناقصه

Tendermint اولین کسی است که نشان می دهد چگونه می توان توافق BFT را در تنظیمات PoS سیستم های بلاکچین به دست آورد [178] ، [179] ، [180].

این شامل دو جز major اصلی است:

یک موتور اجماع معروف به Tendermint Core و رابط برنامه کاربردی اصلی آن ، به نام Application BlockChain Interface (ABCI).

هسته Tendermint وظیفه استفاده از الگوریتم اجماع را دارد ، در حالی که می توان از ABCI برای استقرار هرگونه برنامه بلاکچین با استفاده از هر زبان برنامه نویسی استفاده کرد.

الگوریتم اجماع به مجموعه اعتبارسنج ها متکی است.

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

در هر دور ، پیشنهاد دهنده یک بلوک جدید برای آخرین بلاکچین پیشنهاد می کند.

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

از طرف دیگر قدرت رأی دادن متناسب با سپرده امنیتی اعتبارسنج ها است.

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

این مراحل بیانگر انتقال حالات در هر اعتبار سنج است.

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

در ابتدای هر دور ، یک پیشنهاد دهنده جدید برای پیشنهاد یک بلوک جدید انتخاب می شود.

بلوک پیشنهادی قبل از اینکه به بلاکچین متعهد شود ، باید از یک سازوکار رأی گیری دو مرحله ای عبور کند.

وقتی یک اعتبارسنج بلوک پیشنهادی را دریافت می کند ، در ابتدا بلوک را معتبر می داند و اگر مشکلی نداشته باشد ، برای بلوک پیشنهادی پیش رأی می دهد.

اگر بلوک در تایمر پیشنهادی دریافت نشود یا بلوک نامعتبر باشد ، اعتبارسنج رای ویژه ای به نام Prevote nil ارسال می کند.

سپس ، اعتبارسنج منتظر بازه قبل از رای گیری برای دریافت رای های قبل از اکثریت اکثریت (با 3/2 +) اعتبارسنج ها می شود.

3/2/3 به معنای آن است که اعتبارسنجان اکثریت آرا for به بلاک پیشنهادی رأی داده اند ، که دلالت بر اعتماد آنها به بلاک پیشنهادی دارد و در اصطلاحات Tendermint به عنوان پولکا نشان داده می شود.

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

اگر اعتبارسنج پیش آگهی کافی برای بلوک پیشنهادی را دریافت نکند ، رأی ویژه دیگری به نام Precommit nil ارسال می کند.

سپس ، اعتبارسنج منتظر دوره زمانی قبل از تعهد برای دریافت +2/3 پیش از تعهدات از اکثریت اعتبارسنجها است.

پس از دریافت ، آن را به بلاکچین متصل می کند.

اگر 3/2 + پیش تعهدات در بازه زمانی پیش از تعهد دریافت نشوند ، مرحله بعدی با انتخاب پیشنهاد دهنده جدید آغاز می شود و مراحل تکرار می شوند.

برای اطمینان از تضمین ایمنی الگوریتم ، Tendermint نیز با قوانین قفل همراه است.

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

سپس ، باید از دو قانون زیر پیروی کند:

• باید در دور بعدی به همان بلوک برای همان قد بلاکچین رأی بدهد ، • قفل گشایی فقط وقتی امکان پذیر است که یک بلوک جدید پولکا را در دور بعدی برای همان قد بلاکچین دریافت کند.

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

به عبارت دیگر ، Tendermint تضمین می کند که هیچ چنگالی تحت این فرض رخ نخواهد داد.

از آنجا که Tendermint نسبت به در دسترس بودن امنیت را ترجیح می دهد ، یک ضعف خاص دارد.

به 100٪ اعتبار سنجی +2/3 (با اکثریت اکثریت) اعتبار سنجی خود نیاز دارد.

اگر بیش از یک سوم (3/1 +) اعتبارسنجان آفلاین یا پارتیشن بندی شده باشند ، عملکرد سیستم متوقف می شود [178].

در چنین مواردی ، مراحل خارج از پروتکل برای مقابله با این وضعیت مورد نیاز است.

برخلاف PoW یا الگوریتم های PoS دیگر که با مکانیزم های پاداش تعریف شده و برنامه های کاربردی ارز رمزنگاری شده ارائه می شوند ، جدیدترین نسخه Tendermint به احتمال زیاد به عنوان افزونه اجماع عمل می کند که می تواند برای سایر سیستم های بلاکچین سازگار باشد.

به عنوان مثال ، Tendermint با یک نمونه خصوصی از Ethereum در یک پروژه Hyperledger به نام Burrows ادغام شده است [209].

به همین دلیل مکانیزم پاداش / مجازات در Tendermint تعریف نشده است.

با این حال ، می توان آن را به راحتی از طریق ABCI در لایه برنامه وارد کرد.

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

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

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

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

2) CASPER THE FRIENDLY GHOST (CTFG).

CTFG یک الگوریتم خالص BFT PoS است که هدف آن تبدیل Ethereum به یک سیستم بلاکچین فقط PoS در آینده است [182].

همانطور که در بالا توضیح داده شد ، CFFG به سمت یک تغییر آرام از یک PoW به یک مدل PoS برای Ethereum آماده می شود ، جایی که CTFG در نهایت کنترل مکانیسم اجماع را به دست می گیرد.

CTFG بر اساس یک مدل رسمی دقیق به نام تصحیح توسط ساخت و ساز (CBC) ساخته شده است که از GHOST (زیرشاخه حریفترین سنگین مشاهده شده) بدوی به عنوان قاعده اتفاق نظر در هنگام چنگال استفاده می کند [183].

ایده این است که پروتکل CTFG در مرحله اولیه همراه با مجموعه ای از خصوصیات مورد نظر به طور جزئی مشخص می شود.

سپس ، بقیه پروتکل به صورت پویا بدست می آید به گونه ای که خصوصیات مورد نظر را برآورده می کند - از این رو نام آن را با ساخت تصحیح می کند.

این در تضاد با روش سنتی برای طراحی یک پروتکل است که در ابتدا یک پروتکل به طور کامل تعریف شده است ، و سپس آزمایش می شود تا بررسی شود آیا از خصوصیات مورد نظر برخوردار است یا خیر [156].

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

بر این اساس ، اوراکل می تواند به صورت پویا پروتکل را در صورت لزوم برای تکامل در تکمیل آن تنظیم کند.

مشابه CFFG ، CTFG همچنین به مجموعه اعتبارسنجی پیوند خورده ای نیاز دارد که اترها را به عنوان سپرده امنیتی در یک قرارداد هوشمند پیوند دهد.

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

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

در غیر این صورت ، اعتبارسنجان مجازات های خاصی دریافت می کنند.

مانند هر الگوریتم PoW ، CTFG در دسترس بودن را بر قوام ترجیح می دهد.

این بدان معنی است که بلاک ها مانند Tendermint فوراً نهایی نمی شوند.

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

یک مزیت عمده CTFG نسبت به Tendermint این است که می تواند اعتبار سنج های دینامیکی را در خود جای دهد.

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

از آنجا که CTFG به هیچ یک از نتایج فوری متکی نیست ، از نظر تئوری می تواند تعداد بیشتری اعتبار سنج پویا را در خود جای دهد.

CTFG در حال حاضر جامع ترین پیشنهادی است که به تمام بردارهای حمله PoS پرداخته است.

با این حال ، لازم به ذکر است که این فقط یک پیشنهاد در مرحله فعلی است.

بنابراین ، عملکرد آن در تنظیمات واقعی هنوز قابل تجزیه و تحلیل نیست.

3) OUROBOROS.

Ouroboros یک الگوریتم PoS قابل اثبات است [185] ، [186] که در سیستم عامل کاردانو [187] استفاده می شود.

Cardano به عنوان سیستم بلاک چین نسل سوم پشتیبانی می شود که از قرارداد هوشمند و برنامه های غیرمتمرکز پشتیبانی می کند بدون اتکا به الگوریتم اجماع PoW.

در Ouroboros ، فقط یک ذینفع می تواند در روند ضرب بلوک شرکت کند.

سهامدار هر گره ای است که ارز رمزنگاری شده اصلی پلت فرم کاردانو به نام Ada را در اختیار داشته باشد.

Ouroboros مبتنی بر مفهوم دوران است که اساساً یک دوره زمانی از پیش تعریف شده است.

هر دوره از چندین اسلات تشکیل شده است.

برای ایجاد هر بلوک یک ذینفع انتخاب می شود ، به این معنی که در هر شکاف یک بلوک ایجاد می شود.

سهامدار منتخب رهبر شیار نامیده می شود و توسط مجموعه ای از منتخبین انتخاب می شود.

انتخاب کننده نوع خاصی از ذینفعان است که مقدار مشخصی آدا در اختیار دارد.

در هر دوره ، انتخاب کنندگان با استفاده از الگوریتمی به نام Follow the Satoshi (FTS) مجموعه ذینفعان را برای دوره بعدی انتخاب می کنند.

الگوریتم FTS برای معرفی مقدار مشخصی از تصادفی بودن در روند انتخابات ، به یک بذر تصادفی متکی است.

سهمی از بذر تصادفی به طور جداگانه توسط همه انتخاب كنندگانی كه در پروتكل محاسبات چند حزبی شركت می كنند تولید می شود.

پس از اجرای پروتکل ، همه انتخاب کنندگان دارای بذر تصادفی هستند که با تمام سهام آنها ساخته شده است.

الگوریتم FTS از دانه تصادفی برای انتخاب یک سکه برای یک اسلات خاص استفاده می کند.

سپس صاحب سکه به عنوان رهبر شکاف انتخاب می شود.

بصری ، هرچه سهامدار بیشتری سکه داشته باشد ، احتمال انتخاب آن به عنوان رهبر شکاف بیشتر است.

انتظار می رود Ouroboros پاداش مبتنی بر هزینه معامله را برای تشویق سهامداران برای شرکت در روند کار تهیه کند.

با این حال ، جزئیات در مرحله نهایی شدن است.

از نظر ریاضی ثابت شده است که تقریباً در برابر همه بردارهای حمله PoS به جز تشکیل کارتل ایمن است.

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

5.2.3 DPoS:

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

در مرحله بعدی ، ما چند رویکرد برجسته برخی از ارزهای رمزپایه شناخته شده مبتنی بر DPoS را ارائه می دهیم.

تحلیل ما از این ارزهای رمزپایه در جدول 16 خلاصه شده است.

1) EOS

EOS تاکنون اولین و مشهورترین پلتفرم ارز رمزنگاری شده و قرارداد هوشمند DPoS است [188].

با نوید مقیاس پذیری بیشتر و معاملات بالاتر در ثانیه نسبت به Ethereum ، در بالاترین رویداد ICO تاکنون 4 میلیارد دلار جمع آوری کرده است [190].

ارز اولیه EOS در بستر Ethereum ایجاد شد و بعداً به شبکه بلاک چین خود مهاجرت کرد.

الگوریتم اجماع DPoS EOS از 21 اعتبار سنج استفاده می کند ، همچنین به عنوان تولید کنندگان بلوک (BPs) شناخته می شوند.

این 21 اعتبارسنج با رای از دارندگان توکن (ارز) EOS انتخاب می شوند.

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

ارز Evey DPoS باید منبع اولیه را قبل از فعالیت شبکه ایجاد کند.

این منبع برای انتخاب 21 BP (با رأی دادن) و همچنین پاداش دادن BP برای ایجاد بلوک و در نتیجه امنیت شبکه استفاده می شود.

EOS عرضه اولیه 1 میلیارد توکن EOS با تورم سالانه 5 درصد داشت.

در میان ارزهای متورم ، 1٪ برای جایزه دادن به تولیدکنندگان بلوک استفاده می شود ، در حالی که بقیه 4٪ برای R & amp؛ D آینده برای EOS نگهداری می شود [191].

در حال حاضر ، یک بلوک EOS در 0.5s ایجاد شده است.

بلوک در EOS در دورهایی تولید می شود که هر دور از 21 بلوک تشکیل شده است [192].

در ابتدای هر دور ، 21 BP انتخاب می شود.

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

هنگامی که BP یک بلوک تولید کرد ، سایر BP باید بلوک را تأیید کرده و به توافق برسند.

بلوک فقط زمانی تأیید می شود که (3/2 +) اکثر BP ها در مورد اعتبار بلوک به اتفاق نظر برسند.

وقتی این اتفاق افتاد ، بلاک و معاملات مرتبط به عنوان تایید یا نهایی در نظر گرفته می شوند ، بنابراین هیچ چنگالی نمی تواند رخ دهد.

2) TRON.

Tron یکی دیگر از ارزهای رمزنگاری شده مبتنی بر DPoS است [193].

با عرضه اولیه 99 توکن میلیارد میلیارد (با TRX نشان داده شده) ، این یک پلت فرم بلاکچین پشتیبانی شده با قرارداد هوشمند است که از لحاظ عملکردی بسیار شبیه به Ethereum و EOS است.

سازوکار اجماع آن از 27 اعتبار سنج استفاده می کند که به عنوان نمایندگان فوق العاده (SR) شناخته می شوند [194].

SR ها در هر شش ساعت با رأی دارندگان TRX انتخاب می شوند که برای رای دادن به SR باید مقدار مشخصی TRX را مسدود کنند.

مبلغ سپرده ها پس از سه روز رأی گیری می تواند پس از سه روز منجمد شود [195].

یک بلوک در Tron در هر 3 ثانیه ایجاد می شود زیرا SR مربوطه پاداش 32 TRX دریافت می کند.

یکی دیگر از ویژگیهای مهم ترون این است که هیچ مکانیسم تورمی داخلی در پروتکل وجود ندارد ، و این بدان معنی است که کل عرضه در طول عمر خود ثابت خواهد ماند.

3) TEZOS.

Tezos مانند EOS و Tron ، یک بستر قرارداد هوشمند است که از انواع الگوریتم اجماع DPoS استفاده می کند [196].

با پاداش بلوکی 16 XTZ (واحد پول Tezos) و زمان ایجاد بلوک از دهه 60 ، Tezos به هیچ یک از سهامداران از پیش تعریف شده (یا Bakers که در Tezos تعریف شده است) احتیاج ندارد [197].

این تفاوت Tezos را با ارزهای دیگر DPoS دارد.

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

این کاربران عمومی را برای شرکت در سازوکار اجماع محدود می کند.

برای رفع این مشکل ، Tezos مکانیزمی را ارائه می دهد که به وسیله آن هرکسی می تواند XTZ خود را به کسی تفویض کند تا بتواند تعداد لازم XTZ را برای نانوایی جمع کند.

در عوض ، نانوا بخش مشخصی از پاداش بلوک دریافتی خود را به حزب تفویض كننده برمی گرداند.

Tezos با عرضه اولیه 765 میلیون نشان XTZ شروع به کار کرد.

متکی به تورم سالانه 5 است.

51٪ و ارزهای متورم برای پاداش دادن به نانوایان استفاده می شود.

4) لیسک کنید.

Lisk یک بستر منحصر به فرد بلاکچین DPoS است که امکان توسعه DApps با استفاده از JavaScript را فراهم می کند [200].

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

هر زنجیره جانبی می تواند توسط یک ارائه دهنده برنامه خاص مستقر و نگهداری شود ، که طبق قانون پروتکل Lisk باید با زنجیره اصلی همگام سازی شود.

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

حتی اگر مسئولیت نگهداری زنجیره جانبی به ارائه دهنده برنامه خاص بستگی دارد ، باید اصلی را با پروتکل اجماع Lisk DPoS که از 101 نماینده استفاده می کند ، نگهداری کنید [201].

فقط این نمایندگان می توانند یک بلوک تولید کنند.

این نمایندگان با استفاده از آرا from از صاحبان ارز Lisk (مشخص شده با LSK) انتخاب می شوند ، جایی که هر دارنده 101 رأی دارد.

وزن هر رای متناسب با مقدار LSK متعلق به مالک مربوطه است.

انتخاب نمایندگان قبل از یک دور اتفاق می افتد ، جایی که هر دور از 101 چرخه تولید بلوک تشکیل شده است.

بنابراین ، در یک دور ، هر نماینده به طور تصادفی برای ایجاد یک بلوک انتخاب می شود.

زمان ایجاد بلوک 10 ثانیه و پاداش بلوک 5 LSK است.

لیسک با عرضه اولیه 100 میلیون LSK آغاز شده و در حال حاضر 132 میلیون عرضه با تورم سالانه 5.65 درصد دارد.

5) ARK

Ark هنوز یک پلت فرم بلاکچین مبتنی بر DPoS است [202].

از 51 نماینده برای ایجاد 51 بلوک در هر دور استفاده می کند [203].

با زمان ایجاد بلوک 8 ثانیه ، هر دور 408 ثانیه طول می کشد.

هر نماینده برای ایجاد بلاک 2 ARK (واحد پول محلی سکوی ARK) دریافت می کند.

عرضه اولیه آن 125 میلیون بود.

با تورم سالانه 5.55 ، میزان عرضه در حدود 142 میلیون نفر بود (از ژوئن 2019).

مانند سایر بلاک چین های DPoS ، نمایندگان در Ark نیز با رای توسط صاحب ارز Ark انتخاب می شوند ، جایی که وزن هر یک متناسب با مقدار ARK متعلق به رای دهنده است.

5.2.4 محدودیت های PoS:

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

ما در زیر به بررسی این معایب می پردازیم.

• تبانی:

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

• اثر ثروت:

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

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

• حمله هیچ چیز در معرض خطر (NAS) [157]:

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

چنین سناریویی بعید است در هر الگوریتم PoW رخ دهد.

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

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

از آنجا که افزودن بلوک در چندین شاخه موازی برای یک مینتر در الگوریتم PoS هزینه ای ندارد ، مهاجم انگیزه این کار را دارد.

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

• حمله رشوه (کوتاه برد ، SR) [157] ، [176]:

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

نمونه ای از این حمله به شرح زیر است.

مهاجم برای خرید کالایی به فروشنده پول پرداخت می کند.

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

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

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

تا زمانی که مبلغ رشوه از قیمت کالای تحویل داده شده کمتر باشد ، همیشه برای مهاجم سودآور است.

شركت كننده شرارت اگر همراه با حمله خطرناكی از طرف آنها باشد اما بتواند از طریق رشوه به دست بیاورد ، چیزی برای از دست دادن ندارد.

باز هم می توان با معرفی مکانیزم مجازات برای همه طرفهای بد رفتار با آن مقابله کرد.

• حمله از راه دور (LR) [157]:

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

انگیزه ممکن است مشابه هزینه های مضاعف یا مسائل مربوطه باشد که مزایایی برای مهاجم و همچنین ذینفعان تبانی فراهم می کند.

همانطور که در بالا توضیح داده شد ، سهامدار تبانی در صورت همراه شدن با حملات هیچ مشکلی ، چیزی برای از دست دادن ندارد.

Check-pointing یکی از روش هایی است که می توان با آن مقابله کرد.

Check-pointing مشخص طول بلاکچین را رمزگذاری می کند تا آن را تا آن مرحله تغییر ندهد و در نتیجه حمله را تضعیف می کند.

این به این دلیل است که مهاجم نمی تواند زنجیره بلوک را قبل از آن نقطه چک فورک کند.

• حمله انباشت سن سکه (CAC) [157] ، [176]:

الگوریتم های PoS که به پارامتر سن سکه بدون پوشش متکی هستند ، مستعد ابتلا به این حمله هستند.

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

این حمله را می توان با معرفی یک درپوش روی سکه که بردار حمله را به حداقل می رساند ، مقابله کرد.

• حمله پیش محاسباتی (PreCom) [157] ، [155]:

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

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

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

با معرفی یک منبع امن تصادفی در الگوریتم ، می توان آن را به طور موثر حل کرد.

• حمله تشکیلات کارتل (CAF) [158]:

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

آنها می توانند با تشکیل یک کارتل برای کنترل قیمت یا کاهش رقابت در بازار با یکدیگر تبانی کنند.

گفته شده است که "معماری Blockchain طراحی مکانیزمی برای بازارهای الیگوپولیستی است." [159] که روی الگوریتم های PoW و PoS تأثیر می گذارد.

چنین کارتلی می تواند 51٪ حملات به الگوریتم PoS را آغاز کند یا از سهام برای بهره برداری از الگوریتم PoS بهره برداری کند.

5.2.5 تجزیه و تحلیل:

در این بخش ، ما خواص الگوریتم های مختلف PoS با استفاده از طبقه بندی ها و بردارهای حمله PoS را در جدول 17 ، جدول 18 ، جدول 19 و جدول 20 خلاصه می کنیم.

مانند قبل ، از نماد "" استفاده شده است تا نشان دهد آیا الگوریتم مربوطه از یک خاصیت خاص پشتیبانی می کند یا خیر ، و نماد "X" نشان می دهد که خاصیت خاص پشتیبانی نمی شود.

نماد "-" نشان می دهد که خاصیت قابل استفاده نیست ، در حالی که نماد "؟" نشان می دهد که هیچ اطلاعاتی برای آن ویژگی خاص پیدا نشده است.

برای سایر خصوصیات ، از متون توضیحی نیز استفاده شده است.

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

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

برعکس ، الگوریتم های PoS دیگر ، به استثنای Tendermint ، مبتنی بر کمیته واحدی هستند که دارای یک شکل باز و صریح با یک پیکربندی پویا هستند و بیشتر به مکانیسم های رأی اعتماد می کنند.

Tendermint از یک کمیته بسته با پیکربندی ثابت استفاده می کند.

طبق جدول 18 ، هیچ یک از الگوریتم ها ، به جز Tendermint ، برای شرکت در الگوریتم برای احراز هویت هیچ گره ای نیاز ندارند.

همه آنها به عنوان بخشی از هر معامله ، پشتیبانی قوی از عدم پذیرش مجدد در قالب امضای دیجیتالی دارند.

این الگوریتم ها ، مانند همه الگوریتم های PoW ، از مقاومت بالایی در برابر سانسور برخوردار هستند.

در مورد بردار حمله ، هر الگوریتم PoS برای سرمایه گذاری قابل توجه برای شرکت در این الگوریتم به هر گره استخراج کننده نیاز دارد.

بنابراین این ویژگی به عنوان یک عامل بازدارنده در برابر هرگونه حمله Sybil یا DoS در هر الگوریتم PoS عمل می کند.

تحمل دشمن برای سیستم های زنجیره ای را می توان با استفاده از این فرمول محاسبه کرد:

دقیقه (2f + 1 ، 3f + 1) = 3f + 1.

این بدان دلیل است که یک الگوریتم زنجیره ای از الگوریتم های PoW و PoS استفاده می کند و بنابراین باید تحمل دشمن را برای هر دو در نظر بگیرد.

ما حداقل این دو (3f + 1) را در نظر می گیریم.

تحمل حریف برای سایر الگوریتم ها 3f +1 است به جز BFT Ouroboros که تحمل دشمن 2f + 1 است.

طبق جدول 20 ، تمام الگوریتم های BFT و DPoS دارای توان عملیاتی بسیار بالا ، تأخیر کم و مقیاس پذیری بالا هستند.

مصرف انرژی آنها بسیار ناچیز است.

با این حال ، الگوریتم های زنجیره ای نسبت به نمونه های BFT و DPoS خود نسبتاً پایین تر ، مقیاس پذیری کمتری و تأخیر بیشتری دارند.

میزان تحمل خطا در الگوریتم های زنجیره ای و BFT مانند هر الگوریتم BFT 2f + 1 است ، بدین معنی که تا بیش از 50٪ گره ها به درستی کار می کنند می توانند به توافق برسند.

با این حال ، الگوریتم DPoS به تحمل خطای 3f + 1 نیاز دارد.

جدول 19 مقایسه بردارهای حمله اضافی با نمادهایی را نشان می دهد که معناشناسی معمول را نشان می دهد.

CTFG ، Tentermint و Ouroboros مکانیسم های کاهش دهنده ای در برابر این ناقلین حمله دارند.

با این حال ، Casper FFG و هر الگوریتم DPoS نمی توانند با موفقیت در برابر حمله تشکیل کارتل دفاع کنند.

از طرف دیگر ، Peercoin سازوکاری در برابر این حمله تشکیل کارتل دارد ، متأسفانه ، از سایر ناقلین حمله رنج می برد.

سرانجام ، مقایسه ارزهای رمزنگاری شده DPoS در جدول 16 ارائه شده است.

6 اجماع مستقل:

پس از POW و POS:

برخی از الگوریتم های اجماع رویکرد متفاوتی دارند که در آن تنها به هیچ مکانیزم PoW یا PoS متکی نیستند.

در عوض ، آنها از روشی استفاده می کنند که در آن مکانیسم PoW / - PoS با رویکرد دیگری ترکیب می شود.

ما چنین الگوریتم هایی را به عنوان الگوریتم های ترکیبی در نظر می گیریم که در بخش 6.1 ارائه شده است. سایر رویکردها رویکرد شدیدتری را اتخاذ می کنند که در آن هیچ نوع الگوریتم PoW / PoS را اعمال نمی کنند.

چنین الگوریتم هایی به عنوان الگوریتم های N-POS / POW (نماد Non-PoS / PoW) برچسب گذاری شده اند و در بخش 6.2.6 بحث شده است.

1 اجماع ترکیبی:

در این بخش ، ما الگوریتم های اجماع نژادی جدیدی را توصیف می کنیم که الگوریتم PoW یا PoS یا هر دو را با الگوریتم یا مکانیزم جدید دیگری ترکیب می کند ، بنابراین یک مکانیزم ترکیبی ایجاد می کند.

1) اثبات تحقیق (POR).

اثبات تحقیق یک رویکرد ترکیبی است که اثبات سهام و اثبات BOINC را ترکیب می کند [160].

BOINC مخفف Berkeley Open Infrastructure for Network Computing [162] است.

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

با اثبات BOINC ، یک محقق باید سهم خود را در کار تحقیقاتی BOINC ثابت کند.

سازوکار PoR توسط Gridcoin [160] ، [161] ، ارز رمزنگاری شده ای که می تواند توسط هر کسی با به اشتراک گذاشتن منابع محاسباتی خود با پروژه BOINC به دست بیاید ، استفاده شده است.

سازوکاری که PoS و Proof-of-BOINC برای PooR به هم متصل شده اند در ادامه توضیح داده خواهد شد [161].

مکانیسم PoS مشابه الگوریتم سنتی PoS است.

هر کسی می تواند با داشتن مقدار مشخصی از Gridcoin و شرکت در فرآیند استخراج ، به یک معدنچی تبدیل شود ، معروف به Investor in اصطلاحات Gridcoin.

علاوه بر این ، کاربران دیگر ، که به عنوان محققان در اصطلاحات Gridcoin شناخته می شوند ، نیز می توانند در روند ضرب شرکت کنند.

جالب اینجاست که یک سرمایه گذار می تواند یک محقق نیز باشد و بنابراین می تواند مقدار سکه شبکه ای را که به دست می آورد افزایش دهد.

برای این منظور ، یک محقق نرم افزار BOINC را نصب کرده و پروژه ای را از لیست سفید BOINC با آدرس ایمیل خود ثبت می کند.

به محقق یک شناسه منحصر به فرد متقابل پروژه (CPID) اختصاص داده شده و شروع به بارگیری سهم کار می کند.

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

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

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

به طور خلاصه ، سازوکار اجماع عمدتا توسط مکانیسم PoS تحت سلطه است و Proofof-BOINC به عنوان مکانیزم پاداش برای به اشتراک گذاشتن منابع محاسباتی استفاده نشده در دسترس محققان عمل می کند.

از این رو ، امنیت آن مشابه الگوریتم سنتی PoS است.

2) SLIMCOIN’S PROOF-OF-Burn (POB).

Proof-of-Burn یک الگوریتم اجماع است که توسط Ian Stewart به عنوان جایگزینی برای PoW پیشنهاد شده است [163].

در PoW ، معدن کاران برای شرکت در فرآیند استخراج نیاز به سرمایه گذاری در ساخت یک دکل استخراج معدن دارند.

در PoB ، استخراج کنندگان برای شرکت در روند استخراج ، باید سکه های خود را بسوزانند.

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

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

میزان سوختن با امکان انتخاب شدن برای استخراج بلوک بعدی ارتباط مثبت دارد.

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

Slimcoin یک ارز رمزنگاری شده است که با استفاده از ایده PoB در ترکیب با PoW و PoS [164] ، [165] ، بنابراین سازوکار اجماع ترکیبی ایجاد می کند.

از نظر الگوریتمی ، ایده آنها مشابه الگوریتم PoS زنجیر شده Peercoin است که در بخش 5.2.1 ارائه شده است و مکانیسم PoB اضافی بین الگوریتم های PoW و PoS قرار دارد.

از PoW برای تولید عرضه اولیه سکه با استفاده از مکانیزم بیت کوین استفاده می شود.

هنگامی که سیستم مقدار پول کافی داشته باشد ، قصد دارد به مکانیزمی ترکیبی از PoW و PoS مشابه Peercoin تغییر مکان دهد که در آن از PoB برای انتخاب ماینر استفاده خواهد شد.

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

از آنجا که الگوریتم PoB بیشتر برای انتخاب ماینر استفاده می شود ، به سختی تأثیری در امنیت سیستم دارد.

از این رو ، امنیت و سایر ویژگی های آن بیشتر شبیه Peercoin است.

3) اثبات سرعت بهره (POSV).

یکی از عمده ترین محدودیت های PoS مبتنی بر سکه این است که هیچ انگیزه ای (یا عدم مجازات مجازات آن) برای ماینرها به صورت آنلاین برای شرکت در روند شرط بندی وجود ندارد.

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

بنابراین ، آنها می توانند برای مدت کوتاهی شرکت کنند و سپس پاداش را جمع کنند و ممکن است دوباره آفلاین شوند.

کمبود شرکت کننده ممکن است حملات را در یک زمان خاص تسهیل کند.

برای مقابله با این مشکل ، ارز رمزنگاری شده ای به نام Reddcoin الگوریتم ترکیبی جدیدی به نام Proof of Stake-Velocity (PoSV) [166] ، [168] را پیشنهاد داد.

نکته اصلی در PoSV ایده سازوکاری است به نام سرعت سهام همراه با هر الگوریتم سنتی PoS.

از نظر مفهومی ، سرعت سهام مفهوم سرعت پول را منعکس می کند ، اصطلاحی از اقتصاد حاکی از فرکانس جریان پول در جامعه است [169].

در واقع ، سرعت سهام در اطراف ایده افزایش جریان سهام در طی مکانیسم اجماع PoS تکامل می یابد [167].

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

این فرایند به نوعی همچنین باعث افزایش امنیت کلی سیستم و خنثی کردن عدم وجود مشارکت کننده در PoS خواهد شد.

برای تسهیل این کار PoSV یک عملکرد ضرب غیر خطی را ارائه می دهد که در آن سن سکه یک سکه خاص در چند روز و هفته اول بسیار سریعتر از سود در هفته های بعد به دست می آید.

به عنوان مثال ، تخمین زده شده است كه معدنچیانی كه هر دو هفته یا كمتر سكه های خود را سهام می كنند ، می توانند 20٪ بیشتر از افرادی كه در روند شركت گذاری شركت نمی كنند ، درآمد کسب كنند [167]

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

توجه داشته باشید که PoSV همراه با ویژگی های آن مشابه هر مکانیزم PoS است و در اینجا به طور کامل بررسی نشده است.

6.2 N-POS / POW:

الگوریتم های اجماع ارائه شده در این گروه به هیچ وجه به الگوریتم های PoW یا PoS متکی نیستند.

در عوض ، آنها به سازوکارهای کاملاً جدیدی تکیه می کنند.

بنابراین ، ما برای راحتی نامگذاری گروه ، آنها را الگوریتم های N-POS / PoW می نامیم.

1) اثبات همکاری (POC).

اثبات همکاری یک الگوریتم اجماع است که توسط ارز رمزنگاری FairCoin معرفی شده است [170] ، [171].

این الگوریتم اجماع متکی به چندین گره خاص است که به عنوان گره های اعتبارسنجی معتبر (CVN) شناخته می شوند.

عملکرد CVN مانند عملکرد اعتبارسنج ها در الگوریتم اجماع DPoS است که توسط ارزهای رمزپایه EOS یا Tron استفاده می شود ، زیرا گره هایی هستند که می توانند با استفاده از الگوریتم اجماع PoC بلوک هایی را در Faircoin ایجاد کنند.

با این حال ، برخلاف هر اعتبار سنج DPoS ، هر گره CVN توسط شناسه Faircoin مربوطه تأیید می شود و همچنین به دنبال مجموعه ای از قوانین جامعه و الزامات فنی قابل اعتماد است [171].

قوانین جامعه بیان می کند که گره کاندیدایی که مایل به CVN است باید با انجام برخی وظایف در فعالیت های جامعه Faircoin شرکت کند.

نمونه هایی از این وظایف اجرای گره محلی یا مشارکت در هر مسئله فنی یا مدیریتی مربوط به Faircoin است که حداقل باید توسط دو عضو فعال جامعه تأیید شود.

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

با درگیری CVN های انتخاب شده به روشی که قبلاً بحث شد ، در اینجا مکانیسم اصلی الگوریتم اجماع PoC مختصراً بحث می شود.

بلوک در Faircoin به صورت دور گرد در هر سه دقیقه از دوران توسط یکی از CVN ها ایجاد می شود.

برای ایجاد یک بلاک جدید ، CVN باید با استفاده از یک مکانیزم رأی گیری قطعی که به طور جداگانه توسط هر CVN شبکه انجام می شود ، انتخاب شود.

مراحل این مکانیسم عبارتند از:

• هر CVN CVN را پیدا می کند که با عبور از عقب در زنجیره ، یک بلوک دورتر از زنجیره ایجاد کرده است.

• بعد ، بررسی می شود که آیا CVN یافت شده اخیراً در شبکه فعال شده است یا نه با جستجوی امضای آن در چند بلوک گذشته.

در این صورت ، این CVN به عنوان CVN بعدی انتخاب می شود.

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

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

• CVN انتخاب شده این مجموعه داده را بهمراه امضای آنها از چندین CVN دریافت کرده و هر امضا را تأیید می کند.

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

• CVN انتخاب شده تمام تراکنش های معلق را به همراه تمام امضاهای دریافت شده به یک بلوک جدید اضافه می کند و بلوک را در شبکه گسترش می دهد.

• CVN های دیگر با دریافت بلوک ، بلوک را با بررسی اینکه آیا CVN سازنده بلوک در واقع همان کسی است که به عنوان سازنده بلوک انتخاب شده و همچنین اعتبار سنجی تمام امضاهای موجود در آن و معاملات آن را تأیید می کنند.

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

2) اثبات اهمیت (POI).

PoS یک مزیت غیرمنصفانه به احتکارکنندگان سکه می دهد.

هرچه سکه بیشتری در حساب خود نگه دارند ، درآمد بیشتری نیز کسب می کنند.

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

برای حل این مسائل NEM مکانیزم اجماع جدیدی را به نام "اثبات اهمیت (PoI)" [172] معرفی کرده است.

عملکرد آن مشابه PoS است:

گره ها برای واجد شرایط بودن برای ایجاد بلوک ها ، باید مقداری ارز را "جلیقه" کنند و تقریباً متناسب با امتیازات برای ایجاد یک بلوک انتخاب می شوند.

در Proof-of-سهام ، این "امتیاز" کل مبلغ اختصاصی یک شخص است ، اما در PoI ، این امتیاز متغیرهای بیشتری را شامل می شود.

از نظر تئوری به همه گره هایی که بیش از 10000 XEM (ارز رمزنگاری مربوط به XEM) دارند ، از اهمیت مثبت برخوردار بوده و با داشتن 9B سکه XEM حداکثر 900 هزار گره از این دست وجود دارد.

با این حال ، تعداد واقعی این گره ها و اهمیت آنها با توجه به زمان و مقدار معامله آنها در XEM متفاوت است.

این محاسبات از ریاضی خوشه بندی شبکه و رتبه بندی صفحه گرفته شده است.

در سطح بالا ، ورودی های اصلی عبارتند از:

• انتقال خالص:

چه مقدار در 30 روز گذشته صرف شده است ، و معاملات اخیر بیشتر وزن دارند.

• مقدار ارز وصولی برای ایجاد بلوک.

• گره های خوشه ای:

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

در NEM ، اهمیت یک حساب تنها به انتقال خالص XEM ها از آن حساب بستگی دارد.

برای در نظر گرفتن اهمیت در یک ارتفاع بلوک خاص ، h ، یک گره باید حداقل 100 XEM را در طی 30 روز گذشته یا 43 ، 200 بلوک منتقل کرده باشد.

"نمره اهمیت" دو انتقاد اصلی راجع به اثبات سهام دارد.

یک خطر این است که افراد بسیاری از سکه ها را احتکار کنند و از مزایای ایجاد بلوک بهره مند شوند.

این ثروت را متمرکز می کند در حالی که معاملات را دلسرد می کند.

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

تاجر بودن بهتر از داشتن انبار است.

6.3 تجزیه و تحلیل:

در این بخش ، ما خواص الگوریتم های مختلف ترکیبی و N-Pow / PoS با استفاده از طبقه بندی ها را در جدول 21 ، جدول 22 ، جدول 23 و جدول 24 خلاصه می کنیم.

جدول 21 مقایسه خصوصیات ساختاری را برای الگوریتمهای اجماع مربوطه ارائه می دهد.

در میان آنها ، PoR و PoB به یک تشکیلات کمیته چندگانه با یک توپولوژی مسطح و پیکربندی پویا بستگی دارد.

برعکس ، PoSV و PoI از یک کمیته واحد باز با پیکربندی پویا و قرعه کشی احتمالی به عنوان مکانیسم اصلی خود استفاده می کنند.

PoC یک کمیته واحد ضمنی ، آشکار و پویا دارد که به مکانیزم رأی گیری متکی است.

همه این الگوریتم ها دارای مقاومت 3f + 1 با پشتیبانی از عدم انکار ، محافظت از Sybil ، مقاومت DoS و مقاومت در برابر سانسور بالا هستند که در جدول 22 گزارش شده است.

اشخاص موجود در PoB ، PoSV و PoI احتیاجی به احراز هویت ندارند در حالی که نهادهای PoC باید احراز هویت شوند و محققان در PoR باید احراز هویت شوند.

همه آنها به استثنای PoC و PoI به دلیل استفاده از الگوریتم های PoS تحمل دشمن 3f + 1 دارند.

ما در مورد تحمل دشمن برای PoC و PoI هیچ موردی پیدا نکردیم.

جدول 23 مقایسه برخی از بردارهای حمله اضافی را برای الگوریتم های ترکیبی ارائه می دهد.

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

به عنوان مثال ، هیچ یک از آنها در برابر اکثر این بردارهای حمله اضافی محافظت نمی کنند.

تنها استثنا PoB است که به دلیل استفاده از قابلیت های مشابه Peercoin ، می تواند در برابر حمله تشکیل کارتل مقاومت کند.

مقایسه خصوصیات عملکردی این الگوریتم ها در جدول 24 ارائه شده است.

همه آنها به جز PoC و PoI تحمل خطا 2f + 1 دارند زیرا ما هیچ تحمل خطای اطلاعاتی برای PoC و PoI پیدا نکردیم.

از نظر مقیاس پذیری ، تأخیر و انرژی ، هر الگوریتمی به جز PoB ویژگی های مشابهی را نشان می دهد:

آنها توان بالایی دارند ، انرژی کمی مصرف می کنند و تأخیر کمی دارند ، به این معنی که به سرعت به نهایی می رسند.

PoB به دلیل وابستگی به PoW مقیاس پذیری کم ، تأخیر کم و همچنین انرژی میدوم را مصرف می کند.

از نظر توان عملیاتی ، PoR ، PoSV و PoI توان بالایی دارند ، در حالی که PoC توان کم و PoB توان متوسطی دارند.

سرانجام ، مقایسه ارزهای رمزنگاری شده Hybrid و NPoW / PoS در جدول 25 ارائه شده است.

7 اجماع بدون انگیزه:

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

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

یکی از ابتکارات عمده در حوزه بلاکچین خصوصی ، پروژه Hyperledger است که یک تلاش در سطح صنعت است [206].

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

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

در حال حاضر ، شش پروژه بزرگ در هایپرلجر وجود دارد:

Hyperledger Fabric [207] ، Hyperledger Sawtooth [208] ، Hyperledger Burrow [209] ، Hyperledger Iroha [210] و Hyperledger Indy [211].

هر یک از آنها در زیر با مقدمه ای مختصر تحلیل می شود.

7.1 پارچه هایپرلجر:

Hyperledger Fabric اولین سیستم عمده بلاکچین خصوصی است که از اکوسیستم Hyperledger نشات گرفته است [207].

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

یک قابلیت مهم پارچه این است که می تواند دفترچه های مختلفی را در اکوسیستم خود حفظ کند.

این یک ویژگی مفید است که Fabric را از سایر سیستم های بلاکچین متشکل از تنها یک دفتر حساب در هر یک از حوزه های خود جدا می کند.

نقطه قوت پارچه ، طراحی مدولار و ویژگی های قابل جابجایی آن است.

به عنوان مثال ، Fabric به یک قالب خاص از داده های دفتر ، که در موارد مختلف استفاده مفید است ، وابسته نیست.

علاوه بر این ، سازوکار اجماع کاملاً قابل اتصال است.

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

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

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

هر ظهرنویس مسئولیت اعتبار سنجی و تأیید معامله را بر عهده دارد در صورتی که بررسی می کند آیا واحد تجاری مجاز به انجام یک کار خاص در یک دفتر رمزگذاری شده در معامله است.

سایر نهادهای شرکت کننده ، کاربران عمومی هستند که معاملات را ایجاد می کنند.

همه نهادها ، از جمله سفارش دهنده (ها) و ظهرنویس ها ، از طریق یک نهاد خاص خاص Fabric به نام تأمین کننده خدمات عضویت (MSP) ثبت و احراز هویت می شوند.

MSP مسئول مدیریت هویت همه شرکت کنندگان در دفتر است.

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

یک جریان ساده از یک روند اجماع در پارچه در شکل 13 نشان داده شده است.

برای توزیع سرویس سفارش می توان تعداد سفارش دهنده را افزایش داد.

در حال حاضر ، از SOLO و Kafka پشتیبانی می کند.

یک سرویس سفارش SOLO فقط از یک سفارش دهنده منفرد تشکیل شده است و از این رو نمی تواند هیچ نوع تحمل خطایی را ارائه دهد.

به همین دلیل استفاده از مدل SOLO در سیستم مستقر توصیه نمی شود و فقط برای آزمایش اولیه ارائه شده است.

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

Kafka یک سکوی پخش جریانی توزیع شده با معماری میخانه فرعی [212] است و با Zookeeper ، یک سرویس هماهنگی توزیع شده [213] همراه است.

در این مرحله ، سفارش دهنده Kafka تنها گزینه پیشنهادی برای دستیابی به اتفاق نظر در Fabric است.

الگوریتم اجماع مبتنی بر SBFT (تحمل خطای بیزانس ساده) در حال توسعه است و قرار است به زودی منتشر شود.

یک جریان ساده از یک روند اجماع در پارچه:

A کلیه نهادهای مورد نیاز در MSP ثبت شده اند.

B یک کانال با یک دفتر شروع می شود.

علاوه بر این ، خط مشی ای حاوی معیارهای تأیید و همچنین سایر معیارهای امنیتی و حریم خصوصی ایجاد می شود.

C یک کد رمز (قرارداد هوشمند یا با جاوا یا Go نوشته شده است) در دفتر ثبت می شود.

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

E هر تایید کننده پروپوزال را تأیید می کند ، کد زنجیره ای را اجرا می کند و پاسخ پیشنهادی متشکل از سایر داده های دفتر را برمی گرداند.

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

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

H هر تأیید کننده بلوک را تأیید می کند و در صورت تأیید ، دفتر را با اتصال بلوک جدید تمدید می کند.

این اساساً وضعیت دفتر را به روز می کند.

7.2 Hyperledger Sawtooth:

Hyperledger Sawtooth ، که در ابتدا توسط اینتل توسعه داده شد ، یک چارچوب نرم افزاری برای ایجاد دفترهای توزیع شده مناسب برای موارد مختلف استفاده است [208].

Sawtooth از الگوریتم اجماع جدیدی به نام Proof-of-Elapsed-Time (PoET) استفاده می کند ، که به Intel SGX (Extension Guard Extension) بستگی دارد.

Intel SGX نوع جدیدی از Trusted Execution Environment (TEE) است که در نسل جدید پردازنده های اینتل ادغام شده است.

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

PoET ، مشابه الگوریتم اجماع ناکاموتو در بیت کوین ، به ایده انتخاب رهبر در هر دور برای پیشنهاد یک بلوک برای افزودن به دفتر ، متکی است.

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

با این حال ، PoET صرفاً به قابلیت Intel SGX در انتخاب رهبر اعتماد دارد.

در طول هر دور ، هر گره اعتبارسنج در شبکه ، از یک عملکرد قابل اعتماد در مجموعه SGX ، زمان انتظار را می طلبد.

اعتبارسنجی که کمترین زمان انتظار را به خود اختصاص می دهد به عنوان رهبر آن دور انتخاب می شود.

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

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

بعلاوه ، اعتبارسنجان دیگر اعتبار بلوک را قبل از قرار گرفتن در دفتر تأیید می کنند.

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

علاوه بر این ، اجازه می دهد تا Sawtooth نه تنها برای یک دفتر مجاز ، بلکه برای یک دفتر عمومی نیز استفاده شود.

7.3 Hyperledger Burrow:

Hyperledger Burrow یک استقرار خصوصی (مجاز) از پلت فرم Ethereum است [209].

توسط Monax Industries Limited ایجاد و سپس به پایگاه کد Hyperledger واریز شده است [214].

م coreلفه اصلی در Burrow یک نسخه مجاز از EVM (ماشین مجازی Ethereum) است تا اطمینان حاصل شود که فقط اشخاص مجاز می توانند کد را اجرا کنند.

دو جز additional اضافی اضافه شده است:

پروتکل Tendermint مقاوم در برابر عیب بیزانس [179] ، [221] و دروازه RPC.

اجماع Tendermint در گروه الگوریتم تحمل خطای بیزانس (BFT) قرار دارد ، که می تواند برای دستیابی به توافق حتی تحت رفتار بیزانس تعداد معینی از گره ها همانطور که در بخش 5.2.2 ارائه شده است ، مورد استفاده قرار گیرد.

Burrow به چندین اعتبار سنج بستگی دارد که نهادهایی شناخته شده (مجاز) هستند که وظیفه تأیید هر بلوک را با استفاده از الگوریتم اجماع Tendermint دارند.

این الگوریتم اجازه می دهد تا اجماع در Burrow با 1/3 گره که رفتار بیزانس را نشان می دهد ، بد عمل کند یا به دلیل خرابی شبکه یا سیستم از کار افتاده باشد.

از آنجا که Burrow از EVM استفاده می کند ، طیف گسترده ای از قرارداد های هوشمند و DApps (برنامه های غیرمتمرکز) می تواند مستقر شود.

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

7.4 Hyperledger Iroha:

Hyperledger Iroha یک سیستم بلاکچین خصوصی است که در ابتدا توسط Soramitsu ، Hitachi ، NTT Data و Colu ساخته شده و در حال حاضر توسط پروژه Hyperledger [210] ، [215] توسط بنیاد لینوکس میزبانی می شود.

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

تأکید عمده در هنگام طراحی Iroha بر ساخت ساده تر با تمرکز زیاد بر توسعه برنامه های سازگار با موبایل با استفاده از مکانیزم اجماع جدیدی به نام YAC (Yet Another Consensus) [215] ، [216] است.

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

معماری اصلی از چندین م componentsلفه تشکیل شده است [216] ، [219].

شرح مختصری از اجزای اصلی آن در زیر ارائه شده است:

• Troii نقطه ورود هر برنامه به شبکه Iroha است.

این برنامه از gRPC (تماس های رویه از راه دور gRPC [218]) ، یک چارچوب منبع باز RPC ، برای تعامل با همتایان و نهادهای مختلف در شبکه بلاکچین استفاده می کند.

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

• شبکه قابلیت های شبکه مورد نیاز برای حفظ شبکه P2P و انتشار معاملات در شبکه را فراهم می کند.

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

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

• اعتبارسنج اعتبار سنجی معاملات را با تأیید قالب ها و امضاهای آن همراه با تأیید قوانین و سیاست های تجاری درگیر در معاملات مجاز می داند.

در Iroha دو نوع اعتبارسنجی وجود دارد:

- بررسی اعتبار بدون تابعیت برای قالب های معاملاتی و امضا.

- اعتبار سنجی قوانین و سیاست های تجاری را بررسی می کند ، به عنوان مثال ، اگر یک اقدام خاص توسط نهادی مجاز باشد.

• Synchroniser بخشی از م consلفه اجماع است و وظیفه همگام سازی زنجیره با گره جدید یا قطع شده را بر عهده دارد.

• Ametsuchi جز storage ذخیره سازی Iroha است و برای ذخیره بلوک ها و حالت زنجیره ای معروف به World State View (WSV) استفاده می شود.

این م componentsلفه ها توسط سه موجودیت اصلی در معماری استفاده می شوند [216]:

• مشتری ها برنامه هایی هستند که می توانند داده ها را از زنجیره مجاز Iroha پرس و جو کنند و همچنین می توانند اقدامات خاصی را انجام دهند ، به نام دستورات ، که توسط آنها وضعیت زنجیره به روز می شود.

برای هر یک از این موارد ، مشتریان باید با شخص همکار تعامل داشته باشند.

• همتا گره هایی هستند که دارای دو ویژگی زیر هستند:

- برای نگهداری یک نسخه از دفتر.

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

- برای شرکت در روند اجماع با حفظ آدرس ، هویت و اعتماد آن به عنوان یک موجود واحد در شبکه.

• سفارش گره (های) خدمات:

مانند Fabric ، سفارش گره های سرویس وظیفه سفارش معاملات و ایجاد پیشنهاد بلوک را بر عهده دارند.

با استفاده از این م componentsلفه ها و نهادها ، جریان معاملات در Iroha به طور خلاصه در شکل 14 [216] ارائه شده است.

7.5 Hyperledger Indy:

Hyperledger Indy یک سیستم بلاکچین خصوصی است که به طور هدفمند برای تهیه یک اکوسیستم برای خود-حاکمیت مبتنی بر بلاکچین ساخته شده است [211] ، [222].

مفهوم هویت خودمختار در ابتدا توسط بنیاد Sovrin [223] ، یک نهاد بین المللی غیر انتفاعی متشکل از چندین سازمان خصوصی برای ارتقا the مفهوم هویت مستقل ، ترویج شده است.

پروژه ایندی با تمرکز بر تحقق این مفهوم از یک سیستم هویت خود حاکم به عنوان یک ابزار هویت عمومی ، از نزدیک با بنیاد Sovrin در ارتباط است.

در حال حاضر ، ایندی از دو جز major اصلی زیر تشکیل شده است:

• ایندی پلنوم:

پلنوم سازه اصلی توزیع شده دفتر کل (blockchain) پلتفرم ایندی است.

مانند هر دفتر توزیع شده ، دفتر پلنوم اساساً یک ثبت معاملات سفارش یافته است.

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

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

• Indy-SDK:

این برنامه ها و ابزارهای نرم افزاری مورد نیاز را فراهم می کند تا سایر نرم افزارها را قادر به تعامل با دفتر پلنوم کند.

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

پروتکل اجماع مورد استفاده در ایندی RBFT (تحمل گسل بیزانس از کارافتاده) [224] نامیده می شود.

مانند هر پروتکل تحمل خطای بیزانس ، برای مدیریت گره های بیزانس [224] ، [225] به گره های 3f + 1 (یک شرکت کننده در پروتکل اجماع) متکی است.

به عنوان مثال ، برای مدیریت یک گره بیزانسی ، به چهار گره مستقر نیاز دارد.

هر گره شرکت کننده در RBFT دو نمونه (یا بیشتر) پروتکل را به کار می برد که به درستی Master و Backup نمونه پروتکل نامیده می شوند و هر یک به صورت موازی اجرا می شوند.

یک گره اصلی جداگانه (به عنوان رهبر نیز نامیده می شود) از نمونه اصلی و پروتکل پشتیبان انتخاب می شود.

رهبر مسئول سفارش معاملات است.

عملکردهای آن ، به عنوان مثال ، تأخیر و توان عملیاتی ، به طور دوره ای توسط سایر موارد مشاهده می شود.

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

ایندی برخلاف بسیاری از سیستم های بلاک چین دیگری که از یک دفتر انفرادی استفاده می کنند ، برای اهداف مختلف تعدادی دفتر حساب نگهداری می کند.

به عنوان مثال ، دفترهای جداگانه برای نگهداری گره ، معاملات هویت و غیره نگهداری می شوند.

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

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

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

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

در پایان ، همه گره ها با نظم پیشنهادی گره اصلی موافقت می کنند و تراکنش را به دفتر مربوطه اضافه می کنند.

جریان معاملات در ایروه:

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

B همکار اعتبار بدون حالت را برای معامله انجام می دهد و معامله را با استفاده از گیت سفارش به سرویس سفارش می دهد.

C سرویس سفارش دهنده معاملات مختلف از همتایان مختلف را در یک پیشنهاد معامله ترکیبی و سفارش می دهد که سپس برای همتایان پخش می شود.

D هر همکار با استفاده از شبیه ساز اعتبار سنجی پیشنهادی را انجام می دهد و بلوکی ایجاد می کند که فقط از تراکنش های تأیید شده تشکیل شده است.

هر همکار بلوک را امضا می کند ، یک هش از بلوک پیشنهادی ایجاد می کند و در نهایت ، یک تاپل حاوی هش و امضا ایجاد می کند.

به چنین تاپلی رأی گفته می شود.

سپس بلوک و رأی گیری برای راه اندازی سازوکار YAC به درگاه اجماع ارسال می شود.

E سازوکار YAC در هر نظیر با استفاده از هش های ایجاد شده در مرحله قبلی لیستی مرتب از هم رأی دهندگان را تهیه می کند.

نفر اول در این لیست به عنوان رهبر در نظر گرفته می شود و مسئول جمع آوری آرا از سایر رأی دهندگان است.

F پس از جمع كردن همه آرا votes از رأی دهندگان هم رأی ، رهبر اکثریت اکثریت آرا (معمولاً 2/3) آرا for را برای یک هش خاص محاسبه می کند (به معنی یک بلوک).

G به محض دستیابی به یک اکثریت بلوک پیشنهادی ، رهبر پیام متعهدی را برای این بلوک خاص به همه هم رده های رای دهنده منتشر می کند.

H هر رأی دهنده رأی دهنده پیام متعهد را تأیید می کند و بلوک را به بلاکچین اضافه می کند.

7.6 تجزیه و تحلیل:

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

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

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

برای سایر خصوصیات ، متون توضیحی اضافه می شوند.

ویژگی های ساختاری.

در جدول 26 ، ما مقایسه خصوصیات ساختاری را در بین الگوریتمهای اجماع غیرتشویقی بحث شده در این بخش ارائه می دهیم.

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

فقط YAC به پیکربندی پویا متکی است که از اعتبار گره های فعل و انفعالات قبلی استفاده می کند. همه موارد دیگر پیکربندی ایستا دارند.

رأی دادن مکانیسم اساسی است که عمدتا مورد استفاده قرار می گیرد و توسط Tendermint Burrow ، YAC و RBFT استفاده می شود ، در حالی که PoET به مکانیزم قرعه کشی متکی است.

Fabric در حال حاضر از خدمات سفارش دهنده توسط سفارش دهنده استفاده می کند.

در آینده ، ممکن است از SBFT استفاده کند که از سازوکار رای دهی استفاده می کند.

ویژگی های امنیت

مقایسه خصوصیات امنیتی در بین الگوریتم های اجماع غیر مشوق در جدول 27 ارائه شده است.

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

این به این دلیل است که هویت تمام گره های شرکت کننده شناخته شده است.

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

همین منطق برای حفاظت از Sybil و مقاومت در برابر DoS اعمال می شود.

بیشتر الگوریتم های BFT مبتنی بر ، همه الگوریتم ها ، به جز PoET ، 3f + 1 تحمل خصمانه دارند.

مشخص شده است که PoET دارای تحمل خصمانه Θ (log log n / log n) [220] است ، جایی که n تعداد گره ها است.

ویژگی های عملکرد.

مقایسه خصوصیات عملکردی در بین الگوریتم های اجماع غیر مشوق در جدول 28 ارائه شده است.

تمام الگوریتم ها می توانند توان خوبی را ایجاد کنند و نیازی به مصرف مقدار قابل توجهی انرژی نیستند.

PoET ، با استفاده از مکانیزم قرعه کشی ، می تواند با تعداد زیادی اعتبار سنج مقیاس بندی شود ، با این حال ، این امر تأخیر (نهایی بودن) معاملات را افزایش می دهد [217].

تمام الگوریتم های دیگر با استفاده از مکانیزم رأی گیری را نمی توان با تعداد زیادی اعتبار سنج مقیاس بندی کرد ، تأخیر کم برای معاملات را فراهم می کند.

پارچه ، YAC و RBFT تحمل خطای 2f + 1 را فراهم می کنند ، در حالی که اطلاعات مربوط به تحمل خطا برای PoET و Tendermint Burrow به طور رسمی مشخص نشده است 8 بحث:

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

بسیاری PoS را در نظر می گیرند و نوع DPoS آن مناسب ترین گزینه است.

برای درک کاربردهای این الگوریتم ها در سیستم های بلاکچین عمومی ، ما 100 ارز رمزپایه برتر را تحلیل کرده ایم ، همانطور که در 18 ژوئیه 2019 در CoinMarketCap 4 گزارش شده است.

در تحلیل اول ، ما تعداد الگوریتم های اجماعی استفاده شده در این (100 صغیر برتر) ارزهای رمزپایه را محاسبه کرده ایم.

توزیع الگوریتم های اجماع در شکل 15 ارائه شده است.

طبق تجزیه و تحلیل ما ، PoW همچنان پرکاربردترین الگوریتم های اجماع (57٪) تا به امروز است ، در حالی که DPoS با 11٪ دومین و PoS با 6٪ الگوریتم های اجماع دومین است.

تمام الگوریتم های اجماع دیگر 26٪ باقی مانده را نشان می دهند.

این بدان معنی است که ، حتی اگر بسیاری فکر می کنند PoS و DPoS بهترین گزینه برای PoW هستند ، اما پذیرش آنها هنوز خیلی عقبتر از PoW است.

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

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

توزیع در شکل 16 نشان داده شده است ، که نشان دهنده یک مشاهده شگفت آور است:

PoW همچنان پرکاربردترین الگوریتم های ارزهای رمزپایه است که در سال های اخیر ایجاد شده است.

به عنوان مثال ، تعداد ارزهای رمزنگاری ایجاد شده با الگوریتم های PoW در سه سال گذشته (2017 ، 2018 و 2019) به ترتیب 11 ، 19 و 4 است ، در مقایسه با 4 ، 2 و 2 برای PoS و DPoS به طور مشترک.

این نشان می دهد که PoW هنوز محبوب ترین الگوریتم اجماع در میان ارزهای رمزنگاری است.

اگرچه یک تحقیق عمیق تر ، بینش دیگری را نشان می دهد.

100 لیست برتر بازیابی شده از Coinmarketcap همچنین حاوی رمز ارزهایی است که در بالای هر سیستم عامل قرارداد هوشمند مانند Ethereum ، EOS و Tron با اکثر توکن ها در بالای Ethereum ساخته شده است.

بیشتر این نشانه ها پس از سال 2016 با استفاده از Ethereum با استفاده از PoW ظهور کرده اند.

این می تواند دلیل این باشد که جدیدترین ارزهای رمزنگاری شده از PoW استفاده می کنند.

نشانه دیگر سلطه PoW بر الگوریتم های دیگر ، توزیع بازار ارز ارزهای رمزپایه مربوطه است.

توزیع در جدول 29 ارائه شده و در شکل 17 نشان داده شده است.

جای تعجب نیست که ارزهای PoW با سرعتی در حدود 221 میلیارد دلار تسلط گسترده 93 درصدی بر ارزهای دیگر دارند.

ارزهای DPoS و PoS با سقف بازار حدود 6 میلیارد دلار و تسلط فقط 3٪ برای هر گروه ، نزدیکترین رقبا هستند.

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

ارزهایی که از الگوریتم های PoW استفاده می کنند مقدار قابل توجهی انرژی را مصرف می کنند که در بخش 5.1.4 نشان داده شده است.

علاوه بر این ، آنها در مقایسه با ارزهای PoS و DPoS توان عملیاتی کمتری دارند (از نظر تعداد معاملات).

به عنوان مثال ، TPS گزارش شده (معاملات در ثانیه) برای بیت کوین و Ethereum به ترتیب 7 و 15-25 است [226] ، در حالی که ارزهای DPoS EOS دارای TPS گزارش شده و تخمین زده شده به ترتیب 50 و 4000 است [226] و Tron ادعا کرده است TPS 2000 [227].

واضح است که ارزهای DPoS حداقل از نظر TPS نسبت به هر ارز PoW عملکرد بهتری دارند.

بنابراین ، می توان دلیل اصلی این روند ضد شهودی PoW بودن محبوب ترین الگوریتم اجماع را پرسید.

ما چند دلیل پشت این را شناسایی کردیم که در زیر ارائه شده است:

• بیت کوین از نظر محدودیت بازار غالب ترین ارز رمزنگاری شده است.

از 18 جولای ، سقف آن در حدود 171 میلیارد دلار است.

علاوه بر این ، انواع مختلف فورک شده آن (Bitcoin Cash 5 و Bitcoin Satoshi Vision 6) نیز دارای توزیع بازار با ارزش 8 میلیارد دلار هستند.

اگر Bitcoin و انواع آن را حذف کنیم ، توزیع محدودیت بازار کمی متفاوت است ، همانطور که در شکل 18 نشان داده شده است.

در اینجا ، درصد الگوریتم PoW بازار از 93٪ به 71٪ کاهش یافته است که هنوز هم در مقایسه با DPoS و PoS ، نزدیکترین رقبا قابل توجه است.

• PoW به دلیل بیت کوین و Ethereum ، اولین مزیت را دارد که هر دو در حوزه مربوطه خود پیشگام هستند.

بیت کوین اولین ارز رمزنگاری شده موفق بوده است ، در حالی که Ethereum اولین پلت فرم قرارداد هوشمند مبتنی بر بلاک چین است.

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

• بحث مهم دیگر به نفع PoW امنیت اساسی آن است.

تعداد استخراج کنندگان در بیت کوین بسیار بیشتر از تعداد اعتبارسنجان در PoS و DPoS است.

این به معنای عدم تمرکز بهتر بیت کوین در مقایسه با PoS یا DPoS است.

به عنوان مثال ، EOS فقط 21 اعتبار سنج دارد ، در حالی که Tron دارای 27 اعتبار سنج است.

احتمال تبانی در بین این اعتبارسنجها به مراتب بیشتر از هر ارز رایج PoW است.

به همین دلیل ، بسیاری از افراد در بلاکچین نسبت به امنیت هر ارز PoS / DPoS شک داشته اند.

با این حال ، یک استدلال ضد در برابر این وجود دارد.

به دلیل مسئله تمرکز استخراج (که در بخش 5.1.4 برجسته شده است) ، بسیاری اشاره می کنند که یک الگوریتم PoW نیز ممکن است مستعد تمرکز باشد.

بنابراین ، یک ارز PoW نیز ممکن است از حمله تبانی رنج ببرد.

با تسلط PoW بر دیگر الگوریتم های اجماع ، ممکن است تعجب کند که چه چیزی در پیش است و ممکن است س askال کند آیا تغییری در تعادل بین الگوریتم های اجماع وجود دارد؟

ما معتقدیم که قطعاً در آینده نزدیک تغییر تعادل را تجربه خواهیم کرد.

در این راستا ، فرآیند تحول PoS در Ethereum یک عامل حیاتی خواهد بود.

مکانیسم های پیشنهادی اجماع Ethereum PoS ، هم CFFG و هم CTFG ، به دلیل تضمین قوی امنیت ، مورد توجه دانشگاهیان و علاقه مندان به صنعت قرار دارند.

اعتقاد بر این است که با تمرکز شدید بر انگیزه های اقتصادی و رویکرد مبتنی بر تئوری بازی ، امنیت آنها به همان اندازه PoW نزدیک خواهد بود و بسیار بهتر از هر الگوریتم فعلی PoS / DPoS می تواند ارائه دهد.

به طور خاص ، تعداد اعتبارسنجها بسیار بیشتر از هر تعداد اهرم در الگوریتم های فعلی PoS / DPoS خواهد بود.

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

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

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

یک ابزار بصری کمک بزرگی در این زمینه خواهد کرد.

برای رسیدن به این هدف ، ما یک درخت تصمیم در شکل 19 ارائه می دهیم ، که می تواند برای تعیین الگوریتم های اجماع مناسب تحت معیارهای خاص در سناریوهای مختلف استفاده شود.

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

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

مشوق ها ، مصرف انرژی ، مقیاس پذیری ، امنیت (با توجه به تحمل دشمن) و مقاومت در برابر ASIC.

اگر سیستم به انگیزه دادن به ماینر / اعتبارسنجی گره ها نیاز دارد ، اتفاق نظر اثبات کار (PoW) و اثبات سهام (PoS) گزینه های مناسبی هستند.

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

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

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

الگوریتم های PoWtype انرژی بالایی مصرف می کنند ، در حالی که الگوریتم های PoS و مشتقات آنها مقدار متوسطی انرژی مصرف می کنند.

الگوریتم های نوع PoW از هم اکنون بسیار کند هستند و می توانند تعداد محدودی از تراکنش ها را پردازش کنند.

با این حال ، به خطر انداختن یک شبکه blockchain مبتنی بر PoW بسیار دشوار است و بنابراین ، آنها امنیت بیشتری نسبت به همتایان خود دارند.

الگوریتم های مبتنی بر PoW را می توان بر اساس پیچیدگی محاسباتی نیز طبقه بندی کرد.

همانطور که قبلاً بحث شد ، ASIC یک سخت افزار تخصصی است ، که برای حل مشکلات محاسباتی مبتنی بر هش طراحی و استفاده شده است.

ASIC گران است و از مشارکت افراد عادی در شبکه بلاکچین جلوگیری می کند.

بنابراین ، PoW مبتنی بر حافظه طراحی شده است.

اکنون به طور گسترده ای در ارزهای رمزپایه مختلف مورد استفاده قرار می گیرد.

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

آنها در مقایسه با سایر الگوریتمهای اجماع ، مقدار بسیار کمی انرژی مصرف می کنند و همچنین بسیار مقیاس پذیر هستند.

این بدان معناست که ماینرها می توانند تراکنش ها را بررسی کرده و بلاک ها را خیلی سریع ایجاد کنند.

با این حال ، تعداد نسبتاً کمی گره معتبر ، این الگوریتم ها را در برابر حملات آسیب پذیرتر می کند.

برای وضوح ، چند مثال برای استفاده از نمودار درخت تصمیم ارائه شده در شکل 19 ارائه می دهیم.

اگر الگوریتمی تشویقی برای سیستم بلاکچین بسیار مقیاس پذیر که هدف آن مصرف مشتقات کم انرژی DPoS و BFT مانند Tendermint ، CTFG و Ouroboros است ، مورد نیاز است ، گزینه های برگزیده هستند.

با این حال ، آنها از امنیت متوسطی برخوردارند که قبلاً توضیح داده شد.

از طرف دیگر ، اگر امنیت از بالاترین اولویت برخوردار باشد ، الگوریتم های PoW مناسب ترند.

در این سناریو ، دو گزینه وجود دارد:

متصل به حافظه یا CPU.

اگر مقاومت ASIC مورد نظر باشد ، باید الگوریتم های PoW متصل به حافظه را انتخاب کنید.

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

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

جداول (جدول 13 ، جدول 14 ، جدول 15 ، جدول 17 ، جدول 18 ، جدول 19 ، جدول 19 ، جدول 20 ، جدول 21 ، جدول 22 ، جدول 23 ، جدول 23 ، جدول 24 ، جدول 24 ، جدول 26 ، جدول 27 و جدول 28) استفاده شده برای مقایسه الگوریتمهای اجماع مختلف با خصوصیات تعریف شده در طبقه بندی بسیار مهم خواهد بود زیرا این جداول الگوی مورد نیاز را ایجاد می کنند که از طریق آن می توان چنین نمودار را ایجاد کرد.

9 نتیجه گیری:

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

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

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

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

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

نتیجه نهایی این پدیده طیف گسترده ای از الگوریتم های اجماع موجود در حال حاضر است.

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

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

علاوه بر این ، الگوریتم های اجماع مختلف در دو دسته عمده گروه بندی شده اند:

الگوریتم های اجماع مشوق و غیر انگیزه.

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

از طرف دیگر ، در هر الگوریتم غیرتشویقی ، شرکت کنندگان به عنوان افراد مورد اعتماد در نظر گرفته می شوند و از این رو فرض بر این است که برای اطمینان از رفتار مورد نظر هیچ مشوقی مورد نیاز نیست.

به این ترتیب ، این الگوریتم ها بیشتر در حوزه بلاکچین خصوصی استفاده می شوند.

ما دوباره الگوریتم های تشویقی را در سه زیر مجموعه اصلی گروه بندی کرده ایم:

PoW (اثبات کار) ، اثبات سهام (PoS) و الگوریتم های اجماع فراتر از PoW و PoS.

یک الگوریتم PoW برای حل یک معمای رمزنگاری به پیچیدگی های محاسباتی یا اندازه حافظه / عملکرد متکی است.

سه روش عمده وجود دارد که توسط الگوریتم های اجماع PoW دنبال می شود:

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

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

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

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

با محبوبیت بیشتر سیستم های متناظر ، ماینرهای بیشتری را به خود جلب می کند که امنیت سیستم را افزایش می دهد.

با این حال ، افزایش قدرت محاسباتی منجر به مصرف انرژی بیشتر می شود.

جدا از این ، سیستم های PoW به طور کلی توان پایینی دارند و مقیاس مناسبی ندارند.

الگوریتم های PoS و سازوکارهای مربوطه در جزئیات بیشتر در بخش 5.1 مورد تجزیه و تحلیل قرار گرفته اند.

برای تخفیف عمده مسائل PoW ، اثبات سهام (PoS) ارائه شده است.

در PoS ، به گره هایی که مایل به شرکت در فرآیند ایجاد بلوک هستند ، مینر گفته می شود و آنها نیاز به داشتن و قفل کردن مقدار مشخصی از ارز رمزنگاری شده مربوطه به نام سهام دارند.

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

PoS انواع مختلفی دارد:

PoS زنجیر شده ، BFT PoS و DPoS.

ایده اصلی PoS زنجیره ای استفاده از ترکیبی از الگوریتم های PoW و PoS است که با هم زنجیر شده اند تا به توافق برسند.

BFT PoS از یک مکانیزم PoS چند دور استفاده می کند که در آن یک اعتبار سنج (minter) از بین مجموعه اعتبارسنج ها ، با توافق حد نصاب اکثریت بین سایر اعتبارسنج ها ، انتخاب می شود.

از طرف دیگر ، DPoS با استفاده از رأی سایر سرویس گیرندگان شبکه ، یک مینتر را از میان مجموعه ای از ماینرها انتخاب می کند.

الگوریتم های PoS به طور کلی سریع و مقیاس پذیر هستند و از توان عملیاتی بالایی برخوردار هستند.

با این حال ، آنها همچنین باید چندین وکتور حمله دیگر مانند Nothing-at-خطر ، رشوه ، حمله Longrange ، تشکیل کارتل و غیره را نیز در نظر بگیرند.

تجزیه و تحلیل دقیق جنبه های مختلف الگوریتم های PoS در بخش 5.2 ارائه شده است.

همچنین برخی الگوریتم های اجماع ترکیبی وجود دارد که مکانیسم های PoW و / pr PoS را با الگوریتم جدید دیگری ترکیب می کند.

اثبات تحقیق ، اثبات سوختن ، اثبات سرعت - سرعت نمونه هایی از چنین الگوریتمی هستند.

باز هم ، مکانیزم هایی وجود دارند که جدید هستند و از هیچ نظر به PoW / PoS اطمینان ندارند.

اثبات همکاری و اثبات اهمیت نمونه هایی از این الگوریتم های بدیع هستند.

بحث و تحلیل این الگوریتمهای اجماع در بخش 6 ارائه شده است.

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

Hyperledger بنیاد اصلی بلاکچین خصوصی است که تحت آن سیستم های مختلف بلاکچین خصوصی مانند Hyperledger Fabric ، Hyperledger Sawtooth ، Hyperledger Burrow ، Hyperledger Iroha ، Hyperledger Indy و غیره قرار دارند.

این سیستم ها به سازوکارهای اجماع دیگری مانند SBFT ، PoET ، Tendermint Burrow ، YAC و RBFT متکی هستند.

ویژگی های اصلی این الگوریتم های اجماع ، توان بالا و تأخیر کم با مقیاس پذیری قابل قبول است.

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

تجزیه و تحلیل دقیق این الگوریتم ها در بخش 7 ارائه شده است.

تجزیه و تحلیل ما در بخش 8 نشان می دهد که PoW ، با بسیاری از معایب آن ، هنوز هم از لحاظ سرمایه بازار (نشانگر تصویب آن) و ارز رمزپایه در جهان از همه مهمترین است.

همانطور که قبلاً بحث شد ، الگوریتم های DPoS و PoS ، نزدیکترین رقبای PoW ، قصد دارند بسیاری از محدودیت های PoW را برطرف کنند.

با این حال ، پذیرش آنها هنوز محدود است.

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

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

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

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

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

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

نمونه هایی از دو ارز رمزنگاری شده برجسته ، IoTA 7 و NANO 8 هستند.

هر دو دفترچه آنها بر اساس DAG (نمودار چرخشی مستقیم) ، نوع خاصی از نمودار کارگردانی شده بدون چرخه است.

با این حال ، IoTA از الگوریتم اجماع جدیدی به نام Tangle [229] استفاده می کند در حالی که NANO از مکانیزم اجماع نمایندگی [228] استفاده می کند.

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

با این حال ، ما دیگر این سیستم ها را در نظر نمی گیریم زیرا در این مقاله از حوصله این مقاله خارج هستند.

ما در آینده قصد داریم در اکتشافی متفاوت ، چنین سیستم های جدیدی را بررسی کنیم.

در میان علاقه مندان به بلاکچین انتظار زیادی وجود دارد که فناوری بلاکچین بسیاری از حوزه های کاربردی موجود را مختل کند.

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

این بدان دلیل است که الگوریتم اجماع ، م coreلفه اصلی هر سیستم بلاکچین است و نحوه رفتار و عملکرد یک سیستم را تعیین می کند.

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

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