Tendermint: Difference between revisions

[unchecked revision][checked revision]
No edit summary
m (CryptoUser moved page Commoninfo:tendermint to Tendermint)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<div class="mikio-article-content">
{{#seo:
                    |title= Tendermint — Decimal Wiki
                    |titlemode= append
                    |keywords= Tendermint
                    |description= Tendermint
                    }}
'''Tendermint''' is a [[consensus]] [[algorithm]] that is resistant to «[[Byzantine fall]]s» (any malicious actions).
The algorithm was invented in 2014 by [[wikipedia:Jae Kwon|Jae Kwon]], who was concerned about the problem of high power consumption of the [[Bitcoin]] [[network]]. Unlike [[Nakamoto consensus]], where the [[chain]] with the largest amount of work is selected, Tendermint selects the chain where 2/3 of the network members voted for the [[block]]. This is a simplified version.


<div class="mikio-tags">
== Differences of consensus ==
* If 2/3 of the votes are not collected, the consensus pauses and waits.
* If 2/3 is collected, the block can be considered final. That is, you do not need to wait for 10 or 100 blocks (probabilistic finality) to make sure that the [[transaction]] will not be pumped out.
* There is no race to create a block (energy consumption is minimal). At the moment, a cyclic search is used as an algorithm for selecting the [[node]] that will create the block, weighted according to the share of the [[cryptocurrency]] that the node owns. If node A has 100 [[coin]]s, node B and C have 10 coins each, then A will be assigned more often by the block creator.
'''[[BFT-consensus]]''' guarantees the correct operation of the computer network, as long as at least 2/3 of the nodes of the [[blockchain]] network involved in the formation of blocks ([[validator]]s) work correctly.


== How Tendermint works ==
Tendermint consists of two main technical components — the «consensus engine» and the «application interface».
* The consensus engine, called Tendermint Core, ensures that the same transactions are recorded on each machine in the same order.
* The application interface, called the Application BlockChain Interface ([[ABCI]]), allows you to process transactions in any programming language.
In other words, Tendermint provides an efficient relay of changes to the blockchain throughout the network, ensuring that each node has the same transaction log and blockchain status. The [[pBFT]] (practical Byzantine Fault Tolerance) consensus mechanism is a key link of the [[Decimal blockchain]] and is used by us without any changes.


== See also ==
* [[BFT-consensus]]


</div>
[[Category:Commoninfo]]
<span id="tendermint"></span>
[[Category:DecimalChain]]
= Tendermint =
[[Category:Consensus protocols]]
 
<div class="level1">
 
'''Tendermint''' — это алгоритм консенсуса, устойчивый к «византийским падениям» (каким-либо злоумышленным действиям).
 
Алгоритм был придуман в 2014 году Дже Квоном, который был озабочен проблемой высокого энергопотребления сети Bitcoin. В отличие от Nakamoto-консенсуса, где выбирается цепочка с самым большим количеством работы, в Tendermint выбирается цепочка, где за блок проголосовало 2/3 участников сети. Это упрощённая версия.
 
 
</div>
<span id="otlichija_konsensusa"></span>
=== Отличия консенсуса: ===
 
<div class="level3">
 
<ul>
<li><div class="li">
 
Если 2/3 голосов не набирается, консенсус становится на паузу и ждёт.
 
</div></li></ul>
 
<ul>
<li><div class="li">
 
Если 2/3 набирается, блок можно считать окончательным. То есть не нужно ждать 10 или 100 блоков (probabilistic finality), чтобы убедиться, что транзакция не будет откачана.
 
</div></li></ul>
 
<ul>
<li><div class="li">
 
Нет гонки за создание блока (энергозатраты минимальны). В данный момент в качестве алгоритма выбора ноды, которая будет создавать блок, используется циклический перебор, взвешенный согласно доле криптовалюты, которой владеет нода. Если у ноды A 100 монет, у ноды B и C по 10 монет, то A будет чаще назначаться создателем блока.
 
</div></li></ul>
 
'''[[commoninfo:vizantyfaulttolerance|BFT-консенсус]]''' гарантирует корректную работу компьютерной сети, пока хотя бы 2/3 узлов блокчейн-сети, участвующих в формировании блоков (валидаторы), работает корректно.
 
 
</div>
<span id="kak_ustroen_tendermint"></span>
= Как устроен Tendermint =
 
<div class="level1">
 
Tendermint состоит из двух основных технических компонентов — '''движка механизма консенсуса''' и '''интерфейса приложения''' . Движок механизма консенсуса, называемый Tendermint Core, обеспечивает запись одних и тех же транзакций на каждой машине в одном и том же порядке. Интерфейс приложения, называемый Application BlockChain Interface (ABCI), позволяет обрабатывать транзакции на любом языке программирования.
 
Другими словами, Tendermint обеспечивает эффективную ретрансляцию изменений в блокчейне по всей сети, гарантируя, что каждый узел имеет одни и те же журнал транзакций и состояние блокчейна. Механизм консенсуса pBFT (practical Byzantine Fault Tolerance) является ключевым звеном блокчейна Decimal и используется нами без каких-либо изменений.
 
 
 
</div>
<div style="clear:both">
 
 
 
</div>
 
</div>
[[commoninfo:vizantyfaulttolerance|BFT-консенсус]]  
[[Category::Commoninfo]]

Latest revision as of 11:43, 7 February 2024

Tendermint is a consensus algorithm that is resistant to «Byzantine falls» (any malicious actions).

The algorithm was invented in 2014 by Jae Kwon, who was concerned about the problem of high power consumption of the Bitcoin network. Unlike Nakamoto consensus, where the chain with the largest amount of work is selected, Tendermint selects the chain where 2/3 of the network members voted for the block. This is a simplified version.

Differences of consensus

  • If 2/3 of the votes are not collected, the consensus pauses and waits.
  • If 2/3 is collected, the block can be considered final. That is, you do not need to wait for 10 or 100 blocks (probabilistic finality) to make sure that the transaction will not be pumped out.
  • There is no race to create a block (energy consumption is minimal). At the moment, a cyclic search is used as an algorithm for selecting the node that will create the block, weighted according to the share of the cryptocurrency that the node owns. If node A has 100 coins, node B and C have 10 coins each, then A will be assigned more often by the block creator.

BFT-consensus guarantees the correct operation of the computer network, as long as at least 2/3 of the nodes of the blockchain network involved in the formation of blocks (validators) work correctly.

How Tendermint works

Tendermint consists of two main technical components — the «consensus engine» and the «application interface».

  • The consensus engine, called Tendermint Core, ensures that the same transactions are recorded on each machine in the same order.
  • The application interface, called the Application BlockChain Interface (ABCI), allows you to process transactions in any programming language.

In other words, Tendermint provides an efficient relay of changes to the blockchain throughout the network, ensuring that each node has the same transaction log and blockchain status. The pBFT (practical Byzantine Fault Tolerance) consensus mechanism is a key link of the Decimal blockchain and is used by us without any changes.

See also