Byzantine Generals' Problem چیست ؟
فرض کنید چند فرمانده دور از هم باید روی یک تصمیم مشترک توافق کنند، اما پیامها فقط از راه فرستادهها منتقل میشوند و بعضی فرماندهها هم ممکن است اطلاعات غلط بفرستند. Byzantine Generals' Problem یا مسئله ژنرالهای بیزانسی یک مسئله کلاسیک در سیستمهای توزیعشده است: چگونه چند عضو شبکه با وجود خرابی یا رفتار فریبکارانه بعضی اعضا به یک نتیجه مشترک برسند؟
این مسئله فقط یک داستان نظامی نیست؛ برای توضیح یک مشکل واقعی در کامپیوترهای شبکهشده ساخته شده است. اگر هر ماشین پیام متفاوتی ببیند یا بعضی ماشینها عمداً پیام نادرست بفرستند، رسیدن به توافق قابل اعتماد سخت میشود.
در بلاکچین هم نودها باید درباره تاریخچه معتبر شبکه به توافق برسند، حتی وقتی بعضی مشارکتکنندگان آفلاین، خراب یا بدخواهاند. الگوریتمهای Consensus برای مدیریت چنین مسئلههایی طراحی میشوند، هرچند فرضها و روش آنها با هم فرق دارد.
Proof of Work و Proof of Stake را نباید «جواب واحد و مستقیم» این مسئله دانست؛ هرکدام بخشی از طراحی یک سیستم اجماع با مدل امنیتی مخصوص خود هستند.
پس ساده بگوییم: مسئله ژنرالهای بیزانسی میپرسد یک شبکه چگونه بدون اعتماد کامل به همه اعضا، روی یک تصمیم مشترک و قابل اتکا توافق کند.
