Musings on Blockchain Scalability Solutions, Consensus Mechanisms, and Code Robustness — Part 2
On Consensus Mechanisms — “ …a process in computer science used to achieve agreement on a single data value among distributed processes or systems. Consensus mechanisms are designed to achieve reliability in a network involving multiple unreliable nodes. … As a result, consensus mechanisms must be fault-tolerant.”
Consensus Mechanisms form the security backbone of decentralized protocols. They are the explicit instructions on how all nodes come to “consensus” on data/information transfer within decentralized networks.
A truly robust decentralized Consensus Mechanism is resistant to a so-called a term in Computer Science known as “Byzantine Failures” meaning it can handle situations in which nefarious actors attempt to hack/disrupt the network, by preventing and flagging the ill-willed parties. They are aptly named “Byzantine Fault Tolerant” systems or BFT for short.
“Proof of Work” (PoW) is the most utilized and tested BFT Consensus Mechanism within cryptocurrencies, although there is ongoing research on other mechanisms namely, Proof of Stake. In PoW — miners must “work” to validate transactions. The “work” is the computing power that is allocated towards solving for the hash algorithms required to verify a block of data. In essence, the computing power + electricity costs required to solve the hash algorithms ensures that the miners are acting favorably and ensuring the network’s security and credibility. PoW is arguably the simplest way to achieve consensus.
Proof of Stake (PoS) on the other hand utilizes “staking” as an incentive — nodes on the network stake a particular amount of their holdings in order to validate/process transactions (also known as “virtual mining”). PoS is significantly more complex in that it requires a lot more behavioral economic/Nash equilibrium modeling to prevent staking nodes from colluding and thus controlling a majority of the network. On the flip side there are no massive amounts of computing power + electricity costs expended as is the norm with PoW. Nefarious actors risk losing their staked amount, which is a significant monetary sum.
Ethereum’s Casper protocol headed by Vlad Zamfir is the most advanced in terms of a robust PoS consensus, and is slated for implementation some time next year; Tezos, Tendermint (Cosmos) and Ouroboros are all competitors to Casper that also boast BFT within Proof of Stake consensus.
Additional research conducted into Byzantine Fault Tolerant systems include “asynchronous BFT” (ABFT) in which consensus is mathematically guaranteed at particular point in time irregardless of external network variables involved (such as internet speed/throughput). Rather than imposing “work” or a “stake”, consensus in ABFT involves messages that are passed within the network to nodes — each node must then exert slight compute power to retrieve the message’s contents before passing it on. Then all nodes (at a minimum 2k+1 nodes with “k” denoting the number of potential bad actors/Byzantine faults) convene to agree on what information was transmitted, thus achieving consensus.
Protocols that boast ABFT include Stellar — specifically their “ Federated Byzantine Agreement” which utilizes so-called quorums and quorum slices to achieve consensus.
Hashgraph (backed by Dallas-based company Swirlds )has released an innovative brand new method for consensus within decentralized networks that are ABFT which utilizes a “Gossip” feature for fast data-transfer amongst nodes. It is arguably more efficient than PoW (see here https://www.youtube.com/watch?time_continue=1109&v =rhHfjOqlUv4) yet it has yet to be fully tested in mainstream decentralized applications. A software developer kit (SDK) is available on their website here (https://hashgraph.com/#sdk).
There are trade-offs for every BFT consensus mechanism — knowing which is the ideal one to implement depends on the real-world problem the protocol is attempting to solve for in utilizing a decentralized network.