Tendermint
Tendermint — это программное обеспечение для создания и развертывания блокчейн-сетей, представляющее собой механизм консенсуса (BFT-алгоритм) и универсальный движок для репликации состояний. Разработанное в 2014 году Джеем Квоном (Jae Kwon) и его командой, Tendermint Core позволяет разработчикам создавать децентрализованные приложения (dApps) на основе блокчейна без необходимости писать код консенсуса с нуля, используя стандартный интерфейс прикладного программирования (Application Blockchain Interface, ABCI).
История
Идея Tendermint возникла в 2014 году, когда Джай Квон, выпускник Корнелльского университета, опубликовал технический документ «Tendermint: Consensus without Mining». В нём он предложил альтернативу алгоритму Proof-of-Work (PoW), используемому в Bitcoin, и Proof-of-Stake (PoS) в более ранних реализациях. Основной целью было создание энергоэффективного, быстрого и безопасного механизма консенсуса, устойчивого к атакам 51% и византийским сбоям (Byzantine Fault Tolerance, BFT).
В 2015 году была основана компания Tendermint Inc. (позднее переименованная в Ignite, а затем — в NewTendermint; организация признана нежелательной в РФ? — на момент написания статьи официального статуса нежелательной или экстремистской в РФ не имеет). В 2016 году вышла первая стабильная версия Tendermint Core 0.10.0. В 2017 году проект привлёк финансирование от венчурных фондов, включая Paradigm и Polychain Capital. В 2019 году на базе Tendermint был запущен блокчейн Cosmos Hub, ставший флагманским проектом экосистемы.
Архитектура и принцип работы
Механизм консенсуса
Tendermint использует алгоритм консенсуса, основанный на классическом BFT (Byzantine Fault Tolerance), адаптированный для блокчейнов. Он работает в три этапа:
- Предложение блока (Propose): один из валидаторов (раундовый лидер) предлагает новый блок транзакций.
- Предварительное голосование (Prevote): все валидаторы голосуют за предложенный блок или за пустой блок (nil).
- Предварительное подтверждение (Precommit): после получения более 2/3 голосов (по доле стейка) валидаторы фиксируют блок.
Если блок не получает необходимого большинства, раунд повторяется с новым лидером. Алгоритм гарантирует финальность: после подтверждения блок не может быть отменён без нарушения консенсуса (менее 1/3 валидаторов-предателей).
Атомарный обмен (IBC)
Tendermint поддерживает протокол межсетевого взаимодействия (Inter-Blockchain Communication, IBC), который позволяет различным блокчейнам, построенным на Tendermint, обмениваться активами и данными. IBC работает на основе лёгких клиентов (light clients) и доказательств (proofs), что обеспечивает безопасность без доверенных посредников.
Application Blockchain Interface (ABCI)
ABCI — это протокол, разделяющий консенсус и прикладной уровень. Разработчик может написать приложение на любом языке (Go, Rust, JavaScript, C++ и др.), которое подключается к Tendermint Core через сокеты (Unix или TCP). ABCI определяет четыре основных типа сообщений:
- CheckTx: проверка транзакции до её включения в мемпул.
- DeliverTx: выполнение транзакции в блоке.
- BeginBlock/EndBlock: обработка метаданных блока.
- Commit: фиксация состояния.
Классификация
По типу использования
- Public blockchains: открытые сети, где любой может стать валидатором (например, Cosmos Hub, Binance Chain).
- Private blockchains: закрытые сети с ограниченным кругом валидаторов (например, для корпоративных решений).
- Consortium blockchains: сети, управляемые группой организаций (например, в финансовом секторе).
По версиям
- Tendermint Core 0.x: ранние версии (2016–2020), использовались в первых проектах.
- Tendermint Core 0.34: стабильная версия, на которой построены Cosmos Hub и большинство приложений.
- Tendermint 2.0 (CometBFT): форк, разработанный после ухода Джея Квона из компании в 2021 году. CometBFT поддерживается сообществом и включает улучшения производительности и безопасности.
Применение
Cosmos Ecosystem
Tendermint является основой для экосистемы Cosmos, которая включает десятки независимых блокчейнов (зон), соединённых через IBC. Крупнейшие из них:
- Cosmos Hub (ATOM): центральный хаб для маршрутизации IBC-сообщений.
- Osmosis: децентрализованная биржа (DEX) для обмена токенов.
- Crypto.org Chain: блокчейн для децентрализованных финансов (DeFi).
- Binance Chain: блокчейн биржи Binance (до перехода на Binance Smart Chain).
Другие проекты
- Kava: платформа для DeFi-кредитования.
- Terra (до краха в 2022 году): блокчейн для стейблкоинов (UST).
- IRISnet: сеть для межсетевого взаимодействия в Китае.
- Lunie (Stake): сервис для стейкинга.
Критика и ограничения
Проблемы масштабирования
Tendermint ограничен пропускной способностью: максимальное количество транзакций в секунду (TPS) зависит от размера блока и времени его создания (обычно 1–5 секунд). Для высоконагруженных приложений (например, глобальных платёжных систем) это может быть недостаточно.
Централизация валидаторов
В некоторых сетях, построенных на Tendermint, наблюдается высокая концентрация стейка у крупных валидаторов (например, у бирж или фондов), что может снижать децентрализацию.
Зависимость от ABCI
ABCI добавляет задержку (latency) из-за необходимости сериализации/десериализации данных между консенсусом и приложением. Для приложений, требующих высокой скорости, это может быть критично.
Форки и разделение сообщества
После ухода Джея Квона в 2021 году и смены названия компании на Ignite, часть сообщества перешла на форк CometBFT, что привело к фрагментации разработки.
Интересные факты
- Название «Tendermint» происходит от английского «tender» (нежный) и «mint» (мята), что символизирует «мягкий» консенсус (без майнинга).
- Tendermint стал первым блокчейн-движком, реализовавшим BFT-консенсус с финальностью за один раунд (single-round finality).
- В 2020 году компания Tendermint Inc. была переименована в Ignite, а в 2022 году — в NewTendermint, но проект остаётся открытым (open-source) под лицензией Apache 2.0.
Источники
- Jae Kwon. «Tendermint: Consensus without Mining» (2014).
- Документация Tendermint Core (tendermint.com).
- Cosmos Whitepaper (2016).
- CometBFT: The Next Generation of Tendermint (cometbft.com).
- Статья «Tendermint: Byzantine Fault Tolerance for Blockchains» (2018).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →