Cosmos For Beginners 7
Cosmos For Advanced 7
Cosmos Quiz 1
What Is Tendermint
Tendermint is a variant of the Practical Byzantine Fault Tolerance. The BFT system is a system that answered all of the Byzantine General’s problems but we will explain with a simple example.
Imagine there’s a group of generals that want to attack a city and they are facing two major problems. First, their armies are far apart which means the centralized authority is impossible, making the coordinated attack very hard. The city has a huge army as well and they could only win if they attack all at once. Si in order to be coordinated, the armies need to send a messenger that will inform them. Have in mind that the messenger could be late which is where they face the second problem.
Plenty of things could happen in between which could lead to the armies getting bad info and result in an uncoordinated attack and possibly defeat. Referencing to the blockchain, the chain is actually a huge network so how can you possibly trust it? If you send someone 2 ether from your wallet, how will you be sure that someone on the network is not going to tamper with it? What the generals need is a consensus mechanism that will make sure their armies are able to attack as a unit and Tendermint functions as one.
Tendermint has a fork accountability. Bitcoin and Ethereum are not really fork-accountable as forks keep on happening in both of these networks. Having a system that is fork-accountable will prevent malicious actors from causing a split in the system and it also reduces the chances of a double-spend attack. Tendermint is a BFT consensus mechanism that is simple and has high performance. The consensus process takes place at a block height and the process to determine the next block contains multiple rounds.
The BFT engine is the key element of the layered design of Cosmos as it allows developers to create more blockchains without having to code from scratch. The BFT packages the consensus and the networking layers into one generic engine allowing developers to focus on application development instead of the complex protocols. Tendermint, therefore, saves plenty of development hours as it is an algorithm used by computers running on cosmos to validate transactions and secure networks and also commit blocks to the blockchain, using the Application Blockchain Interface to connect applications via a protocol.
Tendermint Core on the other hand uses a PoS mechanism that keeps the distributed network running cosmos Hub together. The validator nodes need to stake ATOM to power the blockcahin and to vote on changes. The amount of ATOM staked will determine the voting power so all users are allowed to delegate the tokens to other validators, allocating votes to them while still earning a portion of the block reward.
Tendermint is private or public blockchain ready as its role Is to handle networking and consensus layers of the blockchain which means it helps nodes to propagate tranactions and validators agree on the transactions to append to the blockchain. The role is to define how the validator set is constituted therefore it enables developers to build both private and public blockchains using the BFT engine. The developers can also customize the rules that define the validator set of the blockchain modifies. It can also handle thousadns of tranactions per second and have a block time on the order in every minute. Tendermint is also accountable and fault-tolerant.