0

تحمل گسل بیزانس (Byzantine Fault Tolerance) چیست؟

تحمل گسل بیزانس Byzantine Fault Tolerance

از زمان شروع بیت کوین در سال 2008، به عنوان یک سیستم نقدی الکترونیکی همتا به همتا، بسیاری از ارزهای دیجیتال دیگر ایجاد شدند که هر کدام مکانیسم خاصی داشتند. اما چیزی که تقریباً در همه ارزهای دیجیتال مشترک است، بلاکچین به عنوان عنصر اصلی معماری آنهاست. به جز چند استثنا، بلاکچین‌ها عمداً برای غیرمتمرکز شدن طراحی شده اند و به عنوان یک دفتر کل دیجیتالی کار می‌کنند که توسط یک شبکه توزیع‌شده از گره‌های کامپیوتری نگهداری می‌شود. به همین دلیل، فناوری بلاکچین امکان ایجاد سیستم‌های اقتصادی غیرقابل اعتماد را فراهم کرد که در آن تراکنش‌های مالی شفاف و قابل اعتماد بدون نیاز به واسطه‌ها قابل اجرا باشد.

ارزهای رمزپایه به عنوان یک جایگزین مناسب برای بانکداری سنتی و سیستم های پرداخت، که به شدت به اعتماد وابسته هستند، پذیرفته می‌شوند. درست مانند اکثر سیستم‌های محاسباتی توزیع‌شده، شرکت‌کنندگان یک شبکه ارزهای دیجیتال باید به طور منظم در مورد وضعیت فعلی بلاکچین به توافق برسند و این چیزی است که ما آن را دستیابی به اجماع می‌نامیم. با این حال، دستیابی به اجماع در مورد شبکه های توزیع شده، به روشی ایمن و کارآمد، کار آسانی نیست. بنابراین، اگر برخی از گره‌ها احتمالاً شکست می‌خورند یا ناصادقانه عمل می‌کنند، چگونه یک شبکه توزیع‌شده از گره‌های کامپیوتری می‌تواند روی یک تصمیم توافق کند؟ این پرسش اساسی مسئله ژنرال‌های بیزانسی نامیده می‌شود که مفهوم تحمل خطای بیزانسی را به وجود آورد.

مشکل ژنرال‌های بیزانس چیست؟

در چند کلمه، مشکل ژنرال‌های بیزانسی در سال 1982 به عنوان یک معضل منطقی در نظر گرفته شد که نشان می‌دهد چگونه گروهی از ژنرال های بیزانسی ممکن است هنگام تلاش برای توافق در مورد حرکت بعدی خود، مشکلات ارتباطی داشته باشند. این معضل فرض می‌کند که هر ژنرال ارتش خاص خود را دارد و هر گروه در مکان‌های مختلفی در اطراف شهری قرار دارد که قصد حمله به آن را دارند. ژنرال‌ها باید در مورد حمله یا عقب نشینی به توافق برسند. مهم نیست که حمله کنند یا عقب نشینی کنند، تا زمانی که همه ژنرال‌ها به اجماع برسند، یعنی بر یک تصمیم مشترک توافق کنند تا آن را با هماهنگی اجرا کنند. بنابراین، ممکن است شرایط زیر را در نظر بگیریم: هر ژنرال باید تصمیم بگیرد: حمله یا عقب نشینی (بله یا خیر). پس از تصمیم گیری، نمی‌توان آن را تغییر داد. همه ژنرال‌ها باید روی یک تصمیم به توافق برسند و آن را به صورت هماهنگ اجرا کنند.

مشکلات ارتباطی فوق به این موضوع مربوط می‌شود که یک ژنرال فقط از طریق پیام هایی که توسط پیک ارسال می شود قادر به برقراری ارتباط با ژنرال دیگر است. در نتیجه، چالش اصلی مشکل ژنرال‌های بیزانسی این است که پیام‌ها می‌توانند به نوعی به تأخیر بیفتند، نابود شوند یا گم شوند. بعلاوه، حتی اگر پیامی با موفقیت تحویل داده شود، یک یا چند ژنرال ممکن است (به هر دلیلی) بدخواهانه عمل کنند و پیامی جعلی ارسال کنند تا ژنرال های دیگر را گیج کنند که منجر به شکست کامل شود. اگر این معضل را در زمینه بلاک چین ها اعمال کنیم، هر کلی نشان دهنده یک گره شبکه است و گره ها باید در مورد وضعیت فعلی سیستم به اجماع برسند. به عبارت دیگر، اکثر شرکت‌کنندگان در یک شبکه توزیع شده باید به توافق برسند و همان اقدام را اجرا کنند تا از شکست کامل جلوگیری شود.

