Some words on the blockchain Consensus from an upcoming small book on Ethereum. If you have suggestions for any topics, please DM or comment.
I've seen people talk about PoW & PoS are blockchain consensus algorithms, but aren't they Sybil Resistance mechanisms.
PoW & PoS are Sybil Resistance mechanisms that prevent from such attacks. Where as the consensus is an algorithm that is computed or mined.
We know there are thousands of nodes running on a blockchain, and every node could be engaged in some different computation. In order to reach a particular state of the blockchain, a mechanism is used called the consensus.
Consensus algorithm used by Bitcoin is Nakamoto Consensus and EthHash in the case of Ethereum.
It is during the computation where nodes reach this consensus or agree on some single value or single state of the blockchain in a distributed process.
In public blockchains, this means that once the computation is completed all the other nodes will validate it, and once 51% of the nodes approve that particular computation, the computation is considered to be completed.
As we know in blockchain, data or transactions are stored in blocks but before storage they are computed by the nodes and the node that completes that computational (mathematical) problem first is said to be the author of that block.
Now since people can create multiple addresses to run these nodes and get an advantage over other users or even try to manipulate the blockchain, as majority rules in blockchain, we have some algorithms/mechanisms called Sybil resistance algorithms/mechanisms, which are used and implemented in order to avoid these spamming. These mechanisms are helpful against Sybil attacks.
The most popular Sybil Resistance mechanisms are:
- Proof-of-Work (PoW).
- Proof-of-Stake (Pos).
Sybil attack is when a single person creates multiple nodes or tries to flood the network with different identities to get an advantage over other nodes or use them to gain disproportionately larger influence on the blockchain.