Why Is Cosmos' Consensus Mechanism, Tendermint, So Popular?!

Do repost and rate:

The Cosmos network uses Tendermint Core, ??a language-agnostic consensus algorithm that enables developers to replicate dapps in whatever programming language they wish. Tendermint Core is a Byzantine Fault Tolerant (BFT) consensus mechanism for distributed systems; this means that even if as much as one-third of the machines in the network arbitrarily fail, the network still reliably reaches the same version of events and executes the same state. 

Tendermint Core achieves Byzantine Fault Tolerance via validators that stake ATOM and "vote" on blocks of transactions in rounds. Validators confirm transactions and broadcast cryptographic signatures to "vote" on the validity of state changes in the network. Validators cannot sign invalid or duplicate transactions or else they will have their staked ATOM* "slashed" (i.e., taken from them).

Source: Kraken

Tendermint BFT has three blockchain layers:

  • Application layer - Code that creates some type of functionality.
  • Networking layer - Broadcasts the transactions and consensus-related messages.
  • Consensus layer - Allows nodes (computers) to agree on the current state of the system.

@CryptoPragmatist

Application Blockchain Interface (ABCI)

The problem with these layers is you have to build them from the ground up when creating a blockchain. Tendermint BFT connects to the application layer via the Application Blockchain Interface (ABCI). It's a protocol that allows developers to use any programming language they want, saving them lots of time and allowing them to focus solely on their application layer.

The other component of Tendermint that comprises Tendermint software, in addition to Tendermint Core, is the Application Blockchain Interface (ABCI). The ABCI, along with a Socket Protocol that manages the peer-to-peer element of the network, helps those building applications on Tendermint by isolating the transaction data (and similar) from the consensus mechanism. Additionally, the ABCI allows transactions to be processed and interacted with via any programming language; one isn’t wedded to the language used to implement the state. Ultimately, ABCI is the interface that connects the application part of the blockchain to the Tendermint state replication engine, which provides the consensus and networking mechanisms.

Conversely, Bitcoin, Ethereum, and their variants use Satoshi Nakamoto’s consensus, which requires waiting for the creation of several blocks to ensure transactions cannot be reverted. As a result, Nakamoto chains have high availability but low transaction speed due to their probabilistic finalization guarantee, which requires waiting for the chain to be long enough. To achieve faster finality, Cosmos (and others) use the classical Practical Byzantine Fault Tolerance (PBFT) consensus, which improves TPS but limits the possible number of validators in the network. 

PBFT requires all nodes in the network to communicate with one another constantly so that the network may reach consensus with absolute certainty. It has low latency and quick finality, but it can’t scale to many participants in a global open network because the load on each validator node increases exponentially as the validation work increases. A block is considered to be finalized by the network after 2/3 of validators have broadcast their commits.

Image credit: Cosmos ??????

Cosmos whitepaper describes the protocol as a "partially synchronous BFT consensus protocol derived from the DLS consensus algorithm." DLS is short for “Dwork, Lynch, and Stockmeyer,” the authors of the 1988 paper entitled “Consensus in the Presence of Partial Synchrony.” The whitepaper lays out a case for how Cosmos provides strong security guarantees while scaling to the order of thousands of transactions per second (under sub-optimal conditions, such as when validators are crashing or behaving maliciously by sending false votes); additionally, Cosmos hopes to prevent long-range-nothing-at-stake double spend attacks and censorship. 

Proof-of-Stake (with Something at Stake)

Tendermint was the first project to demonstrate a conceptual solution to the nothing-at-stake problem that plagued early PoS blockchains. Essentially, Tendermint’s consensus mechanism involves a security deposit element to the “stake,” which users stand to lose if they behave maliciously or ineffectively. This is in contrast with earlier permutations of PoS systems whereby users just had to have tokens in a wallet in order to participate in the network’s consensus. In Cosmos, it can be said that validators have “something at stake” instead of “nothing-at-stake,” as malicious activities are punished by having some of their staked ATOM slashed or burned. Prior to PoS systems that required validators to have capital at risk (in virtue of it being staked), it wasn’t clear how double-spend attacks could be prevented by those with even  of the network's tokens (as opposed to 51% of the computational capacity). 

Source: Kraken

PoS is sometimes considered to have several benefits over PoW, such as shorter time to transaction finality (sufficient confirmations and commitment to the ledger), and improved capacity for transaction throughput in addition to volume, all in addition to massive improvements in energy efficiency. Of course, there’s an implied trade-off with regards to the scalability trilemma here: the security element is essentially moved to a different form, rather than computational power, it’s some agent’s willingness to stake their capital. Early permutations on alternative blockchain consensus mechanisms, in addition to PoS-based networks, included the Proof of Authority (PoA) Network, where the network is maintained by a trusted set of validators who are all U.S. notaries. Rather than trusting hash algorithms and cryptographic complexity, one trusts their interpretation of agents' motivations and their relationships to their capital (PoS) or their identity (PoA).

Cosmos originally launched in March 2019 with 100 validators and has  validators as of 2023, with a total of ~300 planned. Cosmos Hub validators can accept any token as a fee for processing a transaction. Block times are seven seconds, and the network can theoretically handle over 1,000 transactions per second. The upper limit has never been tested, and thus, any claims beyond current usage remain theoretical. 

L1 validator requirements comparison. Source: Saurabh Deshpande

In PoS systems, validators serve as consensus nodes. In Cosmos, stakers (sometimes called ) assign their stakes to validators. A validator’s voting power is determined by the proportional amount of stakes allotted to it. In Cosmos, validators are chosen to propose the next block by their voting power—i.e., a validator that holds 15% of the voting power will get to propose the next block 15% of the time.

Such a system allows stakers or delegators to contribute to the project without needing substantial computing power of their own. For example, someone with an average laptop or even a smartphone can choose to stake their ATOM and start earning rewards, which is covered more in Economics

Staking is not risk-free, as delegated ATOM can be slashed if a validator acts maliciously or against consensus. Slashing refers to when staked tokens are burned, and the user/validator can’t get them back. Validators can be slashed if they’re offline for long periods of time (minor offense and small stake slashed) or have ~5% slashed if they sign two different blocks (malicious activity). 

Regulation and Society adoption

Ждем новостей

Нет новых страниц

Следующая новость