الگوریتم تحمل خطای بیزانس چیست؟ همه چیز درباره الگوریتم pBFT
الگوریتمهای اجماع به عنوان یکی از مهمترین اجزای سیستمهای بلاکچین شناخته میشوند. هدف از ارائه این الگوریتمها کمک به بهبود عملکرد سیستم و جلوگیری از اختلال در شبکه است. در واقع این الگوریتمها به عنوان پایهای برای کاربران شبکه بلاکچین در نظر گرفته میشوند که مزایای بسیار زیادی دارند. الگوریتم تحمل خطای بیزانس (BFT) یک الگوریتم اجماع منحصر به فرد است. این الگوریتمها مجموعهای از قوانین را ایجاد میکنند که طی آن بلاکچین به رایانه ها و افراد کمک میکند که بدون نیاز به اعتماد به یکدیگر درباره مسائل به توافق برسند. در این مقاله به طور کامل بررسی خواهیم کرد که الگوریتم تحمل خطای بیزانس چیست و نحوه عملکرد آن به چه صورت است.
تحمل خطای بیزانس چیست؟
تحمل خطای بیزانس (Byzantine Fault Tolerance) که اصطلاحا BFT نامیده میشود یک الگوریتم در شبکه بلاکچین و ارزهای دیجیتال است. در واقع تحمل خطای بیزانس به توانایی یک سیستم کامپیوتری برای کار در زمانی که تعدادی از مولفههای آن دچار آسیب دیدگی شوند، گفته میشود. این اصطلاح از فرضیهای به نام مشکل ژنرالهای بیزانسی تشکیل شده است.
این مشکل به صورت منطقی شکل میگیرد و مربوط به گروهی از ژنرالهای بیزانسی است. در حقیقت ژنرال بیزانسی یک ارتش بزرگ است که در یک مکان مشخص قرار دارند. این ارتش باید به صورت گروهی تصمیم به حمله یا عقب نشینی بگیرند. اگر ارتش ژنرالها به صورت دسته جمعی تصمیم بگیرند، در فرآیند پیش رو موفق خواهند بود. اما اگر ارتباط میان آنها لطمه دیده باشد، باعث میشود که همه ژنرالها به صورت گروهی عمل نکنند. این مشکل در واقع همان خطای بیزانس است.
تحمل خطای بیزانس برای رسیدن به اجماع (توافق) و محافظت از سیستم در برابر اختلال مورد استفاده قرار میگیرد. در واقع BFT کمک میکند که گرههای آسیب دیده تاثیر زیادی در عملکرد یا تصمیم گیری جمعی نداشته باشند. برای حل مشکل بیزانسی راهحلهای مختلفی وجود دارد و بهترین آنها ساخت یک سیستم BFT قدرتمند است. یک بلاکچین از طریق الگوریتم اجماع به راحتی میتواند به راهکار تحمل خطای بیزانس دست یابد.
BFT چه اهمیتی دارد؟
راهکار BFT مشخصا از اهمیت بالایی برخوردار است چرا که منجر میشود یک سیستم با وجود آسیب دیدگی یکی از اجزا به کار خود ادامه دهد. تمام وسایلی که از سیستم کامپیوتری استفاده میکنند – از جمله هواپیما یا یک جستجوگر فضایی – باید بتوانند زمانی که اجزای آنها به صورت ۱۰۰ درصد در دسترس نیستند، کار کنند. در رابطه با ارزهای دیجیتال، این موضوع از اهمیت بیشتری برخوردار است. تحمل خطای بیزانس یک عنصر حیاتی در شبکه بلاکچین است که تراکنش های ارزهای دیجیتال را مدیریت میکند.
تحمل خطای بیزانسی و بلاکچین
بلاکچین یک فناوری قدرتمند است که بر روی اعتبار سنجی، پردازش و ثبت تراکنشهای ارز دیجیتال نظارت میکند. برای اینکه یک تراکنش با موفقیت انجام شود، باید گرهها (نودها)، معتبر بودن آن را تایید کنند. تمام شبکههای بلاکچین دارای یک الگوریتم اجماع هستند که از قوانین خاصی پیروی میکند. طبق این قوانین، گرهها جزئیات مربوط به تراکنش را بررسی کرده و دست آخر بر سر آنها به توافق میرسند.
این که داخل فناوری بلاکچین، گرههایی وجود داشته باشند که به درستی کار نکنند، امری طبیعی است. ارزهای دیجیتال به صورت غیر متمرکز فعالیت میکنند به همین دلیل با نسخه بزرگی از مشکل خطای بیزانسی روبرو میشوند. در چنین شرایطی استفاده از الگوریتم اجماع میتواند نقش مهمی در تحمل خطای بیزانسی ایفا کند.
بیت کوین جزو ارزهای دیجیتال محبوب در دنیاست که در ابتدا به کمک الگوریتم اجماع اثبات کار قصد برطرف کردن این مشکل را داشت. طبق این الگوریتمها، ماینرها باید معادلات پیچیده را به کمک تجهیزات کامپیوتری خاصی که در اختیار دارند، پردازش و حل کنند. در چارچوب این الگوریتم، اولین ماینری که موفق به برطرف کردن حل این مشکل شود، اجازه پیدا میکند که یک بلوک از تراکنشها و پاداش را به دست آورد. اما اگر دادهها را به صورت صحیح تولید نکند، زمان و انرژی خود را بیهوده تلف کرده است.
نوع دیگری از الگوریتمهای اجماع مربوط به الگوریتم اثبات سهام است. طی این الگوریتم، سرمایه گذاران سرمایه خود را در یک کیف پول قفل میکنند تا حق تایید تراکنشها را داشته باشند. اگر پروتکل مربوطه مشخص کند که شما میتوانید بلاکی را به بلاکچین اضافه کنید، قادر خواهید بود که پاداش دریافت کنید. اما اگر بخواهید تراکنشهای نامعتبر را تایید کنید، بخشی از دارایی خود را از دست خواهید داد.
هر دوی این الگوریتمهای اجماع تا حدودی تحمل خطای بیزانسی را دارند؛ چرا که حتی اگر برخی از گرهها اطلاعات نادرستی را ارسال کنند، قادر هستند که به درستی کار کنند.
تاریخچه الگوریتم PBFT
الگوریتم تحمل خطای بیزانس (PBFT) برای اولین بار در مقالهای که توسط میگل کاسترو و باربارا لیسکوف در سال ۱۹۹۹ نوشته شده بود به دنیا معرفی شد. این الگوریتم نسخه پیشرفتهای از ماشین حالت بیزانسی بود که کارایی بالایی را ارائه میکرد. این الگوریتم قادر بود هزاران درخواست را در ثانیه با افزایش تاخیر زیر میلیثانیه پردازش کند. پس از انتشار الگوریتم pBFT، پروتکلهای BFT بیشتری برای بهبود استحکام و عملکرد معرفی شدند.
پروتکلهای شناخته شدهای که برای تقویت این الگوریتم معرفی شدند شامل Q/U، HQ، Zyzzyva و ABsTRACT میشوند. این پروتکلها با هدف بهبود عملکرد الگوریتم و کاهش هزینهها رونمایی شدند. در کنار این موارد، پروتکلهایی همچون Aardvark و RBFT برای بهبود استحکام و امنیت الگوریتم مطرح شدند. هم اکنون پس از گذشت ۲۲ سال شاهد بهبود عملکرد الگوریتم تحمل خطای بیزانس هستیم.
الگوریتم تحمل خطای بیزانس چیست؟
الگوریتم تحمل خطای بیزانس که اصطلاحا PBFT نامیده میشود، یک سیستم قدرتمند با گره اولیه و گره ثانویه است. این گرهها با یکدیگر کار میکنند تا به اجماع برسند. در واقع فرآیندی که این الگوریتم طی میکند، راهحلی برای برطرف کردن مشکل ژنرالهای بیزانسی است. PBFT کاملا متفاوت با الگوریتم اجماع اثبات کار است و به تصمیم گیری بهتر و یکپارچه سیستم کمک میکند.
در حالت کلی نحوه عملکرد الگوریتم تحمل خطای بیزانس به صورت زیر است:
- ابتدا مشتری درخواستی را به سمت گره اولیه ارسال میکند.
- گره اولیه، درخواست ارسال شده را به گرههای ثانویه انتقال میدهد.
- گرهها درخواستها را پردازش میکنند تا بتوانند خدمات بهتری را به مشتری ارائه دهند و پاسخگوی آن باشند.
- در مرحله آخر مشتری منتظر دریافت پاسخ یکسان از سمت گرهها میماند.
نکته: در الگوریتم تحمل خطای بیزانس، حداکثر تعداد گرههای معیوب و آسیب دیده نمیتواند برابر یا بیشتر از یک سوم کل گرههای سیستم باشد.
مزایا و معایب الگوریتم تحمل خطای بیزانس چیست؟
PBFT الگوریتمی کاربردی و منحصر به فرد است که تحمل خطای بیزانسی را بهینه سازی میکند و روی سیستمهای کامپیوتری از جمله پلتفرمهای بلاکچین پیاده سازی میشود. این الگوریتم مزایا و معایب خاص خود را دارد. شناخت مزایا و معایب الگوریتم تحمل خطای بیزانسی به شما کمک میکند که شناخت بهتری از عملکرد آن داشته باشید. به همین دلیل در این بخش مهمترین مزایا و معایب الگوریتم PBFT را به شما معرفی میکنیم.
مزایای الگوریتم PBFT
الگوریتم PBFT مزایای ارزشمند بسیار زیادی دارد و به همین جهت مورد توجه قرار گرفته است. این مزایا عبارتاند از:
- انجام آسان تراکنشها: مهمترین مزیت این الگوریتم مربوط به تراکنشها است. طبق این الگوریتم تراکنشها بدون تایید چندگانه انجام میشوند. به عبارتی اگر گرهها در مورد یک بلوک از تراکنشها توافق داشته باشند، تراکنش بلافاصله تایید میشود.
- مصرف کم انرژی: برخلاف الگوریتمهای اجماع کار، الگوریتم pBFT به توان محاسباتی یا مصرف انرژی زیادی احتیاج ندارد. این الگوریتمها کاملا با محیط زیست سازگار هستند و نیاز به انرژی زیادی ندارند.
- واریانس پاداش کم: تصمیم گیری در این الگوریتمها به صورت دسته جمعی انجام میشود. لذا هر گره در یک سیستم pBFT با انگیزهای که دارد، واریانس پاداش را برای ماینرها کاهش میدهد.
نقاط ضعف و معایب الگوریتم تحمل خطای بیزانس
الگوریتم تحمل خطای بیزانسی در کنار مزایای زیادی که دارد، دارای یک سری معایب و نقاط ضعف نیز هست. به طور کلی مهمترین معایب این الگوریتم عبارتاند از:
- مقیاسبندی :pBFT این الگوریتم یک راه حل توافقی و منحصر به فرد است که برای گروههای کوچک کاربرد دارد. طبق این الگوریتم هر گره باید با گرههای دیگر صحبت کند تا شبکه را امن کند. این موضوع باعث افزایش هزینههای مربوط به ارتباط میشود و برای شبکههای بزرگ کاربردی نیست.
- آسیبپذیر در برابر حمله Sybil: این الگوریتم در برابر حملاتی که Sybil نامیده میشوند، آسیبپذیر است. طی این حمله تعدادی از گرهها دستگیر شده و امنیت شبکه به خطر میافتد. این موضوع به دلیل مقیاس پذیری pBFT و کوچک بودن شبکه است.
معرفی پلتفرمهایی که نسخههای بهینه شده pBFT را اجرا میکنند
در حال حاضر تعداد پلتفرمهای بلاکچین که از نسخههای بهینه شده الگوریتم pBFT استفاده میکنند، خیلی کم است. این پلتفرمها عبارتاند از:
زیلیکا (Zilliqa)
زیلیکا پلتفرمی قدرتمند و شناخته شده در دنیای ارزهای دیجیتال است که از یک نسخه بهینه شده pBFT استفاده میکند. پلتفرم زیلیکا از این الگوریتم همراه با اجماع PoW در هر ۱۰۰ بلوک استفاده میکند. این پلتفرم برای کاهش هزینههای ارتباطی کلاسیک pBFT از چند امضا استفاده میکنند و در محیطهای آزمایشی خود، به TPS چند هزار نفری رسیده است. تمام این فرآیندها به منظور افزایش گرهها انجام میشود. در حالت کلی پلتفرم زیلیکا به گونهای عمل میکند که گروههای اجماع pBFT به صورت محدود باشند و در عوض مکانیزم زیلیکا بازدهی بیشتری داشته باشد.
هایپرلجر (Hyperledger Fabric)
Hyper ledger یک محیط مشارکتی برای پروژهها و فناوریهای لایه باز است. این پلتفرم توسط بنیاد لینوکس پشتیبانی میشود و برای پیشبرد اهداف خود از نسخه مجاز الگوریتم pBFT استفاده میکند. زنجیرههای مجهز از گروههای اجماع کوچک استفاده میکنند و نیازی به بلاکچینهای عمومی همچون اتریوم ندارند. لذا استفاده از PBFT گزینه مناسبی برای ارائه تراکنشهای با توان عملیاتی بالا در پلتفرم هایپرلجر است.
بهبود شبکه بلاکچین با الگوریتم خطای بیزانس
تحمل خطای بیزانس یکی از موضوعات مهم و تاثیرگذار در دنیای رمزارزها است که نقش زیادی در تغییر رویکردهای اجماع دارد. برنامههای بلاکچین روز به روز در حال پیشرفت است و شاهد بهبود عملکرد این سیستمها هستیم. با این حال، نگرانیهای زیادی در رابطه با خطای بیزانسی وجود دارد. در چنین شرایطی الگوریتم تحمل خطای بیزانسی به عنوان یک راهحل کاربردی در نظر گرفته میشود که کمک میکند با وجود گرههای مخرب در سیستم، شاهد عملکرد عادی آن باشیم. الگوریتم BFT مزایای بسیار زیادی دارد و به کاربران کمک میکند که بتوانند با اطمینان بیشتری سرمایه گذاری کنند.