مفهوم تحمل خطای بیزانس
از زمان معرفی بیت کوین در سال 2008، به عنوان یک سیستم الکترونیکی همتا به همتا، بسیاری از ارزهای دیجیتال دیگر ایجاد شدند که هر کدام مکانیسم خاصی داشتند. اما چیزی که تقریباً در همه ارزهای دیجیتال مشترک است، بلاک چین به عنوان عنصر اصلی معماری آنهاست. به جز چند استثنا، بلاک چین ها عمداً برای غیرمتمرکز شدن طراحی شده اند و به عنوان یک دفتر کل دیجیتال کار می کنند که توسط شبکه توزیع شده ای از نودهای کامپیوتری نگهداری می شود. به همین دلیل، فناوری بلاک چین امکان ایجاد سیستمهای اقتصادی غیرقابل اعتماد را فراهم میآورد که در آن تراکنشهای مالی شفاف و قابل اعتماد بدون نیاز به واسطهها قابل اجرا باشد. ارزهای دیجیتال تاحدودی به عنوان یک جایگزین مناسب برای بانکداری سنتی و سیستم های پرداخت، که به شدت به اعتماد وابسته هستند، پذیرفته شدهاند. درست مانند اکثر سیستمهای محاسباتی توزیعشده، شرکتکنندگان یک شبکه ارزهای دیجیتال باید به طور منظم در مورد وضعیت فعلی بلاک چین به توافق برسند، و این چیزی است که ما آن را دستیابی به اجماع مینامیم. با این حال، دستیابی به اجماع در مورد شبکه های توزیع شده، به روشی ایمن و کارآمد، کار آسانی نیست. بنابراین، اگر برخی از گره ها احتمالاً اشتباه میکنند یا غیر صادقانه عمل می کنند، چگونه یک شبکه توزیع شده از نودهای کامپیوتری می تواند در مورد یک تصمیم توافق کند؟ این پرسش اساسی مسئله ژنرالهای بیزانس نامیده میشود که مفهوم تحمل خطای بیزانس از این مسئله گرفته شده است.
مشکل ژنرال های بیزانس چیست؟
در چند کلمه، مسئله ژنرالهای بیزانس در سال 1982 به عنوان یک معضل منطقی در نظر گرفته شد که نشان میدهد چگونه گروهی از ژنرالهای بیزانس ممکن است هنگام تلاش برای توافق در مورد حرکت بعدی خود، مشکلات ارتباطی داشته باشند. این معضل فرض میکند که هر ژنرال ارتش خاص خود را دارد و هر گروه در مکانهای مختلفی در اطراف شهری که قصد حمله به آن را دارند، قرار دارد. ژنرال ها باید در مورد حمله یا عقب نشینی به توافق برسند. مهم نیست که حمله کنند یا عقب نشینی کنند، تا زمانی که همه ژنرال ها به اجماع برسند، یعنی بر یک تصمیم مشترک توافق کنند تا آن را با هماهنگی اجرا کنند.
بنابراین، ممکن است شرایط زیر را در نظر بگیریم:
- هر ژنرال باید تصمیم بگیرد: حمله یا عقب نشینی (بله یا خیر).
- پس از تصمیم گیری، نمی توان آن را تغییر داد.
- همه ژنرال ها باید روی یک تصمیم به توافق برسند و آن را به صورت هماهنگ اجرا کنند.
مشکلات ارتباطی فوق به این موضوع مربوط می شود که یک ژنرال فقط از طریق پیام هایی که توسط پیک ارسال می شود قادر به برقراری ارتباط با ژنرال دیگر است. در نتیجه، چالش اصلی مشکل ژنرال های بیزانس این است که پیام ها می توانند به نوعی به تأخیر بیفتند، از بین بروند یا گم شوند. علاوه بر این، حتی اگر پیامی با موفقیت تحویل داده شود، یک یا چند ژنرال ممکن است (به هر دلیلی) صادقانه عمل نکنند و پیامی جعلی ارسال کنند تا ژنرالهای دیگر را گیج کنند که منجر به شکست کامل آنها شود.
اگر این مشکل را در زمینه بلاک چین ها اعمال کنیم، هر ژنرال نشان دهنده یک نود شبکه است و گره ها باید در مورد وضعیت فعلی سیستم به اجماع برسند. به عبارت دیگر، اکثریت شرکت کنندگان در یک شبکه توزیع شده باید به توافق برسند و همان اقدام را اجرا کنند تا از شکست آنها جلوگیری کند. بنابراین، تنها راه برای دستیابی به اجماع در این نوع از سیستم های توزیع شده، داشتن حداقل ⅔ یا بیشتر گره های شبکه قابل اعتماد و صادق است. این بدان معنی است که اگر اکثریت شبکه تصمیم بگیرند که به طور مخرب عمل کنند، سیستم در معرض شکست و حملات (مانند حمله 51٪) قرار می گیرد.
تحمل خطای بیزانس (BFT)
در چند کلمه، تحمل خطای بیزانس (BFT) ویژگی سیستمی است که در برابر معضل شکست های ناشی از مسئله ژنرال های بیزانس مقاوم است. این بدان معناست که یک سیستم BFT حتی اگر برخی از نودها از کار بیفتند یا به طور مخرب عمل کنند، میتواند به کار خود ادامه دهد. بیش از یک راه حل ممکن برای مشکل ژنرال های بیزانس و بنابراین راه های متعدد برای ساختن یک سیستم BFT وجود دارد. به همین ترتیب، رویکردهای مختلفی برای یک بلاک چین برای دستیابی به تحمل خطای بیزانس وجود دارد و این ما را به به اصطلاح الگوریتمهای اجماع هدایت میکند.
الگوریتم های اجماع بلاک چین
ما می توانیم یک الگوریتم اجماع را به عنوان مکانیسمی تعریف کنیم که از طریق آن یک شبکه بلاک چین به اجماع می رسد. رایج ترین روشهای اجماع اثبات کار(PoW) و اثبات سهام(PoS) هستند. اما بیایید بیت کوین را به عنوان مثال در نظر بگیریم. در حالی که پروتکل بیت کوین قوانین اولیه سیستم را تجویز می کند، الگوریتم اجماع اثبات کار چیزی است که نحوه رعایت این قوانین را برای دستیابی به اجماع (مثلاً در حین تأیید و اعتبار سنجی تراکنش ها) تعریف می کند.
اگرچه مفهوم اثبات کار قدیمیتر از ارزهای دیجیتال است، اما ساتوشی ناکاموتو نسخه اصلاحشدهای از آن را به عنوان الگوریتمی توسعه داد که امکان ایجاد بیتکوین را به عنوان یک سیستم BFT فراهم کرد. توجه داشته باشید که الگوریتم اثبات سهام (PoW) به طور صددرصدی در برابر خطاهای بیزانس مقاوم نیست، اما به دلیل فرآیند استخراج پر هزینه و تکنیک های رمزنگاری، اثبات کار ثابت کرده است که یکی از امن ترین و قابل اعتمادترین پیاده سازی ها برای شبکه های بلاک چین است. از این نظر، الگوریتم اجماع اثبات کار، طراحی شده توسط ساتوشی ناکاموتو، توسط بسیاری به عنوان یکی از هوشمندانهترین راهحلها برای تحمل خطای بیزانس در نظر گرفته میشود.
سخن نهایی
خطای ژنرال های بیزانس یک معضل جذاب است که در نهایت باعث ایجاد سیستم های BFT شد که به طور گسترده در سناریوهای مختلف به کار گرفته می شوند. فراتر از صنعت بلاک چین، چند مورد استفاده از سیستم های BFT شامل صنایع هوانوردی، فضا و انرژی هسته ای است. در زمینه ارزهای دیجیتال، داشتن یک ارتباط شبکه ای کارآمد همراه با یک مکانیسم اجماع خوب برای هر اکوسیستم بلاک چین حیاتی است. ایمن سازی این سیستم ها یک تلاش مداوم است و الگوریتم های اجماع موجود هنوز بر برخی محدودیت ها (مانند مقیاس پذیری) غلبه نکرده اند. با این وجود، اثبات کار و اثبات سهام رویکردهای بسیار جالبی به عنوان سیستمهای BFT هستند و برنامههای کاربردی بالقوه مطمئناً الهامبخش نوآوری گسترده هستند.
برای مطالعه اخبار مرتبط با رمزارزها در ایران و جهان، وبلاگ و کانال خبری ما را دنبال کنید.