Glossary of Terms
Useful terms for discussing and defining blockchain technology
At its core, a blockchain is a distributed and immutable database. Participating validators (nodes or computers) in the network store a growing list of records, also called blocks. Each new block contains information about the previous blocks, creating a chain of data. Changes cannot be made to one block of data without also altering every subsequent block.
Smart contracts are programs built on a blockchain that run automatically when its conditions are met. Other blockchain environments use smart contracts (rather than an application specific blockchain, like on Cosmos) to run the dApps associated with it.
Application specific blockchains are chains designed and built to run a specific app. This is in contrast to smart contracts, which traditional blockchain protocols use to run decentralized apps.
In order for a blockchain to be useful, the validators in the network must be able to agree to a single version of the collated data. The term consensus mechanism refers to the method by which the validators reach that agreement. Consensus mechanisms are a safety measure against potentially faulty data and potentially malicious validators.
BFT stands for Byzantine Fault-Tolerance. A Byzantine Fault-Tolerant consensus algorithm guarantees safety against up to a third of Byzantine, or malicious, validators. At this threshold, a chain using BFT consensus will halt to prevent further corruption.
The original consensus mechanism was introduced by Bitcoin and is known as Proof-of-Work (PoW). This consensus mechanism requires validators in its network to complete complex computational problems, "work", before it can contribute to the chain. This provides chain safety by making the cost of taking over the network (running enough malicious validators to reach consensus) more than any potential gains that could be earned. However, this "work" also makes PoW slower than other consensus mechanism.
Proof-of-Stake (PoS) is a consensus mechanism that only requires validators in its network have tokens staked on the chain. This makes it much faster than the PoW model, as no additional work is required. Staked tokens serve as collateral against malicious attacks by requiring network validators to have a financial interest in the chain. Potentially faulty or malicious validators are "slashed" and their staked tokens are lost. In a traditional PoS, network validators are chosen based on various criteria from the pool of available validators.
Delegated Proof-of-Stake (dPoS) seeks to solve some of the social issues created by PoS. Because the chain's safety relies on using validators with a financial stake in the chain, many PoS algorithms will favor wealthier validators, those with more staked tokens. dPoS removes this factor by using only a set of active validators. Validators chosen for the active set are voted on by the community in the form of staked tokens, delegated to the validator of choice.
IBC refers to Inter-Blockchain Communication Protocol. This is a key component of the Cosmos ecosystem as it allows the transference of data between different chains.