Tendermint: различия между версиями
[досмотренная версия] | [досмотренная версия] |
Test (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
Строка 5: | Строка 5: | ||
|description= Tendermint | |description= Tendermint | ||
}} | }} | ||
'''Tendermint''' — алгоритм [[консенсус]]а, устойчивый к «[[Византийская отказоустойчивость|византийским падениям]]» (каким-либо злоумышленным действиям). | |||
Алгоритм был придуман в 2014 году Дже Квоном, который был озабочен проблемой высокого энергопотребления сети [[Bitcoin]]. В отличие от [[Nakamoto-консенсус]]а, где выбирается цепочка с самым большим количеством работы, в Tendermint выбирается цепочка, где за блок проголосовало 2/3 участников сети. Это упрощённая версия. | |||
== Отличия консенсуса в алгоритме Tendermint == | |||
* Если 2/3 голосов не набирается, консенсус становится на паузу и ждёт. | |||
* Если 2/3 набирается, блок можно считать окончательным. То есть не нужно ждать 10 или 100 блоков (probabilistic finality), чтобы убедиться, что транзакция не будет откачана. | |||
* Нет гонки за создание блока (энергозатраты минимальны). В данный момент в качестве алгоритма выбора ноды, которая будет создавать блок, используется циклический перебор, взвешенный согласно доле криптовалюты, которой владеет нода. Если у ноды A 100 монет, у ноды B и C по 10 монет, то A будет чаще назначаться создателем блока. | |||
'''[[commoninfo:vizantyfaulttolerance|BFT-консенсус]]''' гарантирует корректную работу компьютерной сети, пока хотя бы 2/3 узлов [[Блокчейн|блокчейн-сети]], участвующих в формировании блоков ([[валидаторы]]), работает корректно. | |||
== Как устроен Tendermint == | |||
Tendermint состоит из двух основных технических компонентов — '''движка механизма консенсуса''' и '''интерфейса приложения'''. Движок механизма консенсуса, называемый '''Tendermint Core''', обеспечивает запись одних и тех же транзакций на каждой машине в одном и том же порядке. Интерфейс приложения, называемый '''Application BlockChain Interface''' (ABCI), позволяет обрабатывать транзакции на любом языке программирования. | |||
= Tendermint = | |||
Другими словами, Tendermint обеспечивает эффективную ретрансляцию изменений в блокчейне по всей сети, гарантируя, что каждый узел имеет одни и те же журнал [[Транзакция|транзакций]] и состояние блокчейна. Механизм консенсуса [[pBFT]] ({{lang-en|practical Byzantine Fault Tolerance}}) является ключевым звеном [[DecimalChain|блокчейна Decimal]] и используется нами без каких-либо изменений. | |||
== См. также == | |||
* [[commoninfo:vizantyfaulttolerance|BFT-консенсус]] | |||
[[Категория:Commoninfo]] | |||
[[Категория:Терминология]] | |||
[[Категория:DecimalChain]] | |||
Версия от 19:14, 28 августа 2023
Tendermint — алгоритм консенсуса, устойчивый к «византийским падениям» (каким-либо злоумышленным действиям).
Алгоритм был придуман в 2014 году Дже Квоном, который был озабочен проблемой высокого энергопотребления сети Bitcoin. В отличие от Nakamoto-консенсуса, где выбирается цепочка с самым большим количеством работы, в Tendermint выбирается цепочка, где за блок проголосовало 2/3 участников сети. Это упрощённая версия.
Отличия консенсуса в алгоритме Tendermint
- Если 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 и используется нами без каких-либо изменений.