Что такое Tendermint?
Tendermint предлагает инновационный подход к разработке блокчейнов и представляет собой гибкую альтернативу устоявшимся архитектурам. Для разработчика это означает два пути: ограничить своё приложение рамками существующей среды или же форкнуть код и создать собственный блокчейн. Однако второй путь непростой — он требует не только запуска сети, но и решения сложной задачи выбора подходящего механизма консенсуса.
Здесь на сцену выходит Tendermint — открытое программное обеспечение, разработанное специально для запуска блокчейнов. Эта передовая технология даёт разработчикам возможность создавать приложения на любом языке программирования, снимая прежние ограничения. Кроме того, Tendermint обеспечивает взаимодействие отдельных блокчейнов между собой, упрощая коммуникацию в экосистеме.
Основы
Создание надёжной криптовалюты или блокчейн-сети — это гораздо больше, чем инициализация базы данных. Это тщательный баланс, подразумевающий компромиссы между безопасностью, децентрализацией и масштабируемостью.
Неудивительно, что многие команды экспериментировали с разными подходами в попытке построить максимально защищённые блокчейн-экосистемы. В мире разработки блокчейнов одним из таких подходов является Tendermint. В этой статье мы подробно разберём Tendermint, его ключевые особенности и потенциал как передового решения.
Что такое Tendermint?
Чтобы по-новому взглянуть на Tendermint, стоит вспомнить базовые концепции блокчейн-архитектуры. Прежде чем углубляться, кратко вернёмся к основам.
Суть архитектуры блокчейна
Tendermint, как и Bitcoin или Ethereum, относится к стеку блокчейна. Это не просто база данных: это одноранговая сеть узлов, их взаимодействие, транзакции и смарт-контракты. Конечная цель — достичь консенсуса о состоянии системы, независимо от уровня доверия между участниками.
Современные крупные блокчейны достигли этого, но часто используют монолитные архитектуры, где компоненты тесно связаны и взаимозависимы, что уменьшает гибкость. Модульная архитектура, напротив, позволяет изменять отдельные компоненты без риска каскадных сбоев. В монолите при обновлении одного элемента важно обеспечить совместимость всех участников. С этой разницей в голове перейдём к протоколу Tendermint.
Устойчивость к византийским отказам (BFT)
Речь о задаче византийских генералов. Не вдаваясь в технические подробности, суть проблемы в распределённой коммуникации между участниками, когда никто не может быть уверен в честности собеседников или в том, не были ли сообщения изменены. Устойчивость к византийским отказам (BFT) описывает способность системы достичь консенсуса в таких условиях.
В децентрализованных системах это критически важно. Криптовалюты без BFT вынуждены полагаться на централизованный орган, что ломает саму идею децентрализации. Многие цифровые валюты, включая Bitcoin, решают это с помощью алгоритма Proof of Work (PoW).
Три базовых слоя блокчейна
Поняв разницу между монолитной и модульной архитектурой и роль BFT в децентрализованных сетях, рассмотрим три основных слоя блокчейна: приложение, консенсус и сеть.
Слои консенсуса и сети обеспечивают коммуникацию между узлами и согласование общего набора данных. Слой приложения даёт пользователям возможность выполнять действия — от децентрализованных приложений и смарт-контрактов в Ethereum до специализированных транзакций в экосистеме Bitcoin.
Tendermint Core
Прежде чем углубляться в детали Tendermint Core, важно прояснить терминологию. В дальнейшем тексте слова «Tendermint» и «Tendermint Core» будут использоваться взаимозаменяемо и относиться к технологической части проекта.
Стоит также различать компанию Tendermint, основанную Jae Kwon — автором оригинального whitepaper, и программное обеспечение Tendermint Core. Само ПО состоит из двух ключевых частей: движка консенсуса (Tendermint Core) и интерфейса для приложений — ABCI.
Возможности Tendermint Core
Tendermint Core — это отказоустойчивая система, которая синхронизирует состояние распределённой сети, выступая как общий большой вычислитель. Пока как минимум две трети участников честны, сеть функционирует корректно. Но что отличает Tendermint Core от других блокчейнов?
Во‑первых, механизм консенсуса основан на Proof of Stake (PoS). В каждый период случайный узел из набора валидаторов предлагает следующий блок по круговой схеме. После подтверждения другими валидаторами блок добавляется, обеспечивая мгновенную финализацию. В отличие от Bitcoin или Ethereum, пользователям не нужно ждать множества подтверждений.
Во‑вторых, архитектура Tendermint модульна, что отделяет слой приложения от слоёв консенсуса и сети. Иными словами, разработчики могут подключить свой слой приложения к стеку, не заботясь о нюансах стимулов или алгоритма консенсуса.
Для конечных пользователей это может быть менее заметно, но для разработчиков это огромный плюс. Используя готовый стек, они могут сразу переходить к разработке приложений, не тратя ресурсы на запуск и обеспечение сети. Данные блокчейна легко передаются на прикладной слой, где разработчики пишут логику на предпочитаемом языке.
Application Blockchain Interface (ABCI)
Ключ к всему — Application Blockchain Interface, или ABCI. Представьте GPIO-пины на Raspberry Pi, которые позволяют подключать сторонние компоненты — от простых светодиодов до сложных систем полива. Так ABCI разделяет блокчейн и приложения поверх него, позволяя разработчикам взаимодействовать с Tendermint Core и раскрывать его возможности.
Преимущества Tendermint Core
Tendermint Core имеет широкий спектр вариантов использования. Отделение интерфейса приложения от механизма консенсуса даёт гибкость децентрализованным приложениям и позволяет использовать различные языки программирования для бизнес‑логики.
Потенциал Ethermint
Лучше всего потенциал иллюстрирует проект Ethermint. Он взял кодовую базу Ethereum, отказался от Proof of Work и разместил Ethereum Virtual Machine поверх Tendermint.
Это открыло новые возможности: разработчики Ethereum могли перенести существующие смарт‑контракты на новую платформу или писать новые на Solidity. Ethermint фактически предоставляет полную функциональность Ethereum на базе PoS, давая представление о грядущих изменениях, связанных с Casper и Ethereum 2.0.
Взаимодействие блокчейнов
Идея большого взаимосвязанного пространства блокчейнов привлекает многих к протоколам на базе Tendermint. Интероперабельность блокчейнов — долгожданный прорыв, который позволит цепочкам взаимодействовать друг с другом.
Большая часть усилий сосредоточена вокруг Cosmos SDK — открытого фреймворка для создания специализированных публичных и частных блокчейнов. Такие цепочки интегрируются в общую сеть через Cosmos Hub, обеспечивая взаимодействие между разными блокчейнами.
Cosmos SDK породил множество известных проектов, использующих его возможности: BNB Smart Chain (BSC), KAVA, Band Protocol, Terra и IRISnet. Эти проекты демонстрируют мощь Cosmos SDK и стимулируют развитие взаимосвязанной экосистемы блокчейнов.
Заключение
Tendermint как движок блокчейна привлёк внимание разработчиков, инвесторов и пользователей в криптопространстве. Если платформа продолжит развиваться, она имеет все шансы стать базой для «интернета блокчейнов». Уже сейчас отдельные проекты на базе Cosmos SDK приближают нас к этой глобальной цели.