Одной из главных целей любой децентрализованной системы является достижение консенсуса в алгоритме действий между участниками. Описать проблему позволяет так называемая «задача византийских генералов».
Первоначально задача была сформулирована еще в 1982 году американским криптографом Лесли Лэмпортом (Leslie Lamport). Этот исследователь также известен разработкой криптосистемы «подпись Лэмпорта» с открытым ключом, «часов Лэмпорта» — механизма определения порядка событий в распределенной среде, — а также
системой LaTeX.
«Задача византийских генералов»,
представленная Лэмпортом, звучит примерно следующим образом:
Представьте армию Византийской империи, которая состоит, скажем, из четырех легионов. Каждым легионом командует один генерал. Генералы не подчиняются друг другу, но планируют штурм огромной крепости с разных сторон, удаленных друг от друга. Каждый генерал и его легион должен оценить обстановку и на рассвете либо начать штурм крепости, либо отступить. При этом все генералы должны действовать одинаково: либо совместно штурмовать, либо совместно отступать. Если хотя бы один генерал будет отступать в то время, как остальные решат штурмовать, армия потерпит поражение.
Подробнее: https://bits.media/v-poiskakh-konsensusa-chto-takoe-i-kak-reshaetsya-zadacha-vizantiyskikh-generalov/