Byzantine Generals’ Problem
Byzantine Generals’ Problem چیست؟
Byzantine Generals’ Problem یک آزمایش فکری است که به یک سوال کلیدی علم کامپیوتر می پردازد: آیا می توان در یک شبکه کامپیوتری متشکل از Node های مستقل و از نظر جغرافیایی توزیع شده، اجماع ایجاد کرد؟
این مشکل در سال 1982 توسط محققان موسسه تحقیقات بین المللی SRI پیشنهاد شد.
در ادامه آمده است: تعدادی از سرداران Byzantine در محاصره شهری هستند. آنها فقط می توانند از طریق ارسال پیام رسان به یکدیگر ارتباط برقرار کنند. ژنرال ها باید بر سر یک برنامه اقدام مشترک به توافق برسند: حمله به شهر یا عقب نشینی. با این حال، برخی از ژنرال ها خائن هستند و فعالانه علیه ایجاد اجماع تلاش می کنند. تعداد و هویت آنها مشخص نیست.
سوال مطرح شده توسط مشکل این است که ژنرال ها باید از چه الگوریتم تصمیم گیری برای طراحی یک برنامه مشترک بدون توجه به دخالت خائنان استفاده کنند و اینکه آیا چنین الگوریتمی اصلا وجود دارد یا خیر.
بر اساس تحلیل خود محققین، چنین سیستمی واقعاً امکان پذیر است، اما تعداد ژنرال های وفادار باید به شدت از دو سوم تجاوز کند. مثلاً در شرایطی با سه ژنرال که یکی از آنها خیانتکار است، وفاداران هرگز نمی توانند تضمین کنند که بتوانند به اجماع برسند.
این مشکل برای ارزهای رمزنگاری شده بسیار مرتبط است، زیرا آنها در اصل، سیستم های کامپیوتری توزیع شده هستند. آنها از Node های پردازش تراکنش تشکیل شده اند که مستقل از یکدیگر و هر یک مرجع مرکزی هستند و فقط می توانند از راه دور ارتباط برقرار کنند. آنها «generals» هستند که باید درباره اینکه کدام تراکنش ها و چه زمانی انجام شده است، به اجماع برسند.
Node ها پتانسیل ارائه داده های معیوب در مورد تراکنش ها را به صورت انتخابی یا تصادفی دارند و اطلاعات آنها باید مرتب شود. بیت کوین (BTC) و سایر ارزهای دیجیتال این مشکل را از طریق راه حل های فنی مانند الگوریتم های POW و POS حل می کنند.