بنابراین، تنها راه برای دستیابی به اجماع در این نوع سیستم‌های توزیع شده، داشتن حداقل ⅔ یا بیشتر گره های شبکه قابل اعتماد و صادق است. این بدان معنی است که اگر اکثریت شبکه تصمیم بگیرند که به طور مخرب عمل کنند، سیستم در معرض شکست و حملات (مانند حمله 51٪) قرار می‌گیرد.

تحمل گسل بیزانس (BFT)

در چند کلمه، تحمل خطای بیزانس (BFT) ویژگی سیستمی است که قادر به مقاومت در برابر کلاس شکست های ناشی از مسئله ژنرال‌های بیزانس است. این بدان معناست که یک سیستم BFT می‌تواند به کار خود ادامه دهد حتی اگر برخی از گره‌ها از کار بیفتند یا به طور مخرب عمل کنند. بیش از یک راه حل ممکن برای مشکل ژنرال‌های بیزانسی و بنابراین راه‌های متعدد برای ساختن یک سیستم BFT وجود دارد. به همین ترتیب، رویکردهای مختلفی برای یک بلاکچین برای دستیابی به تحمل خطای بیزانسی وجود دارد و این ما را به به اصطلاح الگوریتم‌های اجماع هدایت می‌کند.

الگوریتم های اجماع بلاک چین

ما می‌توانیم یک الگوریتم اجماع را به عنوان مکانیزمی تعریف کنیم که از طریق آن یک شبکه بلاکچین به اجماع می رسد. رایج‌ترین پیاده سازی‌ها Proof of Work (PoW) و Proof of Stake (PoS) هستند. اما بیایید مورد بیت کوین را به عنوان مثال در نظر بگیریم. در حالی که پروتکل بیت کوین قوانین اولیه سیستم را تجویز می کند، الگوریتم اجماع PoW چیزی است که نحوه رعایت این قوانین را برای دستیابی به اجماع (مثلاً در حین تأیید و اعتبار سنجی تراکنش ها) تعریف می کند. اگرچه مفهوم اثبات کار قدیمی‌تر از ارزهای دیجیتال است، اما ساتوشی ناکاموتو نسخه اصلاح‌شده‌ای از آن را به عنوان الگوریتمی توسعه داد که امکان ایجاد بیت‌کوین را به عنوان یک سیستم BFT فراهم کرد.

توجه داشته باشید که الگوریتم PoW 100٪ در برابر خطاهای بیزانسی تحمل نمی کند، اما به دلیل فرآیند استخراج پر هزینه و تکنیک های رمزنگاری زیربنایی، PoW ثابت کرده است که یکی از امن‌ترین و قابل اعتمادترین پیاده سازی‌ها برای شبکه‌های بلاکچین است. از این نظر، الگوریتم اجماع اثبات کار، طراحی شده توسط ساتوشی ناکاموتو، توسط بسیاری به عنوان یکی از نابغه‌ترین راه حل‌ها برای گسل‌های بیزانسی در نظر گرفته می‌شود.

نتیجه گیری

مشکل ژنرال‌های بیزانسی یک معضل جذاب است که در نهایت منجر به ایجاد سیستم‌های BFT شد که به طور گسترده در سناریوهای مختلف استفاده می‌شود. فراتر از صنعت بلاکچین، چند مورد استفاده از سیستم های BFT شامل صنایع هوانوردی، فضا و انرژی هسته ای است. در زمینه ارزهای دیجیتال، داشتن یک ارتباط شبکه کارآمد به همراه یک مکانیسم اجماع خوب برای هر اکوسیستم بلاکچین حیاتی است. ایمن سازی این سیستم‌ها یک تلاش مداوم است و الگوریتم های اجماع موجود هنوز بر برخی محدودیت‌ها (مانند مقیاس پذیری) غلبه نکرده‌اند. با این وجود، PoW و PoS رویکردهای بسیار جالبی به عنوان سیستم‌های BFT هستند و برنامه‌های کاربردی بالقوه مطمئناً الهام‌بخش نوآوری گسترده هستند.

نظرات کاربران

  • مسئولیت دیدگاه با نویسنده‌ی آن است.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *