Книга: Блокчейн от А до Я. Все о технологии десятилетия

Проблема византийских генералов

Проблема византийских генералов

Определение

Проблема, или теория, византийских генералов – это математическая метафора, в которой рассматривается проблема пересмотра безотказности средств связи и целостности собеседников. Речь идет о том, как и в какой степени можно принимать информацию, источник или канал передачи которой выглядит подозрительно.

Чтобы решить эту проблему, мы должны использовать определенные стратегии (в данном случае – алгоритм). Эта проблема впервые была глубоко проработана в статье «Проблема византийских генералов», опубликованной в 1982 году[26].

Блокчейн и проблема византийских генералов

Вот как выглядит проблема: генералы, каждый из которых командует отдельной армией, должны координировать свои действия, чтобы осадить город. Генералы общаются с помощью надежных курьеров, но некоторые из генералов оказались предателями и стремятся к тому, чтобы сорвать план нападения (византийская ошибка, таким образом, представляет собой сбой, заключающийся в предоставлении недостоверной или противоречивой информации). Таким образом, нападение может сорваться, если генералы не придут к консенсусу.

ПРОБЛЕМА ВИЗАНТИЙСКИХ ГЕНЕРАЛОВ

Генералы византийской армии расположились лагерями вокруг осажденного вражеского города. Они могут общаться между собой только посредством передаваемых сообщений и должны выработать план совместного нападения, без чего поражение неизбежно.

Однако некоторые из этих генералов являются предателями, они пытаются сеять панику и замешательство среди остальных. Таким образом, проблема заключается в том, чтобы найти алгоритм, позволяющий честным генералам все же согласовать план баталии.


Таким образом, нужно найти алгоритм, чтобы убедиться, что лояльные генералы смогут все же договориться и согласовать план битвы. Следует координировать доверительные отношения с помощью сообщений, написанных и подписанных (без возможности подделки), которые генералы передают друг другу, делясь намерениями со всеми генералами. Таким образом, мы возвращаемся к консенсусу proof of work.

Технология блокчейна предоставляет первое и, возможно, единственное решение проблемы византийских генералов. Таким образом, вероятно, впервые в истории человечества удается создать и сохранить реестр, открытый для широкой публики и достаточно безопасный для каждого.

Анализ Юбера де Воплана[27]

«Как блокчейн способен установить доверие (теоретически без ошибок) между двумя членами сети, живущими в разных странах? Эта математическая проблема, которая также называется проблемой византийских генералов, заключается в том, чтобы убедиться, что совокупность информационных компонентов, работающих совместно, может справиться с отказами или злонамеренными действиями.

Система должна поддерживать свою надежность даже в том случае, если меньшая доля ее составляющих пошлет ложную или вредоносную информацию с целью обойти проверки на двойные затраты (мошенничество). Чтобы решить эту проблему, протокол использует криптографические системы, основанные на децентрализованной системе проверок: решение такой задачи требует использования большой вычислительной мощности компьютеров, предоставляемой майнерами.

Майнеры – это агенты, функция которых заключается в подпитке сети вычислительными мощностями для того, чтобы обеспечить обновление децентрализованной базы данных (в случае биткойна – списка транзакций). Для обновления базы данных майнеры должны подтвердить новые “блоки” посредством дешифровки данных (классическая работа криптографии). Чем больше майнеров, тем труднее присвоить решение.

Таким образом, протокол может стать практически неприкосновенным при условии, что конкуренция сильна в каждом узле сети – это означает, что ни одна группа майнеров не становится большинством».

Алгоритм византийских генералов[28], или отказоустойчивость

Устойчивость к византийским сбоям, или Byzantine Fault Tolerance (BFT), – это способность системы продолжать функционировать, в ряде случаев в сокращенном объеме, не выходя полностью из строя, когда часть ее компонентов работает неправильно.

Исторически эту систему отказоустойчивости разработали военные во время холодной войны для обеспечения непрерывной работы сложной замкнутой сети, в данном случае сети ARPA[29].

Говоря языком информатики, поскольку алгоритмы родились не одновременно с технологией блокчейна, а в 1970-х годах, проблема византийских генералов – это абстрактное представление класса программ, активизирующих ряд участников, таких как процессоры в компьютере, компьютеры в сети, роботы на заводе или узлы в цепочке (с блоками или без них).

Таким образом, в области распределенных вычислений, и в частности в блокчейнах, ответные действия на сбои будут обеспечены Paxos[30] и Tendermint[31] – семействами протоколов, позволяющими находить консенсус в сети с ненадежными узлами и, таким образом, способными справляться со сбоями.

Определение Tendermint

«Технология блокчейна – это просто переформулирование BFT в более современный контекст с упором на одноранговые сети и криптографическое определение подлинности. Название технологии происходит от способа группирования информации в блоки, каждый блок цепи содержит криптографический хеш предыдущего блока, образуя цепочку. На практике структура данных блоков цепочки оптимизирует концепцию BFT».

Оглавление книги


Генерация: 1.918. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз