1

Many often associate Proof of Work, Proof of Stake, etc with blockchain consensus algorithm/mechanisms.

I find that association to be inaccurate. Yes, proof of work / proof of stake are mechanisms by which leaders are elected to validate transactions. It is a crucial part in building consensus but not the only thing. For example, in bitcoin blockchain, the longest chain wins -- this to me is also considered as a crucial part in building consensus across the nodes.

As a blockchain nazi, to me, it only makes sense to call the distributed consensus algorithms such as Paxos, Raft, PBFT, etc as consensus algorithm/mechanisms because of its theoretical/mathematical underpinnings.

Why then is Proof of Work, Proof of Stake used interchangeably with Consensus Mechanisms/Algorithms?

2 Answers 2

1

good question! I've been struggling with it, myself.

The answer is because Satoshi calls PoW a consensus mechanism in the Bitcoin whitepaper:

Nodes can leave and rejoin the network at will, accepting the proof-of-work chain as proof of what happened while they were gone. They vote with their CPU power, expressing their acceptance of valid blocks by working on extending them and rejecting invalid blocks by refusing to work on them. Any needed rules and incentives can be enforced with this consensus mechanism

However, the article: A Primer on Blockchain Design states that they are not consensus mechanisms!

PoW, PoS and DAGs are NOT consensus protocols The much hyped concepts of Proof-Of-Work, Proof-of-Stake and Directed Acyclic Graphs are often mistakenly advertised as “consensus protocols”. Neither of them are, but rather address the key challenges of a robust blockchain design: Sybil resistance and asynchronicity.

This twitter thread explores the idea that we should call them sybil resistance mechanisms:

https://twitter.com/el33th4xor/status/1006931658338177024

On Quora: Are consensus algorithms only proof-of-work, proof-of-stake, proof-of-elapsed time etc.?

We can divide the universe into four types of consensus algorithms:

Known participants, non-byzantine failure: Paxos, Raft
Unknown participants, limited attack modes: Chord (original) and other distributed hash tables
Known participants, byzantine failure: PBFT, UpRight, Byzantine Paxos
Unknown participants, byzantine failure: Proof of Work, Proof of Stake, S-Chord

[snip]

I don’t think that I’ve seen somebody else make the same classification; I threw it together based on examples I was aware of.

I think it is certainly more accurate to view PoW and PoS as components of a distributed consensus algorithms; they are not algorithms in and of themselves.

0

From my understanding, as you add blocks there is a chance of the block chain temporarily splitting.

E.g. Block A has just been added, but at the same time block B was added. This creates a split in the chain, Chain A and Chain B. Blocks are continually added onto both, but eventually the network agrees on 1 chain and the other chain is discarded. Thats why you have to wait for confirmations when you deposit ether on to exchanges, they are waiting for the network consensus that the deposit has actually happened.

So it is a mechanism, although not the best one to form consensus. An example of blockchain that uses PBFT that you mentioned would be zilliqa.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.