داموندمگ

تحمل خطای بیزانس (BFT): مسئله فرماندهان بلاک چین

DAMOND
تحمل خطای بیزانس

تحمل خطای بیزانس (Byzantine Fault Tolerance) الگوریتمی است که در اواخر دهه 90 ابداع شد و در دهه گذشته به فضای بلاک چین راه پیدا کرد. استلار (Stellar)، ریپل (Ripple) و هایپرلجر (Hyperledger) از محبوب‌ترین بلاک چین‌هایی هستند که الگوریتم تحمل خطای بیزانس (BFT) را در شبکه‌های خود پیاده کردند. از ابتدای ظهور بلاک چین‌ها تا کنون، الگوریتم‌های اجماع مختلفی معرفی شده‌اند که تحمل خطای بیزانس یکی از موارد چشمگیر بین این الگوریتم‌هاست.

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

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

تحمل خطای بیزانس (BFT) چیست؟

BFT

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

در حوزه بلاک چین و ارزهای دیجیتال هم از این مسئله الهام گرفته شده و راهکار تحمل خطای بیزانس کاربردی یا عملی (Practical Byzantine Fault Tolerance) برای حل آن پیشنهاد شده است. در واقع بر اساس منطق این مسئله، همه شرکت‌کنندگان در یک شبکه باید برای جلوگیری از شکست سیستم و ایجاد بحران، بر سر یک راهبرد مستحکم و درست به توافق برسند.

مطلب پیشنهادی  آیا امکان هک کردن دیفای وجود دارد؟ + روش‌های هک دیفای

اما مشکل چیست؟ اولین مشکل این است که شاید بازیگران غیرقابل‌اطمینانی در سیستم حضور داشته باشند و موجب شکست سیستم شوند. پس سیستم باید مکانیزم‌هایی بسازد تا مطمئن شود که خرابکاران در سیستم نمی‌توانند سیستم را با شکست مواجه کنند.

شاید ساده به نظر برسد ولی رسیدن به تحمل خطای بیزانس یکی از دشوارترین چالش‌ها در رایانش است. بیت کوین یا همان ساتوشی ناکاموتو اولین کسی بود که این چالش را به شکل ‌رضایت بخشی حل کرد. و نقطه عطفی شد که تا به امروز هم با فناوری بلاک چین همراه است.

در واقع، تحمل خطای بیزانس به توانایی یک شبکه کامپیوتری توزیع‌شده برای مقاومت در برابر خطاهای بیزانس گفته می‌شود. این خطاها چه هستند؟

  • شکست در توافق
  • شکست در اعتبارسنجی و تایید
  • شکست در تایید داده
  • شکست در پروتکل پاسخ در برابر موقعیت‌های خاص شبکه

الگوریتم تحمل خطای بیزانس چگونه کار می‌کند؟

bft چگونه کار میکند

کارِ این الگوریتم تعریف مجموعه‌ای از قوانین است که امکان حل مسئله فرماندهان بیزانس به شکلی رضایت‌بخش را فراهم می‌کنند. تحمل خطای بیزانس برای دستیابی به اجماع یا همان راهکار مسئله، باید شرایط زیر را داشته باشد:

  1. هر فرایند باید با یک وضعیت تصمیم‌گیری‌نشده شروع شود. در این نقطه، شبکه مجموعه‌ای از مقادیر قطعی قابل‌اجرا در فرایند را ارائه می‌کند.
  2. برای اشتراک‌گذاری و انتشار این مقادیر، باید ابزاری برای تبادل وجود داشته باشد. این ابزار برای نمایش امن پیام کاربرد دارد. ابزار رسانه‌ای برای تبادل پیام و شناسایی طرفین بدون هیچ‌گونه ابهام به کار می‌رود.
  3. در این نقطه، گره‌ها مقادیر را محاسبه کرده و به وضعیت تصمیم‌گیری‌شده می‌روند. گره کادا (Cada) باید وضعیت خود را تضمین کند. این جزو یک فرایند کامل قطعی به شمار می‌رود.
  4. وقتی تصمیم‌گیری انجام شد، وضعیتی که بیشترین رای موافق را داشته باشد جمع بسته و برده می‌شود.

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

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

اهمیت تحمل خطای بیزانس

مدل‌های اجماع جزو بخش‌های اصلی یک سیستم بلاک چین توزیع‌شده هستند. وجود این مدل‌های در اکوسیستم بلاک چین برای حفظ کارکرد اصلی بلاک چین‌ها لازم است. در واقع آن‌ها به‌عنوان زیرساخت ترویج و بهبود تعامل بین کاربران یک شبکه بلاک چین در محیطی بدون‌واسطه هستند.

مطلب پیشنهادی  اهمیت NFT در متاورس: چرا تکنولوژی NFT در متاورس کلیدی است؟

