الگوریم تحمل خطای بیزانسی عملی ‏(PBFT) چیست؟


ماهان سرجوقیان 28 آبان 1401 دقیقه مطالعه
الگوریم تحمل خطای بیزانسی عملی ‏(PBFT) چیست؟

فهرست محتوا

با توسعه مداوم فناوری بلاک چین، سناریوهای کاربردی بلاک چین اتحاد نیز در حال افزایش است. الگوریتم اجماع می تواند به اجماع توزیع شده بین گره ها در شبکه دست یابد. در حال حاضر، الگوریتم اجماع عملی الگوریتم تحمل خطا بیزانسی (PBFT) که معمولاً در بلاک چین اتحاد استفاده می‌شود، به همه گره‌های شبکه نیاز دارد تا در فرآیند اجماع شرکت کنند. آزمایش‌ها نشان می‌دهند که وقتی تعداد گره‌های اجماع در سیستم از 100 بیشتر شود، مصرف پهنای باند و تأخیر اجماع بسیار افزایش می‌یابد و در نتیجه امکان اعمال PBFT وجود ندارد. نحوه بهبود عملکرد بلاک چین های اتحاد به صورت ایمن و کارآمد به یک مشکل فوری تبدیل شده است که در حال حاضر باید حل شود. ‏PBFT که معمولاً در بلاک چین‌های اتحاد استفاده می‌شود، مشکلاتی مانند انتخاب ساده گره‌های اصلی و ناتوانی در گسترش و خروج از گره‌ها دارد. یک الگوریتم بهبود یافته tPBFT (الگوریتم بیزانسی عملی مبتنی بر اعتماد) که برای سناریوهای معاملاتی با فرکانس بالا زنجیره‌های کنسرسیوم مناسب است وجود دارد که با معرفی مکانیزم امتیازدهی ارزش سهام اعتماد بین گره ها در شبکه، لیست گره های اجماع را می توان به صورت پویا تنظیم کرد. ‏ tPBFT مرحله پیش آماده سازی فرآیند توافق PBFT را ساده می کند و تأیید لیست تراکنش هش را در مرحله پاسخ محقق می کند و در نتیجه تعامل بین گره های شبکه را کاهش می دهد. تجزیه و تحلیل نظری و آزمایش‌ها نشان می‌دهد که وقتی تعداد گره‌ها در شبکه بیشتر از 30 باشد، با افزایش بیشتر تعداد گره‌ها، الگوریتم tPBFT بهبودیافته عملکرد نسبتاً بالایی از نظر سربار ارتباط گره، کارایی اجماع و مقیاس‌پذیری بهتر دارد.

PBFT

PBFT

از آنجایی که فناوری بلاک چین دارای ویژگی های تمرکززدایی، امنیت داده ها و ضد دستکاری داده ها است، ارزش کاربردی آن به طور فزاینده ای برجسته می شود. در سال‌های اخیر، زمینه‌های کاربردی بلاک چین نه تنها شامل نظارت دولت، امور مالی، حفاظت از حق چاپ، زنجیره تامین، عدالت و سایر زمینه‌ها می‌شود، بلکه فرصت‌های توسعه جدیدی را برای زمینه‌های خدمات عمومی مانند بازیابی منابع تجدیدپذیر و تجارت کربن به ارمغان می‌آورد. ظهور Ethereum، superledgers، و دیگر پلتفرم‌ها باعث توسعه سریع فناوری بلاک چین شده است. با این حال، در حال حاضر، الگوریتم‌های اجماع بلاکچین موجود مشکلات مصرف بیش از حد منابع و تأخیر زیاد در تأیید تراکنش‌ها را دارند. با توجه به نیازهای توسعه فعلی و آینده، بهبود کارایی اجماع در بلاک چین گام کلیدی برای تحقق کاربرد و ارتقای آن است. در بلاک چین اتحاد، تحمل خطای بیزانسی عملی (PBFT) و Replicated And Fault Tolerant (raft) به طور گسترده به عنوان الگوریتم‌های اجماع استفاده می‌شوند. ‏PBFT سنتی دارای معایبی است، مانند راندمان پایین و عملکرد عملی پایین. همچنین اگرچه الگوریتم raft کارآمد است، اما نمی تواند از گره های مخرب جلوگیری کند. ‏PBFT پشتیبانی از تحمل خطای بیزانسی برای بهبود مستمر سرعت و عملکرد تراکنش تحت شرایط تضمین امنیت بهینه شده است. ‏ PBFT اجرای صحیح اجماع را در زمانی که گره خطا از کل گره شبکه تجاوز نمی‌کند اجازه می‌دهد. پیچیدگی پروتکل سنتی بیزانس از سطح نمایی به سطح چند جمله ای کاهش می یابد، که استفاده از الگوریتم تحمل خطا بیزانس را در زنجیره های اتحاد ممکن می سازد. نقش گره ها به عنوان گره های اصلی، گره های مطیع و کلاینت ها تعریف می شوند. در ابتدا، گره اصلی توسط الگوریتم به طور تصادفی انتخاب می شود. بعداً، پس از فرآیند تغییر دیدگاه، گره های مطیع به مرور به عنوان گره اصلی انتخاب می شوند. 

