Tendermint: Difference between revisions

From Decimal Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
No edit summary
No edit summary
Line 6: Line 6:
                     }}
                     }}
<div class="mikio-article-content">
<div class="mikio-article-content">
 
<div class="mikio-tags">
<div class="mikio-tags">




Line 14: Line 13:
<span id="tendermint"></span>
<span id="tendermint"></span>
= Tendermint =
= Tendermint =
 
<div class="level1">
<div class="level1">
 
'''Tendermint''' — это алгоритм консенсуса, устойчивый к «византийским падениям» (каким-либо злоумышленным действиям).
"Tendermint" is a consensus algorithm that is resistant to "Byzantine falls" (any malicious actions).
 
Алгоритм был придуман в 2014 году Дже Квоном, который был озабочен проблемой высокого энергопотребления сети Bitcoin. В отличие от Nakamoto-консенсуса, где выбирается цепочка с самым большим количеством работы, в Tendermint выбирается цепочка, где за блок проголосовало 2/3 участников сети. Это упрощённая версия.
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.
 
 
</div>
</div>
<span id="otlichija_konsensusa"></span>
<span id="otlichija_konsensusa"></span>
=== Отличия консенсуса: ===
=== Differences of consensus: ===
 
<div class="level3">
<div class="level3">
 
<ul>
<ul>
<li><div class="li">
<li><div class="li">
 
Если 2/3 голосов не набирается, консенсус становится на паузу и ждёт.
If 2/3 of the votes are not collected, the consensus pauses and waits.
 
</div></li></ul>
</div></li></ul>
 
<ul>
<ul>
<li><div class="li">
<li><div class="li">
 
Если 2/3 набирается, блок можно считать окончательным. То есть не нужно ждать 10 или 100 блоков (probabilistic finality), чтобы убедиться, что транзакция не будет откачана.
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.
 
</div></li></ul>
</div></li></ul>
 
<ul>
<ul>
<li><div class="li">
<li><div class="li">
 
Нет гонки за создание блока (энергозатраты минимальны). В данный момент в качестве алгоритма выбора ноды, которая будет создавать блок, используется циклический перебор, взвешенный согласно доле криптовалюты, которой владеет нода. Если у ноды A 100 монет, у ноды B и C по 10 монет, то A будет чаще назначаться создателем блока.
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.
 
</div></li></ul>
</div></li></ul>
 
'''[[commoninfo:vizantyfaulttolerance|BFT-консенсус]]''' гарантирует корректную работу компьютерной сети, пока хотя бы 2/3 узлов блокчейн-сети, участвующих в формировании блоков (валидаторы), работает корректно.
'''[[commoninfo:vizantyfaulttolerance|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.
 
 
</div>
</div>
<span id="kak_ustroen_tendermint"></span>
<span id="kak_ustroen_tendermint"></span>
= Как устроен Tendermint =
= How Tendermint works =
 
<div class="level1">
<div class="level1">
 
Tendermint состоит из двух основных технических компонентов '''движка механизма консенсуса''' и '''интерфейса приложения''' . Движок механизма консенсуса, называемый Tendermint Core, обеспечивает запись одних и тех же транзакций на каждой машине в одном и том же порядке. Интерфейс приложения, называемый Application BlockChain Interface (ABCI), позволяет обрабатывать транзакции на любом языке программирования.
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.
 
Другими словами, Tendermint обеспечивает эффективную ретрансляцию изменений в блокчейне по всей сети, гарантируя, что каждый узел имеет одни и те же журнал транзакций и состояние блокчейна. Механизм консенсуса pBFT (practical Byzantine Fault Tolerance) является ключевым звеном блокчейна Decimal и используется нами без каких-либо изменений.
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.
 




</div>
</div>
<div style="clear:both">
<div style="clear:both">




</div>
</div>
 
</div>
</div>
  [[commoninfo:vizantyfaulttolerance|BFT-консенсус]]  
  [[commoninfo:vizantyfaulttolerance|BFT-consensus]]  
  [[Category:Commoninfo]]
  [[Category:Commoninfo]]

Revision as of 06:05, 9 June 2022


Tendermint

"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.



BFT-consensus