There's no explicit agreement by nodes on which chain is the longest

in #bitcoin7 years ago

Use of the word "consensus" to describe Bitcoin's PoW algorithm has done irreparable harm to people's understanding of the protocol. There's no explicit agreement by nodes on which chain is the longest. Every node just uses the longest one it can find as its source of truth.

Bitcoin's design is leaky in that miners perform significant validation on blocks before broadcast. You could instead imagine miners only agreeing on the order of transactions, and then letting full nodes do more of the validation automatically.
image.png

It's worth remembering that nowhere in the Bitcoin protocol is there a notion of the balance of an address, just the values of individual inputs and outputs. It's up to the Bitcoin client, running on each full node independently, to calculate balances.

This is the sense in which Bitcoin uses "state machine replication". Blockchains that aren't as optimized for one particular use case can use a purer model, where more computation is done by full nodes and even less is done at the "consensus" protocol layer.

Ideally, you put as much as little logic as possible in the network protocol, which agrees upon the order of TXs, and as much as possible in the state machine, which parses + interprets them. SMR is great for fault tolerance because each node operates independently.

Sort:  

Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:

agkrellenstein Adam Krellenstein tweeted @ 05 Mar 2018 - 02:31 UTC

1/ Use of the word "consensus" to describe Bitcoin's PoW algorithm has done irreparable harm to people's understand… twitter.com/i/web/status/9…

Disclaimer: I am just a bot trying to be helpful.