ادامه مطلب
آیا می توان بیش از یک متاورس وجود داشت؟

مراحل الگوریتم تحمل خطای بیزانسی عملی:

پروتکل اجماع (فرایند اجماع) الگوریتم سنتی PBFT عمدتاً شامل پنج مرحله ارتباطی زیر است:مراحل: درخواست، پیش آماده سازی، آماده سازی، تعهد و پاسخ. زمانی که یک تراکنش باید در مرحله درخواست روی بلاک چین نوشته شود، مشتری درخواستی را به گره اصلی ارسال می کند. در مرحله آماده سازی، گره اصلی درخواست را به گره مطیع، ارسال می کند. گره و تایید کننده در مرحله آماده سازی، هر گره‌مطیع پیام دریافتی خود را به سایر گره ها ارسال می کند. در مرحله commit، هر گره یک پیام commit را پخش می کند و درخواست های موجود در لیست تراکنش ها را اجرا می کند. پس از بررسی درخواست ها در لیست تراکنش ها، در مرحله پاسخ نهایی، گره نتیجه پاسخ به درخواست مشتری را برای مشتری ارسال می کند. هنگامی که مشتری پاسخ‌های یکسان F + 1 را دریافت می‌کند (F حداکثر تعداد گره‌های تحمل‌کننده خطا PBFT است) نتیجه ، توافق حاصل از همه گره‌ها در سیستم بلاک چین است. الگوریتم PBFT می تواند مشکل کلیات بیزانسی را حل کند، و حتی اگر تعداد معینی گره بیزانسی (گره های مخرب) وجود داشته باشد، باز هم می توان بین گره های توزیع شده به اجماع رسید.  با این حال، این الگوریتم به همه گره‌های شبکه نیاز دارد تا در فرآیند اجماع شرکت کنند. هنگامی که تعداد گره‌های اجماع در سیستم افزایش می‌یابد، مصرف پهنای باند و تأخیر اجماع بسیار افزایش می‌یابد، بنابراین مقیاس خوشه اجماع به عامل اصلی محدودکننده عملکرد الگوریتم PBFT تبدیل می‌شود.

PBFT

PBFT

در حال حاضر برخی از محققان الگوریتم PBFT را مورد مطالعه قرار داده اند و عملکرد الگوریتم PBFT پیاده سازی شده توسط hyperledger fabric را ارزیابی کردند، که نشان می دهد که کارایی اجماع زمانی خوب است که تعداد گره ها در شبکه کم باشد، اما عملکرد آن به شدت با افزایش تعداد گره ها در شبکه کاهش می یابد. در حال حاضر، بهینه‌سازی الگوریتم PBFT عمدتاً دارای دو جنبه است: یکی کنترل تعداد گره‌های شرکت‌کننده در اجماع، و دیگری بهینه‌سازی فرآیند.  ‏Gan Jun یک الگوریتم اجماع PBFT بهبود یافته را پیشنهاد کرد که به گره‌ها اجازه می‌دهد به صورت پویا با تنظیم چرخه عمر گره بپیوندند و از آن خارج شوند و روش انتخاب گره اصلی PBFT را از طریق طولانی‌ترین اصل زنجیره بهبود می‌بخشد، اما فقط می‌توان آن را در صحنه‌هایی با گره‌های کمی اعمال کرد. Yanjun Jiang و سایر نویسندگان یک تحمل خطای بیزانسی با کارایی بالا و مقیاس پذیر (HSBFT) را پیشنهاد کردند. ابتدا، الگوریتم فرآیند ارتباط PBFT را برای کاهش پیچیدگی آن از O(N2) به O(N) بهینه می کند. در همان زمان، برای اینکه الگوریتم به صورت پویا تعداد گره ها را در زمان اجرا تغییر دهد، الگوریتم جدول حالت گره (NST)19 را معرفی می کند اما تمرکززدایی را کاهش می دهد.  علاوه بر این، Hao، X و دیگران نیز پایداری PBFT را بهینه کرده اند. این طرح پیوستن و خروج پویا گره ها را در خوشه متوجه می شود، اما گره مدیریت متمرکز CA21 را نیز معرفی می کند. این ویژگی چند مرکزی بلاک چین خلاف است و دارای خطرات امنیتی است. 

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

نمونه ای از الگوریتم تحمل خطای بیزانسی عملی (PBFT)

  ارزدیجیتال زیلیکا (Zilliqa) از الگوریتم تحمل خطای بیزانسی عملی ‏ (Practical Byzantine Fault Tolerance) استفاده می کند. برای خرید ارزدیجیتال زیلیکا هم به وسیله خرید تتر و هم از طریق خرید به صورت ریالی می توانید از طریق سایت و اپلیکیشن صرافی ارزدیجیتال اقدام‌کنید.

Share this...
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
برچسب‌ها :

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

Rating*