در بخش قبل، سه دلیل اصلی تمرکز زدایی را معرفی کردیم. در این بخش دلیل اول را که تحملپذیریِ اِشکال و خطا نام دارد، بررسی و تحلیل میکنیم.
در رابطه با تحمل خطا، بحث اصلی ساده است. احتمال چه رخدادی کمتر است: خرابی یک رایانه یا خرابی همزمان پنج رایانه از مجموع ده تا؟ ایجاد ویژگیِ تحملپذیری، قاعدهای بحثبرانگیز است و معمولا در ابزارهای متعددی در زندگی واقعی استفاده میشود. ابزارهایی مانند: موتور جت، ژنراتورهای برق اضطراریِ مکانهایی مانند بیمارستانها، زیرساختهای نظامی، متنوعسازی پرتفوی[1] مالی و البته، شبکههای رایانهای.
اما نتیجهای که از این نوع تمرکززدایی (تحملپذیریِ خطا) بهدست میآید، همزمان که مؤثر و بسیار مهم است، معمولا از آنچه که توسط مدل ریاضیاتی پیشبینی میشود، ضعیفتر است. دلیل این امر خطای حالت مشترک است. البته که احتمال خرابی همزمان[2] چهار موتور جت از احتمال خرابی یکی از آنها کمتر است، اما اگر هر چهار موتور در کارخانهای یکسان ساخته شده باشند و کارمندی تبهکار، خطایی در هر چهارتای آنها ایجاد کرده باشد، آنوقت چه؟
آیا بلاکچینها، با همین شکل امروزیشان، میتوانند سیستمها را در برابر خطای حالت مشترک محافظت کنند؟ نه الزاما. این سناریوها را در نظر بگیرید:
در نگاهی همهجانبه به موضوع تحملپذیریِ خطا و تمرکززدایی، به همهی این جنبهها نگریسته میشود و برای به حداقل رساندن آنها تلاش میشود. برخی از نتیجهگیریهای ذاتی (که مسلم هستند) عبارتند از:
توجه داشته باشید که ملزومات تابآوری خطا، در شکل سادهاش، بهمعنی تمرکززدایی معماری است اما اگر بخواهیم تحملپذیری خطا را در جایی که اجتماع توسعهی مستمر پروتکل را هدایت میکند، ایجاد کنیم، باید تمرکززدایی سیاسی را هم در نظر بگیریم.
در بخش بعد مورد دوم از سه دلیل اصلی تمرکز زدایی (مقاومت در برابر حمله) را تحلیل میکنیم.
[1] portfolio
[2] common mode failure
[3] Node
[4] client software
[5] Bug
[6] proof of work
[7] miner
[8] mining farm
[9] proof of stake
[10] exchange