بررسی تأثیر مکانیزمهای اجماع بر امنیت بلاکچین
مکانیزمهای اجماع بلاکچین، امنیت و پایداری شبکه را با جلوگیری از حملات و تمرکززدایی تضمین میکنند. در این مقاله، تأثیر مکانیزمهای مختلف مانند PoW، PoS و PoH بر امنیت بلاکچین بررسی میشود.
سالها قبل از ظهور دنیای کریپتوکارنسی و زمانی که نیک زابو (Nick Szabo) پروژه بیت گلد را راهاندازی نمود، این پروژه سیبل حملات دابل اسپندینگ قرار گرفته و به شکل مفتضحانهای سقوط کرد؛ از این رو ساتوشی ناکاموتو (خالق بیت کوین BTC) از همان سالهای ابتدائی ظهور شبکه بلاک چینی بیت کوین، در تلاش بود تا به نحوی مانع انجام چنین حملاتی به شبکههای بلاک چینی گردد و به همین علت به سراغ الگوریتمها و پروتکلهای اجماع رفت تا بدین شکل هم عدم تمرکز را در شبکههای بلاک چینی تثبیت نموده و هم مانع هرج و مرجهای احتمالی ناشی از فعالیت نودهای مختلف گردد. ناکاموتو اساس الگوریتم اجماع PoW را بر روی حل مسائل پیچیده ریاضی از سوی ماینرها و استخراج کنندگان بنا نهاد تا این افراد با تسلیم نمودن توان محاسباتی خویش و حل مسائل پیچیده، اعماد شبکه را به دست آورده و در حفظ امنیت آن نقش موثری را ایفا نمایند.
اما طولی نکشید که با روشن شدن معایب الگوریتم اجماع PoW نظیر مسائل زیست محیطی، سیطره امپراطوری این پروتکل بر روی مارکت رمزارزی برچیده شد و از آن تاریخ تا به امروز بر تعداد الگوریتمهای اجماعی که شبکههای بلاک چینی از آنها بهره میبرند افزوده شده که طبیعتا آشنایی با آنها میتوان دید روشنتری را در اختیار علاقهمندان به دنیای کریپتوکارنسی قرار دهد. یکی از این الگوریتمهای اجماع جدید، الگوریتم اثبات مشارکت (PoCo) نام دارد که با توجه به کارایی آن در دنیای کریپتو، ما این مقاله از بلاگ کریپتوباز را به معرفی جامع این الگوریتم اختصاص دادهایم و اگر شما هم در ارتباط با این الگوریتم با ابهاماتی مواجه شدهاید، تا انتهای این مطلب با ما همراه باشید.
الگوریتم اجماع با معادل انگلیسی «Consensus Algorithm»، در اصل پروتکلی است که مانع ایجاد هرگونه هرج و مرج در شبکههای بلاک چینی میگردد. به بیان سادهتر، این شبکههای بلاک چینی (برخلاف آنچه که در سیستمها و شبکههای متمرکز با آن مواجه هستیم) به جای در اختیار داشتن یک دفترکل در یک نهاد متمرکز، این دفتر را در میان نودها و گرههایی در سرتاسر جهان توزیع نموده و هر یک از این نودها یک نسخه از این دفتر کل را در اختیار دارند و به همین علت است که گفته میشود امکان تحریف و دستکاری اطلاعات ذخیره شده در شبکههای بلاک چینی وجود ندارد.
اما اجازه دهید موضوع را کمی دقیقتر مورد بررسی قرار دهیم. شما به هنگام شنیدن کلماتی نظیر «عدم تمرکز» یا «توزیع شدگی شبکه بلاک چین» چه چیزی را به خاطر میآورید؟ مطمئنا تصویر شکل گرفته در ذهنتان چیزی جز تعدد بازیگران فعال در عرصه تائید تراکنش نخواهد بود؛ حال اگر شبکه بلاک چینی فاقد یک نهاد مرکزی برای نظارت بر روی این بازیگران است، شبکههای بلاک چینی چگونه مانع اعمال سلیقههای متفاوت از سوی نودها در تائید تراکنشها میشوند؟ آیا اعمال سلیقه متعدد در چنین امری به ضرر شبکههای بلاک چینی نبوده و باعث فروپاشی آنها نمیشود؟! اعضای تیم توسعهدهنده شبکههای بلاک چینی با تسلط بر چنین امری، از الگوریتمهای اجماع به منظور نظارت بر روی فعالیت ولیدیتورها و ماینرها کمک میگیرند تا این افراد متناسب با قوانین حاکم بر بلاک چین، وظایف خود را به درستی اجرا نمایند. اهمیت این مسئله به قدری است که اگر اعتبارسنجی از قوانین تخطی نموده و با سلایق خویش به اعتبارسنجی بپردازد با مجازاتهایی نظیر جریمه اسلشینگ که در الگوریتم PoS وجود دارد، مواجه خواهد شد.
یکی از شبکههای وابسته به شبکه اتریوم به نام اگزک (iExec) مدتی است که از الگوریتم اجماع جدیدی به نام الگوریتم اثبات مشارکت (Proof of Contribution) رونمایی کرده که اساس آن را اعتماد شبکههای بلاک چینی به اعتبارسنجها و ولیدیتورها شکل میدهد. در این الگوریتم هم به مشارکت کاربران و هم به نرخ هش ریت (Hash Rate) آنها نیاز خواهیم داشت. در الگوریتم اثبات مشارکت، کلیه گرههای فعال در شبکه بلاک چینی به وسیله مولفههای متعددی مورد ارزیابی قرار گرفته و انتخاب میشوند. در این الگوریتم، آن ولیدیتورهایی امتیاز استخراج بلاک جدید را به دست میآورند که دارای میزان مشارکت بیشتری در شبکه باشند. در اصل اگر نگاه دقیقتری به الگوریتم PoCo داشته باشیم، متوجه این واقعیت خواهیم شد که این پروتکل با وجود تمرکز بر روی میزان مشارکت ولیدیتورها همچنان به لحاظ تمرکززدایی که از ویژگیهای اصلی شبکههای بلاک چینی به شمار میرود، رتبه خوبی را کسب نموده است.
الگوریتم اثبات مشارکت برخلاف بسیاری از الگوریتمهای دیگر، در برابر هارد فورک از انعطافپذیری بالایی برخوردار بوده و در آن گرههای فعال در شبکه صرفا بخشی از توان و قدرت محاسباتی خود را به منظور اعتبارسنجی تراکنشها و بلاکها در اختیار شبکه قرار میدهند و این که همچون الگوریتم PoW همه چیز صرفا به توان محاسباتی آنها اختصاص داشته باشد، وجود ندارد. در این الگوریتم میزان مشارکت نودها با یکدیگر مورد مقایسه قرار گرفته و در حالتی که چندین گره نتایج یکسانی را ارائه کنند، پاداش شبکه به طور کاملا مساوی در میان این نودهای مشارکت کننده، توزیع میگردد. به همین علت است که با وجود مشابهتهای الگوریتم اثبات مشارکت با الگوریتم اثبات کار، گفته میشود که این دو الگوریتم کاملا متفاوت با یکدیگر هستند. در واقع در الگوریتم PoCo هدف کاهش میزان انرژی مورد نیاز برای انجام فرآیند ماین و استخراج بوده است.
امکان دریافت پاداش در ازای مشارکت همان سیاستی است که اعضای شبکه را به انجام صحیح وظایف محول شده به آنها تشویق میکند. به طور خلاصه، در الگوریتم اثبات مشارکت، در قدم اول یک سپرده امنیتی به اشتراک گذاشته میشود و سپس در جلسات اجماع این پروتکل، میزان مشارکت نودها در شبکه رصد شده و در نهایت گرههایی که بیشترین میزان مشارکت را به خود اختصاص داده باشند، اجازه تولید بلاک جدید را دریافت کرده و در ازای آن پاداش میگیرند. یکی از ویژگیهای بسیار مهمی که میتوان برای الگوریتم اثبات مشارکت برشمرد به مسئله فراهم شدن امکان ایجاد اعتماد کافی برای اجماع محاسباتی در خارج از فضای شبکه در جایی نظیر فضای ابری که کلیه سازوکارهای این الگوریتم در آن اجرا میشود، ارتباط دارد.
یکی از انتقاداتی که همواره متوجه الگوریتمهای محبوبی همچون الگوریتم اثبات سهام (PoS) و اثبات کار (PoW) بوده به مسئله اهمیت توان محاسباتی ولیدیتورها مربوط شده و هر ماینر و اعتبارسنجی که از توان محاسباتی بیشتری برخوردار باشد، در نهایت مجوز استخراج بلاک را دریافت کرده و برنده پاداش شبکه خواهد شد. طبیعتا نتیجه چنین سیاستی حذف ولیدیتورهای با توان محاسباتی اندک خواهد بود؛ چراکه این نودهای یاد شده از شانس بسیار کمتری برای دریافت پاداش شبکه برخوردار هستند؛ این در حالیست که در الگوریتم اثبات مشارکت، امکان مشارکت برای کلیه گرهها فراهم بوده و عملا کلیه اعضای شبکه از شانس خوبی برای دریافت پاداش برخوردار هستند. به بیان بهتر، الگوریتم اثبات مشارکت در پی تحقق این آرمان است که هیچ مشارکتی در دنیای کریپتوکارنسی بدون پاداش نماند.
یکی از مسائلی که بر روی قیمت رمزارزهایی نظیر بیت کوین و اتریوم ETH که از الگوریتم PoW و PoS بهره میبرند، به این موضوع مربوط میشود که در الگوریتمهای یاد شده با نوعی همبستگی تصاعدی میان منابع محاسباتی و سرمایهگذاری اقتصادی مواجه هستیم که وجود چنین مسئلهای در نهایت روند حرکتی این شبکههای بلاک چینی را به سمت متمرکز شدن هدایت میکند و ممکن است به دلیل حملات 51 درصدی موجب فروپاشی کامل این شبکهها گردد، امری که در الگوریتم اثبات مشارکت احتمال آن بسیار پایین است.
به هنگامی که از دید تطبیقی و مقایسهای الگوریتم اثبات مشارکت را با سایر الگوریتمهای اجماع موجود مورد بررسی قرار میدهیم، متوجه برخی ویژگیهای متمایز کننده این الگوریتم میشویم که در اصل مزایای استفاده از این الگوریتم در شبکههای بلاک چینی به شمار میروند. بررسی این مزایا برای دستیابی به دیدی روشن از وضعیت الگوریتم اثبات مشارکت چندان خالی از لطف نبوده و در ادامه به مهمترین مزایای این الگوریتم نوظهور میپردازیم:
• برخورداری از سطح امنیتی خوب و متعهد نمودن ولیدیتورها به فعالیت صحیح
• برخورداری از انعطاف بیشتری در مقایسه با سایر پروتکلهای اجماع
• عدم هدر رفت انرژی مصرفی از سوی ولیدیتورها با اتخاذ رویکردی متعادل
اگر مطالعاتی در ارتباط با نحوه عملکرد شبکههای بلاک چینی و اجزای مختلف آن داشته باشید، مطمئنا میدانید که الگوریتم اجماع مانند الگوریتم POW و دیگر الگوریتم ها در اصل همان پروتکلی بوده که وظیفه سنگین حفظ امنیت و نظارت بر فعالیت صحیح نودها را به دوش میکشد و با ضمانت اجراهایی نظیر جریمه اسلشینگ، مانع اعمال خودسرانه نودها در فرآیند تائید تراکنشهای انجام یافته در شبکه میگردد. از همان سالهای اولیه ظهور دنیای کریپتوکارنسی تا به امروز الگوریتمهای اجماع متعددی با هدف جلوگیری از اعمال حملات دابل اسپندینگ طراحی شده و توسعه یافتهاند که یکی از آنها، الگوریتم اثبات مشارکت نام دارد که اخیرا بسیار مورد توجه پروژههای رمزارزی قرار گرفته و به همین علت ما این مقاله از بلاگ کریپتوباز را به بررسی دقیق این الگوریتم اختصاص دادیم.
همان طور که مشاهده کردید، الگوریتم اثبات مشارکت به لحاظ ویژگیهای ذاتی دارای شباهتهایی با الگوریتم اثبات کار بوده و تفاوت اصلی موجود در میان آنها در این نکته خلاصه شده است که در این الگوریتم منحصرا توان محاسباتی نودها ملاک اعطای پاداش شبکه نبوده و خود میزان مشارکت نودها نیز در نظر گرفته میشود تا از این طریق مانع هدر رفت انرژی استفاده شده از سوی ولیدیتورها گردد. ناگفته نماند که اگر در ارتباط با الگوریتم اثبات مشارکت سوالی دارید که به پاسخ آن اشاره نشده است، میتوانید سوال خود را در بخش نظرات مطرح کنید تا کارشناسان ما در اسرع وقت به سوال شما پاسخ دهند.
این الگوریتم نوعی پروتکل اجماع در شبکه بلاک چینی بوده که اساس خود را بر پایه توان محاسباتی و میزان مشارکت نودها طراحی نموده است.
بله، در الگوریتم اثبات مشارکت میزان مشارکت اعتبارسنجها نیز در نظر گرفته میشود.
پروژههایی نظیر ICON Network و iExec از این الگوریتم برای پیشبرد اهداف خود بهره بردهاند.