اجماع در بلاکچین

اجماع یک مسئله اصلی برای ایجاد اعتماد در سیستم‌های غیرمتمرکز است. در بلاکچین گره‌ها به یکدیگر اعتماد ندارند به این معنی که بعضی از آن‌ها ممکن است رفتار خصمانه داشته باشند، بنابراین برای تکثیر، بروزرسانی و تایید اعتبار و صحت یک بلاک، گره‌ها باید به اجماع برسند تا بلاک جدید در دفترکل اضافه شود. یک الگوریتم‌ برای حل مسئله اجماع، لازم است که ترتیب ایجاد بلاک و ترتیب بروزرسانی معاملات در دفترکل را تضمین کند و از همزمانی اضافه شدن بلاک‌ها و ایجاد تضاد جلوگیری نماید. اجماع اولین بار توسط ساتوشی ناکاموتو برای مبادله بیت‌کوین مطرح شد و ساز و کار مختص خود را دارد و پس از آن روش‌های گوناگون دیگری همچون POS ،DPOS ،PBFT برای اجماع در شبکه‌های بلاکچین عمومی و خصوصی مطرح شد. الگوریتم‌های اجماع در بلاکچین را می‌توان در سه دسته‌ی کلی به صورت زیر دسته‌بندی نمود:1- الگوریتم‌های اجماع مبتنی بر اثبات2- الگوریتم‌های مبتنی بر رای‌گیری3- الگوریتم‌های مبتنی بر گراف جهت دار بدون دوردر ادامه الگوریتم‌های موجود در هر دسته‌بندی توضیح داده می‌شود.الگوریتم‌های اجماع مبتنی بر اثباتدر الگوریتم‌های مبتنی بر اثبات در میان تمام گره‌های شبکه، یک گره اثبات می‌کند که بلاک جدید زنجیره صحیح است و پاداش شبکه را دریافت می‌کند و معمولا در بلاکچین‌های عمومی کاربرد دارد که گره‌های شبکه اعتبارسنجی نمی‌شوند و ایجاد اعتماد از طریق حل پازل‌های رمزنگاری توسط گره‌ها صورت می‌گیرد. الگوریتم‌های اجماع مبتنی بر رای‌گیری در بلاکچیندر الگوریتم‌های مبتنی بر رای‌گیری، یک گره برای اضافه نمودن بلاک جدید، با دیگر گره‌ها ارتباط برقرار می‌کند و درصورتی که بلاک جدید توسط اکثریت گره‌ها مورد تایید باشد، بلاک جدید پذیرفته می‌شود. معمولا این الگوریتم‌ها در بلاکچین‌های خصوصی، که هویت گره‌ها مشخص است کاربرد دارد و ایجاد اعتماد وابسته به میزان اعتبار سایر گره‌های معتمد شبکه است.الگوریتم‌های اجماع مبتنی بر گراف جهت‌دار بدون دوراساسا سیستم‌های بلاکچین دارای ساختار خطی هستند و بلاک‌ها به صورت ترتیبی و پشت سرهم در بلاکچین ذخیره می‌شوند. این بلاکچین را آهسته می‌کند و بلاک‌ها نمی‌توانند به صورت موازی اضافه شوند. اما در گراف جهت دار بدون دور، بلاک‌ها یا تراکنش‌ها می‌توانند به صورت موازی به زنجیره اضافه شوند و هر بلاک یا تراکنش، تعدادی از بلاک‌های قبل از خود را تایید می‌کند و این مقیاس‌پذیری بیشتری به گراف جهت‌دار بدون دور می‌دهد.مقایسه انواع روش‌های اجماعدر این پست عملکرد الگوریتم‌های اجماع در بلاکچین شرح داده شد که با بررسی آن‌ها متوجه می‌شویم که هیچ یک از مکانیسم‌های اجماع کامل نیستند و هر کدام به منظور خاصی بکار می‌روند. هدف اصلی الگوریتم‌های مبتنی بر اثبات، این است که در میان همه گره‌های موجود در شبکه، یک گره به طور کارآمد اثبات می‌کند که بلاک جدید زنجیره، صحیح است و پاداشی را از شبکه دریافت می‌کند. معمولا در بلاکچین‌های عمومی کاربرد دارد که گره‌های شبکه اعتبارسنجی نمی‌شوند و ایجاد اعتماد از طریق حل پازل‌های رمزنگاری توسط گره‌ها صورت می‌گیرد. فرایند اثبات به دلیل محاسبات زیاد بسیار زمانبر و آهسته است. جدول 1مقایسه دو روش اصلی اثبات کار و اثبات سهام را که مبتنی بر اثبات هستند را نشان می‌دهد.جدول 1 - مقایسه الگوریتم‌های اجماع اثبات کار و اثبات سهامدر الگوریتم‌های مبتنی بر رای‌گیری، گره‌های داخل شبکه شناخته شده هستند و معمولا در بلاکچین‌های خصوصی، که هویت گره‌ها مشخص است کاربرد دارد. این تفاوت اصلی، در مقایسه با الگوریتم‌های مبتنی بر اثبات است که گره‌ها اغلب به صورت آزاد و بدون تایید و هویت سنجی به شبکه اضافه می‌شوند. در الگوریتم‌های اجماع، مبتنی بر رای‌گیری علاوه‌بر نگه‌داری دفاترکل، تمام گره‌ها معاملات یا بلاک‌ها را بررسی می‌کنند و قبل از تصمیم‌گیری برای اضافه کردن بلاک جدید به زنجیره با دیگر گره‌ها ارتباط برقرار می‌کنند. جدول 2 مقایسه‌ کلی بین الگوریتم‌های اجماع مبتنی بر اثبات و الگوریتم‌های اجماع مبتنی بر رای‌گیری را نشان می‌دهد.جدول2 - مقایسه الگوریتم‌های اجماع مبتنی بر اثبات و رای‌گیریهمچنین هریک از روش‌های اجماع، با توجه به کارکرد در دسته‌بندی مشخصی از بلاکچین‌ها مورد استفاده قرار می‌گیرد. جدول 3 کاربرد تمام الگوریتم‌های اجماع را در پیاده‌سازی‌های مختلف بلاکچین نمایش می‌دهد. در پست های آینده انواع الگوریتم های اجماع به تفصیل شرح داده می شود.جدول 3 - انواع الگوریتم اجماع و کارکرد آن‌ها در بلاکچین