Decentralized consensus is to achieve agreement on a single data value among a number of nodes, some of which might actively try to sabotage or deceive. In a blockchain based cryptocurrency, decentralized consensus of the correct state of the network's transaction history, as recorded on the public blockchain, is achieved through mining where miners perform proof of work.
In cryptocurrencies, decentralized consensus of ownership and ownership transfer as atomic transactions is important to make transactions irreversible, making it impossible to spend the same coin twice. This is basically the same as saying it is ACID (Atomicity, Consistency, Isolation, Durability) compliant.
Minimizing trust or making a system trustless removed single points of failure and takes human judgements out of the loop to allow complete automation.
When consensus is not decentralized, but instead being done by a single trusted party, it becomes possible to reverse transactions. It is in theory possible to reverse a transaction in a blockchain through a hard fork, but that requires a consensus of participant nodes and is thus very difficult to achieve in practice. After The DAO hack, the theft was reversed, but there was a sizable minority that didn't want the theft to be reversed, resulting in both forks living on as two different chains, Ethereum and Ethereum Classic
Decentralized consensus was shown to be possible when Bitcoin was released in 2009. To be able to double spend a bitcoin a user would in general need to have more than 51% of the hashing power of the network.
A decentralized consensus protocol must satisfy the following properties
- Every correct process decides some value.
- If all correct processes propose the same value v, then all correct processes decide v.
- If a correct process decides v, then v must have been proposed by some correct process.
- Every correct process must agree on the same value.
A protocol that can correctly guarantee consensus amongst n processes of which at most t fail is said to be t-resilient.
A blockchain is an append only data structure that forms the history of all transactions.
Directed acyclic graph
Many blockchain-free cryptocurrencies work on a seomwhat similar concept to blockchain, but instead use a directed acyclic graph. IOTA, Byteball, DagCoin, SafeCoin, Swirlds
Tangle is the data structure of IOTA
Hashgraph is the data structure of byteball
Byteball is a DAG. Byteball is not trustless like most other cryptocurrencies.
Close group consensus
- This article incorporates text available under the CC BY-SA 3.0 license.