A consensus algorithm is a procedure through which all the peers in the network reach a common agreement about the present state of the distributed ledger. In this way, consensus algorithms achieve reliability in the P2P network and establish trust between unknown peers in a distributed computing environment.
"Consensus is defined by a generally accepted opinion or decision among a group of people" - Cambridge Dictionary
Today, there are many consensus mechanisms in distributed computing and blockchains, but most of them solve few aspects and sacrifice other.
For example: In Bitcoin (where the consensus mechanism used is Proof of Work) the main focus is on decentralization and security but the other aspects like scalability, energy consumption, are completely busted. (figure below)
Uniris on the other hand focuses on all the pillars of the blockchain giving an overall balanced high performing solution called ARCH Consensus.
So, how does an "Uniris's ARCH Consensus" looks like?
- It is fast (i.e scalability), linearly scalable.
The scalability (TPS) = number of nodes in Uniris network (N) * 100
- It is secure and is resistant to all threats and is capable of resisting until <= 90% attack. This means that, even with 90% malicious nodes in the network, Uniris is still secure.
- It is decentralized and a public and permission-less blockchain, it allows anyone to join and participate in the network. It ensures that no single actor or a group of actors can hijack the chain, censor it, or introduce changes in governance through backroom deals and is free of bugs.
ARCH Consensus in non-tech terms:
Consider a village of 100,000 people where every person in the village, keeps the entire payments records of all the people in the village. Alice and Bob are citizens of the village.
Traditional Consensus: When Alice sends Bob 10 units (of some currency) you normally expect all the 100,000 people approve this transaction, this takes a lot of time and the village will not be able to process a lot of these transactions.
ARCH Consensus: When Alice sends Bob 10 units (of some currency), the transaction is validated by randomly selecting 200 people out of 100000 people, where all the 200 selected will have the same answer. This takes very less time to validate and the village is able to process any number of transactions.
Traditional Consensus (100000 approvals) == ARCH Consensus (200 approvals)
ARCH Consensus in Uniris Network
ARCH Consensus in blockchain is a new mechanism, where only a small subset of nodes verifies each transaction. ARCH Consensus is based on Hypergeometric Distribution Laws which, from an unpredictable election and a formal consensus of nodes, makes it possible to obtain with certainty (99.9999999%) the same answer by querying 200 nodes as would be obtained by querying 100,000. In other words, this mathematical law makes it possible to obtain an universal consensus from a small part of the nodes.
The 200 nodes should then have an Atomic Commitment for the transaction validation i.e have the same responses for the transaction validation. This property thus enters into the Heuristics concept widely used on the whole network.
Note: Atomic Commitment is the form of "absolute" consensus that implies 100% concordant responses for the acceptance or refusal of the transaction validation.
When a transaction is sent to the P2P Network of 100,000 nodes (even at 90% malicious nodes and 10% good nodes), instead of asking all the 100,000 nodes to validate the transaction, ask 200 nodes that are unpredictable and randomly selected and all the 200 nodes should have the same responses for the acceptance or refusal of the transaction validation.
Hypergeometric Laws ensures that atleast 1 out of the 200 nodes elected/selected will be a good node (even at 90% malicious nodes and 10% good nodes).
Even if atleast 1 node has a different response then the transaction is further investigated.