Компания Telegram представила новый механизм консенсуса

Соучредитель мессенджера Telegram Николай Дуров опубликовал статью, в которой рассказывается о механизме консенсуса сети Telegram Open Network под названием Catchain. Решение представляет собой алгоритм Proof of Stake (PoS) Byzantine Fault Tolerant (BFT), аналогичный тому, который используется в NEO или Cosmos.

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

Во время процедуры голосования по блокам, каждый валидатор играет четкую роль — одни создают блоки, другие предлагают блок для голосования, а остальные узлы голосуют за предложение. Роли меняются с каждым новым раундом, что должно гарантировать справедливость процедуры.

В Telegram установлен лимит — не более 100 валидаторов для основной цепи и 10-30 для каждой shard-цепи. Согласно тестам, проведенным в 2018 году, блок может генерироваться каждые пять секунд, каждый раз проходя процедуру полного согласования.