ساختار بلاک چین به رایانه ها و اشخاص این امکان را میدهد که بدون نیاز به تایید هویت یکدیگر، برای تبادل رمز ارز ها توافق کنند. تحمل خطای بیزانسی (BFT) یکی از نوآوری های اساسی به وجود آوردن نظام مندی یا پروتکلهای اجماع در ساختار بلاک چین می باشد.
پیش آن که در مورد مفهوم تحمل خطای بیزانس صحبت کنیم، باید تعاریف همتایان یا نظیرها، گرهها و اجماع را بدانیم و سپس ارتباط تحمل خطای بیزانس با این مفاهیم را بررسی می کنیم.
همتایان (peers) و گرهها (nodes)
در اکثر بلاک چین ها یا شبکه ارزهای دیجیتال از میزان دسترسی و امکانات مشابه ای برخوردار هستند. ارتباط کاربران معمولا بدون واسطه و نظارت و مستقیم است. به هر یک از کامپیتور های فعال در این ساختار شبکه ای نظیر، همتا و یا گره گفته می شود. در یک ساختار کاملا غیرمتمرکز، تمامی نظیر ها یا گره ها از قدرت و توان و امکانات یکسان برخوردار هستند. و در عمل به معنی عدم وجود مدیریت و نظارت برای اجرای قوانین و جلوگیری از بی قانونی ها در شبکه است. در عوض، شبکه فقط هنگامی اجازه توافق و تبادل به دو گره را می دهد که از پروتکل یکسان شبکه پیروی کنند.
اجماع (consensus)
اجماع به معنی توافق کلی همگانی است. یکی از سخت ترین فرآیند ها در یک شبکه غیر متمرکز رسیدن به اجماع است. برای این که شبکه عملکرد صحیح خود را ادامه دهد، بیشتر گرهها باید در مورد پیروی از پروتکل توافق داشته باشند. فقط یک بار توافق کافی نبوده و گره ها باید در فواصل زمانی مشخص توافق را تکرار کنند. نکته مشکل زا این است که بعضی از گره ها ممکن است خراب شوند یا رفتار های مخرب انجام دهند و برخی همیشه بنای مخالف با توافق را دارند. پس ساختار باید به شکلی طراحی گردد که با این وجود این مشکلات همچنان فعال بماند.
تحمل خطای بیزانس
ساختاری که بتواند تا وقتی که دو سوم از گره ها توافق کرده و یا به توافق برسند، به درستی عمل کند دارای تحمل خطای بیزانسی می باشد. BFT ویژگی شبکه ای است که بتواند در برابر خرابی یا رفتار های مضر یک سوم از گرههای موجود مقاومت کند.
همه بلاک چین یا شبکه های غیرمتمرکز بر اساس پروتکلها یا قوانین اجماعی اجرا میشوند که همه گرههای بلاک چین برای مشارکت باید از آنها پیروی کنند. پروتکلهای اجماع ( اثبات کار و اثبات سهام ) دارای ویژگی تحمل خطای بیزانس هستند. بنابراین میتوانند در برابر اقدام خرابکارانه یک سوم از گرهها از شبکه محافظت کنند.
منشا تحمل خطای بیزانس
معمای ژنرال های بیزانس در ۱۹۸۲ به وسیله لزلی لمپورت، رابرت شوستاک و مارشال پی مطرح شد. این معما اساس مفهوم تحمل خطای بیزانس را شکل داد.
مساله ژنرال بیزانس (Byzantine General’s Problem)
این یک معمای فکری منطقی است که در آن تعدادی ژنرال که باید به یک شهر حمله کنند وجود دارند.
- ژنرال ها در نقاط مختلفی قرار گرفته اند و تنها از طریق پیک های پیام می توانند با یکدیگر ارتباط برقرار کنند که میزان پیام هم محدود است.
- موفقیت در حمله یا عقب نشینی آنها بستگی به هماهنگی کامل بین آنها دارد.
- اگر همگی همزمان حمله کنند موفق می شوند و اگر همگی همزمان عقب نشینی کنند بدون آسیب خواهند ماند.
- نکته اصلی اینجاست که بعضی از آنها بی وفا هستند و تلاش دارند ژنرالهای دیگر را گیج کنند.
سوال اصلی اینجاست: در چه صورتی بین همه ژنرالها حتی با وجود خیانت و فریب برای انجام یک کار یکسان توافق برقرار می شود؟
نکته مهم درباره تحمل خطای بیزانس
پروتکل اجماع از قانون تحمل خطای بیزانس پیروی می کند که حتی با وجود اختلاف دیدگاه بین نظیر ها یا گره ها ، هنوز هم میتواند هماهنگ عمل کند. این ساختار ها در اغلب اوقات قادر هستند به توافق دست پیدا کنند. این برای بلاکچین های غیرمتمرکز مانند اتریوم یا بیت کوین ضروری است. استفاده از اثبات کار در شبکه بیت کوین یکی از ابداعات مهم ساتوشی بود. با داشتن قابلیت BFT، بیت کوین در برابر مخاطرات ناشی از یک سوم گره های شبکه مقاوم می شود.
مرسوم ترین پروتکلهای اجماع که در شبکههای بلاک چین ( اثبات کار، اثبات سهام و اثبات اقتدار ) استفاده می شود دارای ویژگی BFT می باشند.
در آینده نیز مفهوم BFT همچنان نقش ستون اصلی را در بلاکچین خواهد داشت.