بررسی تأثیر مکانیزمهای اجماع بر امنیت بلاکچین
مکانیزمهای اجماع بلاکچین، امنیت و پایداری شبکه را با جلوگیری از حملات و تمرکززدایی تضمین میکنند. در این مقاله، تأثیر مکانیزمهای مختلف مانند PoW، PoS و PoH بر امنیت بلاکچین بررسی میشود.
بهروزرسانی اطلاعات کاربردی در ارتباط با نحوه عملکرد شبکههای بلاک چینی و آشنایی با الگوریتمهای اجماع جدید دنیای کریپتوکارنسی هم برای کاربران و فعالان کهنهکار شبکههای بلاک چینی و هم برای کاربران جدید این دنیای نوظهور به امری ضروری تبدیل شده است؛ چراکه اکوسیستم دنیای کریپتوکارنسی از زمان اولین تراکنش انجام یافته در شبکه بلاک چینی بیت کوین، دستخوش تحولات قابل توجهی شده که به راحتی نمیتوان از کنار آنها عبور کرد. امروزه کلیه کاربرانی که با شبکههای بلاک چینی سروکار دارند، نسبت به اهمیت وجود الگوریتمهای اجماع در تامین امنیت و یکپارچگی شبکه واقف هستند و شاید کمتر فردی را بتوان پیدا کرد که با این مارکت نوظهور در ارتباط بوده؛ اما با سازوکار ولیدیتورها و ماینرها و فرآیندی که این افراد در تائید تراکنشها براساس آن با یکدیگر به اجماع میرسند، آشنا نباشد.
اما شاید این سوال ذهن شما را به خود مشغول سازد که با وجود الگوریتم اجماع امنی همچون الگوریتم اثبات کار (PoW) که مورد استفاده شبکه بیت کوین است؛ چه نیازی به الگوریتمهای اجماع دیگر بود؟ پاسخ این سوال در مسئله مقیاسپذیری این شبکههای بلاک چینی نهفته است و یکی از راهحلهای مفید ارائه شده در این زمینه، استفاده از الگوریتم جدیدی به نام الگوریتم اثبات اعتبار (Proof of Authority) بوده که توجه بسیاری از توسعهدهندگان شبکههای بلاک چینی را به سمت خود جلب کرده است. الگوریتم اثبات اعتبار با توجه به سبقه تاریخی کم خود در مقایسه با سایر الگوریتمهای اجماع، سوالات و ابهامات زیادی را در ذهن کاربران دنیای کریپتوکارنسی ایجاد کرده است و به همین علت ما این مقاله از بلاگ کریپتوباز را به بررسی جامع الگوریتم اثبات اعتبار (PoA) اختصاص دادهایم؛ اگر شما هم در این زمینه کنجکاو هستید، تا انتهای این مطلب با ما همراه باشید.
قبل از آن که بتوانیم مطالبی را در ارتباط با ماهیت، ویژگیها و مزایای الگوریتم اثبات اعتبار بیان کنیم، مقدمتا ضرورت دارد که نگاهی به نقطه شکلگیری این الگوریتم اجماع جدید (در مقایسه با الگوریتمهای PoW و PoS) داشته باشیم تا پس از آن با دیدی روشنتر بتوانید مطالبی که در ادامه به آنها پرداخته خواهد شد را مطالعه نمائید. اگر اتفاقات 24 فوریه سال 2017 را به خاطر داشته باشید، میدانید که شبکه آزمایشی محبوب Ropsten که به شبکه اتریوم تعلق دارد، قربانی یک حمله DOS شده و به دلیل ایجاد ترافیک سنگین ساختگی از سوی مهاجمان برای مدت زمان قابل توجهی از دسترس کاربران خارج گردید. از آنجایی که کارایی اصلی شبکه Ropsten به فراهم کردن بستری امن برای تست قراردادهای هوشمند قبل از اجرای آنها بر روی شبکه اصلی اتریوم اختصاص یافته بود، این حمله ضربه مهلکی را به اعتبار اتریوم وارد ساخت.
در همان سال 2017 گوین وود، یکی از بنیانگذاران شبکه اتریوم و پولکادات، با اعلام این مسئله که پس از شکست سهمگین راپستین، روشن است که ما به یک زیرساخت قابل اطمینانتر نیاز داریم تا به شکل تعاملیتری به رشد برنامههای غیرمتمرکز اتریومی آن هم به شکل فراگیر کمک کنیم، از الگوریتم اجماع جدیدی به نام الگوریتم اجماع اثبات اعتبار (PoA) پرده برداشت. در واقع هدف ابتدائی از شکلگیری الگوریتم اثبات اعتبار در جلوگیری از حملات DOS بر روی شبکه تستی جایگزین به نام Kovan اتریوم نهفته بود؛ اما رفته رفته با روشن شدن قابلیتهای این الگوریتم که استفاده در سیستمهای متنوع نظیر زنجیرههای تامین یکی از آنها بود، رفته رفته نفوذ الگوریتم اثبات اعتبار در دنیای کریپتوکارنسی افزایش یافت.
امروزه بسیاری از شبکههای بلاک چینی نظیر VeChain و PoA Network از این الگوریتم برای دستیابی به اجماع در شبکه خویش بهره میبرند و در عمل میتوان چنین ادعا کرد که الگوریتم اثبات اعتبار یکی از بهترین الگوریتمهای اجماع برای بلاک چینهای خصوصی به شمار میرود؛ چراکه در کنار حفظ تمرکززدایی شبکههای بلاک چینی از مقیاس پذیری قابل قبولی نیز برخوردار است و عملا میتوان با استفاده از الگوریتم اثبات اعتبار، بهرهوری فناوری نوین بلاک چین را افزایش داد.
حال که با تاریخچه شکلگیری الگوریتم اثبات اعتبار بیشتر آشنا شدید، راحتتر میتوانیم در ارتباط با ماهیت این الگوریتم محبوب در دنیای کریپتوکارنسی سخن بگوییم. آیا تاکنون به این مسئله توجه کردهاید که چرا شبکههای بلاک چینی که از الگوریتم اثبات کار استفاده میکنند، دارای عملکرد ضعیفی به لحاظ تعداد تراکنشها در ثانیه (TPS) هستند؟ علت چنین مسئلهای در این واقعیت خلاصه شده است که این شبکههای بلاک چینی برای دستیابی به اجماع و تائید تراکنشها کاملا به نودها و گرههای توزیع شده شبکه متکی بوده و برای تائید یک تراکنش بایستی اکثریت نودها این تراکنش انجام یافته را تائید نمایند. همین روند در الگوریتم اجماع اثبات سهام (PoS) نیز وجود داشته و هرچند که این الگوریتم در مقایسه با الگوریتم PoW عملکرد خوبی را از خود نشان داده است؛ اما این تفاوت عملکردی در مسئله مقیاسپذیری آنچنان چشمگیر نبوده است.
در میان کش و قوسهای الگوریتمهای PoW و PoS، الگوریتم جدیدی به نام الگوریتم اثبات سهام (Proof of Authority) ابداع گردید که به نظر جایگزین خوبی برای دو الگوریتم اجماع یاد شده محسوب میگردد؛ چراکه به لحاظ آماری قادر است پردازش تراکنشهای بیشتری را در ثانیه انجام داده و مقیاسپذیری بهتری را برای شبکههای بلاک چینی به ارمغان آورد. در این الگوریتم، همان طور که از نام آن برمیآید، ارزش خود هویتها روند صعودی به خود گرفته و در واقع ولیدیتورها به جای سپردهگذاری و استیک نمودن کوینها و داراییهای دیجیتالی خویش (نظیر آنچه که در الگوریتم PoS رخ میدهد)، «اعتبار» خویش را سپردهگذاری میکنند! در این الگوریتم اجماع نوین، عملا امنیت شبکههای بلاک چینی از طریق نودهای ولیدیتور قابل اطمینان تامین میگردد.
اجازه دهید نحوه عملکرد و تاثیر الگوریتم اثبات اعتبار را به شکل دیگری بیان کنیم، به نظر شما عایدی این مسئله که شبکه به جامعه محدودی از ولیدیتورهای قابل اطمینان متکی باشد، در چیست؟ مطمئنا پاسخ این سوال در بهرهمندی این شبکه از مقیاسپذیری بالا نهفته است. در این الگوریتم، بلاکها و تراکنشهای انجام یافته در شبکه به وسیله ناظران (Moderators) سیستم که در واقع همان مشارکت کنندگان از پیش تعیین شده هستند، تائید میگردند. از آنجایی که تمرکز الگوریتم اثبات اعتبار بر روی جذب ولیدیتورهای دارای اعتبار بالاست، عملا امکان اخلال در شبکه به دلیل فعالیت مخرب ولیدیتورهایی که رویکرد غیرصادقانه در شبکههای بلاک چینی در پیش گرفتهاند، به حداقل میرسد و از این طریق امنیت شبکه به دلیل مواجهه با بلاکهای جعلی فرو نمیپاشد.
گفته شد که ما در الگوریتم اثبات سهام به جای سپردهگذاری داراییهای دیجیتالی با سپردهگذاری اعتبار افراد مواجه هستیم؛ اما منظور از این «سپردهگذاری اعتبار» چیست که این الگوریتم اعطای کلیدی تائید تراکنشها و ساخت بلاکهای جدید در شبکه را به آن گره زده است؟! معنای اعتبار و هویت در الگوریتم اثبات اعتبار چندان از معنای اصطلاحی این کلمات در دنیای واقعی فاصله نگرفته است و به هنگامی که در این الگوریتم از اعتبار سخن به میان میآید، منظور انطباق هویت ولیدیتور در پلتفرم مورد نظر با اسناد صادر شده از سوی وی میباشد؛ به بیان بهتر، برای آن که به عنوان ولیدیتور در یک شبکه بلاک چینی با الگوریتم PoA فعالیت کنید، باید ثابت نمایید همان شخصی هستید که ادعا میکنید!
اگر نگاهی به الگوریتم اثبات سهام (PoS) داشته باشید، در این صورت متوجه خواهید شد که در الگوریتم اجماع یاد شده، ولیدیتورها قادر هستند از چند هویت و نود برخوردار بوده و همزمان با کلیه این نودها به تائید تراکنشها بپردازند؛ امری که میتواند اعمال مجرمانه را در شبکههای بلاک چینی افزایش دهد ولی در الگوریتم اثبات اعتبار، هر فردی صرفا میتواند با یک هویت و نود فعالیت کند؛ چراکه مقدمه تبدیل شدن به ولیدیتور در این الگوریتم، اثبات هویت است. در سپردهگذاری اعتبار و استیکینگ هویت، کاربر به صورت کاملا داوطلبانه هویت و موجودیت خویش را فاش کرده و از این طریق امتیاز تائید تراکنشها و ایجاد بلاکهای جدید شبکه را دریافت میکند و این بدان معناست که کلیه ولیدیتورهای دیگر تسلط کاملی بر روی اعمال غیرصادقانه وی خواهند داشت.
اما شاید بپرسید که این الگوریتم چگونه از ورود ولیدیتورهای مخرب و اخلالگر جلوگیری به عمل میآورد؟ پاسخ ساده است، در قدم اول مجموعهای از ولیدیتورهای پس از گذراندن مراحل انتخابی سخت، به طور کاملا تصادفی انتخاب میشوند و سپس یک جلسه رایگیری با حضور نودهای با سابقه فعالیتی در شبکه برگزار میشود تا پس از رایگیری نودهای جدید فعالیت خویش را آغاز کنند؛ وجود چنین پروسه دقیقی مطمئنا تاثیر خوبی در کوتاه نمودن دست نودهای مخرب از شبکه بلاک چینی از خود برجای خواهد گذاشت. در اصل پس از افشای هویت و شناختن نود مورد نظر از سوی سایر ولیدیتورها، وظایف این نود جدید تعیین میگردد؛ اما این پایان کار اعتبارسنجی هویت و شهرت این نودهای جدید نبوده و در صورت مشاهده هرگونه اعمال غیرصادقانه از سوی این نود، سیستم به طور کاملا خودکار نسبت به حذف وی از شبکه اقدام خواهد کرد.
بررسی دقیق شرایط و ویژگیهای بنیادی هر ماهیتی در شناخت دقیق آن ماهیت امری غیرقابل اجتناب بوده و شناخت الگوریتم اثبات اعتبار نیز از این قاعده مستثنی نمیباشد. به طور کلی ویژگیهایی که الگوریتم اثبات اعتبار مبتنی بر آنها بنا شده به شرح زیر است:
• افشای هویت واقعی و قابل اعتماد از سوی ولیدیتورهای داوطلب: اصلیترین ویژگی الگوریتم اثبات اعتبار در اثبات هویت ولیدیتورها بوده که چنین مسئلهای شبکه را قادر میسازد تا به راحتی نودهای غیرصادق و اخلالگر را شناسایی کرده و اقدامات امنیتی خوبی را علیه آنها اتخاذ نماید.
• پیچیدگی و دشواری فرآیند ورود به جامعه اعتبارسنجهای شبکه: دو مرحلهای بودن روند انتخاب ولیدیتورها و رایگیری نسبت به اعتبار آنها از سوی نودهای با سابقه فعالیتی بالا در شبکه، موجب میشود تا نودهای بدکار انگیزه کافی برای شرکت در چنین فرآیند و پروسه پیچیدهای را نداشته باشند و عملا فقط افرادی که به دنبال تعهد بلند مدت هستند به سراغ وظیفه ولیدیتوری در چنین شبکههای بلاک چینی بیایند.
• یکسان بودن استاندارد تائید ولیدیتورها: هر چند که میزان اعتبار هر ولیدیتور در یک رنج 0 تا 100 نمرهای مورد ارزیابی قرار میگیرد و هر یک از ولیدیتورها دارای نمرات متفاوتی هستند؛ اما الگوریتم اثبات اعتبار صرفا از یک روش ثابت و مشخص در انتخاب کلیه داوطلبان کمک میگیرد.
الگوریتم اثبات اعتبار نیز دارای مزایا و معایب خاصی است که مطمئنا بررسی آنها در شناخت بهتر این الگوریتم نوظهور خالی از لطف نخواهد بود. مزایا و معایب اصلی که شبکههای بلاک چینی به هنگام استفاده از الگوریتم اثبات اعتبار از آن برخوردار خواهند شد، به شرح زیر است:
در انتخاب هر چیزی توجه به مزایای آن امری مهم بوده و توسعهدهندگان الگوریتم اثبات اعتبار کاملا نسبت به این واقعیت واقف بودهاند و به همین علت این الگوریتم اجماع را به گونهای طراحی نمودهاند تا در حد امکان، کاستیهای موجود در الگوریتمهای اجماع موجود در دنیای کریپتو را پوشش دهد. مزایای اصلی الگوریتم اثبات اعتبار، عبارتند از:
• عدم نیاز به تجهیزات سختافزاری: تهیه تجهیزات سختافزاری بهروز متناسب با میزان سختی شبکه، مصرف بیرویه انرژی و بالا رفتن هزینه ماین همواره یکی از مشکلاتی بوده که ماینرهای شبکههای بلاک چینی که از الگوریتم PoW بهره میبرند، با آنها مواجه هستند. نیاز به تهیه چنین تجهیزاتی در این واقعیت ریشه دارد که در الگوریتم PoW اعتبارسنجها باید به حل مسائل پیچیده ریاضی بپردازند، امری که لزوما در الگوریتم اثبات اعتبار هیچ نیازی به آن نداریم.
• فائق آمدن بر احتمال حملات 51 درصدی شبکه: الگوریتمهای PoW و PoS به دلیل برخی ویژگیهای ذاتی خویش غالبا در برابر حملات 51 درصدی آسیبپذیری هستند و یک اعتبارسنج مخرب ممکن است با به دست گرفتن قدرت 51 درصدی شبکه، آن را به ورطه نابودی بکشاند، مسئلهای که در الگوریتم اثبات اعتبار حتی قابل فرض هم نیست! علت چنین حقیقتی در این نکته نهفته است که هر ولیدیتور صرفا دارای یک هویت و نود است و با توجه به شرط مقدماتی افشای هویت و اثبات اعتبار عملا امکان به دست گرفتن 51 درصد از قدرت شبکه بلاک چینی وجود ندارد.
• فراهم نمودن شرایطی برای مقیاسپذیری بهتر شبکه: در الگوریتم اثبات اعتبار از یک توالی قابل پیشبینی متناسب با تعداد ولیدیتورها برای ساخت بلاکهای جدید شبکه استفاده میکند و این مسئله به ارتقا تعداد پردازش تراکنشهای انجام یافته در شبکه به صورت ثانیهای منجر شده است که چنین امری مسلما نتیجهای جز فراهم کردن مقیاسپذیری بهبودیافته برای شبکههای بلاک چینی نخواهد داشت.
بیشتربخوانید: ریسک اسلشینگ چیست؟
در کنار مزایای بسیار زیادی که الگوریتم اثبات اعتبار برای مارکت ارز دیجیتال به ارمغان آورده است، این الگوریتم نیز دارای معایبی بوده که از مهمترین آنها میتوان به موارد زیر اشاره کرد:
• آسیبپذیری: هر الگوریتم اجماعی حتما باید یک پلن B برای زمانی که یک نود مخرب به لیست ولیدیتورهای شبکه اضافه شده است، داشته باشد تا بتواند به دفاع در برابر حملات اسپم این ولیدیتورهای بدکار بپردازد. در الگوریتم اثبات اعتبار برای چنین زمانهایی این پلن در نظر گرفته شده است که ولیدیتور مورد نظر صرفا قادر باشد به جای اعتبارسنجی چندین بلاک متوالی صرفا یک بلاک را امضا کند. چنین رویکردی هرچند خسارات وارده به شبکه را به شدت کاهش میدهد؛ اما همان طور که اشاره شد، صرفا «کاهش میدهد» ریشه کن نمیکند!
• تمرکزگرایی: متاسفانه در این الگوریتم عمده توجه در تامین امنیت و مقیاسپذیری شبکه بوده و آن طور که باید به ویژگی عدم تمرکز که قلب تپنده شبکههای بلاک چینی محسوب میشود، توجه نشده است و به نظر میرسد که استفاده از چنین الگوریتمهایی برای سیستمهای متمرکز دارای کارایی بیشتری باشد تا شبکههای غیرمتمرکز!
• احتمال خرابکاری از طریق دستکاری اطلاعات نودها: پیش شرط تبدیل شدن به یک نود و ولیدیتور در الگوریتم اثبات اعتبار، افشای هویت و قابل مشاهده بودن این اطلاعات برای کلیه افراد است؛ حال تصور کنید که یک مهاجم کامپیوتری قصد اخلال در شبکه PoA را از طریق تاثیرگذاری بر روی یک ولیدیتور مشخص را داشته باشد و از این طریق عملکرد صادقانه وی را تحت تاثیر بگذارد و عملا یک اخلال امنیتی در شبکه بلاک چینی ایجاد نماید، آیا نمیتواند؟!
با توجه به تاثیرات مثبتی که الگوریتم اثبات اعتبار بر روی مقیاسپذیری شبکههای بلاک چینی داشته است، ما این مقاله از بلاگ کریپتوباز را به بررسی تخصصی مفهوم و ویژگیهای ذاتی این الگوریتم محبوب اختصاص دادیم تا کاربران از سیر روند تحولات رخ داده در دنیای کریپتوکارنسی عقب نمانند و همان طور که در مطالب فوق مشاهده کردید، ولیدیتورها در الگوریتم اثبات اعتبار به جای خرید تجهیزات سختافزاری برای حل مسائل پیچیده ریاضی یا استیک و سپردهگذاری داراییهای دیجیتالی خویش به سپردهگذاری اعتبار و هویت خود میپردازند و از طریق افشای اطلاعات هویتی و اثبات این که واقعا همان فردی هستند که ادعا میکنند، مجوز فعالیت به عنوان اعتبارسنج در شبکههای بلاک چینی را دریافت میکنند و مقیاسپذیری خوبی را برای این شبکهها به ارمغان میآورند. ناگفته نماند که اگر در ارتباط با ماهیت و چیستی الگوریتم اثبات اعتبار سوالی دارید که به پاسخ آن در مطالب فوق اشارهای نشده است، میتوانید سوال خود را در بخش نظرات مطرح کنید تا کارشناسان ما در اسرع وقت به سوال شما پاسخ دهند.
سیستمی برای دستیابی به اجماع در شبکههای بلاک چینی بوده که ولیدیتورها در آن به سپردهگذاری اعتبار خویش میپردازند.
خیر، برعکس آنچه در الگوریتم PoW با آن مواجه هستیم این الگوریتم نیازی به هیچ توان محاسباتی خاصی ندارد.
این الگوریتم عملکرد خوبی در زمینه امنیت و مقیاسپذیری از خود نشان داده است؛ اما در زمینه تمرکززدایی چندان نتوانسته است به نمره خوبی دست پیدا کند.