تحمل خطای بیزانس کاربردی هم یکی از نمونه‌های برتر و پُررنگ مکانیزم اجماع است. مکانیزمی که پیاده‌سازی مناسب و درست آن در پلتفرم‌های رمزارز موجب ایجاد ویژگی‌های استثنایی در شبکه‌ها خواهد شد.

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

مراحل رسیدن به اجماع در تحمل خطای بیزانس کاربردی

تحمل خطای بیزانس

برای شناخت الگوریتم تحمل خطای بیزانس کاربردی، باید مراحل رسیدن به اجماع در این الگوریتم را بفهمید. همه دورهای اجماع pBFT تقریباً شامل ۴ مرحله هستند. این مدل با استفاده از یک رویکرد «فرمانده و سروان»  به حل مسئله فراماندهان بیزانس پرداخته است. مراحل مهم اجماع در BFT به ترتیب زیر هستند:

  1. کلاینت‌ها برای عملیاتی شدن یک سرویس خاص به گره رهبر درخواست می‌فرسند.
  2. سپس گره رهبر پاسخ را به گره‌های پشتیبان در شبکه مخابره می‌کند.
  3. گره‌ها می‌توانند اجرای درخواست محول‌شده را با ارسال یک پاسخ مرتبط به کلاینت خبر دهند.
  4. کلاینت باید منتظر (f+1) پاسخ یکسان گره‌های دیگر هم باشد. در واقع f نشانه حداکثر تعداد گره‌هایی است که امکان خطا دارند. خروجی نیز نشان‌دهنده نتایج عملیات خواهد بود.

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

آیا بیت کوین تحمل خطای بیزانس را دارد؟

اثبات کار

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

مطلب پیشنهادی  چگونه یک بلاکچین مناسب برای پروژه NFT انتخاب کنیم؟

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

مزایا و معایب تحمل خطای بیزانس

BFT هم مثل همه الگوریتم‌های دیگر دارای مزایا و معایبی است که در زیر به تعدادی از آن‌ها اشاره می‌کنیم.

مزایا

  1. تضمین درستی داده در سیستم‌های غیرمتمرکز
  2. حل مشکل پرداز اطلاعات در محیط‌های ناهمگن
  3. بهره‌وری بالا از نظر رایانش و مصرف انرژی
  4. تاثیر چشمگیر بر مقیاس‌پذیری و افزایش سرعت شبکه
  5. گره‌های بیشتر، امنیت بیشتر

معایب

  1. پیچیده بودن ساخت راه حل (و بروز مسائل امنیتی به این دلیل)
  2. صحت عملکرد آن مستلزم بالاتر رفتن میزان توزیع سیستم است

جمع‌بندی

با هرچه گسترده‌تر شدن شبکه‌های توزیع‌شده بلاک چین و استفاده گسترده مردم از رمزارزهای مبتنی بر این بلاک چین‌ها، نقش و اهمیت مکانیزم‌های اجماع پشت پرده این شبکه‌ها آشکارتر می‌شود. امنیتی که این الگوریتم‌ها برای شبکه‌های مورد استفاده ما به ارمغان می‌آورند کم از نقشِ چشمگیر فناوری دفترکل توزیع‌شده و رمزارزهای مبتنی بر آن‌ها ندارد.

البته با این حجم از گسترش و کاربری، پُر واضح است که وجود الگوریتم‌های دقیق و بلاک چین‌های مقیاس‌پذیر نسبت به گذشته ضروری‌تر شده است. نگرانی‌هایی هم پیرامون شبکه‌های مدرن بلاک چین ایجاد شده‌اند. مقیاس‌پذیری، امنیت، سرعت و قابلیت گسترش و همکاری متقابل بین بلاک چین‌ها همه و همه در مقالات و سخنان این روزهای حوزه بلاک چین تکرار می‌شوند. مسائلی که به ارائه راهکارهای پیوسته و مدرن نیاز دارند.

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

نظر شما چیست؟ درباره آینده بلاک چین‌ها و مکانیزم‌های اجماع آن‌ها چه تصوری دارید؟ برایمان کامنت بگذارید.

دسته بندی مطالب
مطالب مرتبط
مطالب مرجع

ارز دیجیتال چیست؟

بلاک چین چیست؟

متاورس چیست؟

NFT چیست؟

دیفای (DeFi) چیست؟

صرافی غیرمتمرکز چیست؟

کیف پول چیست؟

تحلیل تکنیکال چیست؟

ایردراپ چیست؟

استیکینگ ارز دیجیتال چیست؟

بیت کوین چیست؟

اتریوم چیست؟

تتر چیست؟

خرید و فروش ارز های دیجیتال
ما را دنبال کنید
نظرات کاربران

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

نشانی ایمیل شما منتشر نخواهد شد.