Что такое протокол Tendermint и где он используется

Фото - Что такое протокол Tendermint и где он используется
Tendermint — это согласованный протокол, используемый для синхронизации работы нескольких блокчейнов. Он был разработан Tendermint Inc. и основан на алгоритме Byzantine Fault Tolerance (византийская отказоустойчивость).

Что такое Tendermint простыми словами

Если вы далеки от криптографии, то попробуем объяснить, что такое Tendermint, с помощью бытовых примеров.

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

Что делать, если встреча должна по умолчанию состояться, а консенсуса достичь не удается? В этом случае будет разумно делегировать полномочия независимому представителю, который выслушает пожелания всех и найдет локацию, которая бы в равной степени удовлетворила всех. И если даже кто-то попытается отказаться или переманить часть компании в другое место – подавит бунт на корабле за счет того, что ему доверяет большинство друзей.

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

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

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

Синхронизация достигается с помощью алгоритма консенсуса, называемого ядром Tendermint Core, которое гарантирует, что все узлы принимают одну и ту же последовательность транзакций. Это ядро может взаимодействовать с блокчейнами внутри и вне основной сети. Оно служит основой для любой системы, в которой функционируют два и более распределенных реестра. 

Tendermint Core можно сравнить с уже готовой основой для пиццы, на которую можно поместить любые продукты по своему вкусу.

Это помогает разработчикам быстро пройти трудоемкий этап технической настройки и сразу перейти к созданию рабочей области dApps.
Для синхронизации нескольких блокчейнов ядро Tendermint использует алгоритм, который называется Byzantine Fault Tolerance (BFT) или византийская отказоустойчивость.

Что такое BFT простыми словами

Алгоритм византийской отказоустойчивости (BFT) — это метод достижения согласия внутри системы, даже когда некоторые ее части намеренно пытаются нарушить процесс.

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

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

Алгоритм BFT, который служит основой Tendermint Core, предназначен для обработки данных от потенциально мошеннических узлов, чтобы гарантировать единую историю транзакций и предотвращать двойные траты.

Какие проекты используют протокол Tendermint

Протокол Tendermint используется в нескольких блокчейн-проектах: Cosmos Network, Binance Chain и Kava.

1. Cosmos Network — это децентрализованная сеть независимых блокчейнов, которые могут взаимодействовать друг с другом с помощью протокола Tendermint. Его механизм консенсуса гарантирует, что все блокчейны в сети Cosmos согласованы в одном и том же рабочем состоянии, даже если в сети есть неисправные или вредоносные узлы. Это позволяет разработчикам создавать на основе Cosmos децентрализованные приложения (dApps) с высокой производительностью и масштабируемостью.

2. Binance Chain — это публичная сеть, которая используется для торговли криптовалютами. Она использует механизм консенсуса Tendermint для достижения быстрой синхронизации узлов. Это важно для их согласования в обработке транзакций. Использование алгоритма BFT помогает предотвратить двойные траты и другие мошеннические действия.

3. Kava — это платформа DeFi (децентрализованные финансы), которая использует протокол Tendermint для согласованной и безопасной работы валидаторов. Платформа Kava позволяет пользователям брать взаймы, одалживать и торговать криптовалютными активами, минуя посредников.

В целом, Tendermint Core используется в криптопроектах для обеспечения масштабируемого механизма консенсуса. Он гарантирует, что большинство узлов могут противодействовать попыткам манипуляций и взломов. Это позволяет разработчикам свободно писать код для запуска dApps, не концентрируя свои усилия на защите приложений от хаков.

Но главное преимущество Tendermint – его высокая пропускная способность. Протокол может обрабатывать тысячи транзакций в секунду и это делает его незаменимым помощником для создания высокопроизводительных приложений.