Tendermint

Версия от 15:35, 20 апреля 2022; Admin (обсуждение | вклад) (Created page with "<div class="mikio-article-content"> <div class="mikio-tags"> </div> <span id="tendermint"></span> = Tendermint = <div class="level1"> '''Tendermint''' — это алгоритм консенсуса, устойчивый к «византийским падениям» (каким-либо злоумышленным действиям). Алгоритм был придуман в 2014 году Дже Квоном, который был озабочен пробл...")
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)


Tendermint

Tendermint — это алгоритм консенсуса, устойчивый к «византийским падениям» (каким-либо злоумышленным действиям).

Алгоритм был придуман в 2014 году Дже Квоном, который был озабочен проблемой высокого энергопотребления сети Bitcoin. В отличие от Nakamoto-консенсуса, где выбирается цепочка с самым большим количеством работы, в Tendermint выбирается цепочка, где за блок проголосовало 2/3 участников сети. Это упрощённая версия.


Отличия консенсуса:

  • Если 2/3 голосов не набирается, консенсус становится на паузу и ждёт.

  • Если 2/3 набирается, блок можно считать окончательным. То есть не нужно ждать 10 или 100 блоков (probabilistic finality), чтобы убедиться, что транзакция не будет откачана.

  • Нет гонки за создание блока (энергозатраты минимальны). В данный момент в качестве алгоритма выбора ноды, которая будет создавать блок, используется циклический перебор, взвешенный согласно доле криптовалюты, которой владеет нода. Если у ноды A 100 монет, у ноды B и C по 10 монет, то A будет чаще назначаться создателем блока.

BFT-консенсус гарантирует корректную работу компьютерной сети, пока хотя бы 2/3 узлов блокчейн-сети, участвующих в формировании блоков (валидаторы), работает корректно.


Как устроен Tendermint

Tendermint состоит из двух основных технических компонентов — движка механизма консенсуса и интерфейса приложения . Движок механизма консенсуса, называемый Tendermint Core, обеспечивает запись одних и тех же транзакций на каждой машине в одном и том же порядке. Интерфейс приложения, называемый Application BlockChain Interface (ABCI), позволяет обрабатывать транзакции на любом языке программирования.

Другими словами, Tendermint обеспечивает эффективную ретрансляцию изменений в блокчейне по всей сети, гарантируя, что каждый узел имеет одни и те же журнал транзакций и состояние блокчейна. Механизм консенсуса pBFT (practical Byzantine Fault Tolerance) является ключевым звеном блокчейна Decimal и используется нами без каких-либо изменений.