19 Jul 23 12:40 am type: related:
byzantine problem
i’ve seen “byzantine problem” written in many places, but never understood what it was
the Byzantine General’s Problem, where all computers reach agreement on a single decision in the presence of malicious computers
a byzantine node is a node which acts against the interest of all other nodes. it’s a malicious node who’s job is to stall progression and confuse other nodes about the final consensus.
satoshi nakamoto in the bitcoin whitepaper, came up with a consensus protocol which solves this problem.
he prioritized liveness over safety
his design makes sure the system remains alive and makes progress even if there’s a chance the decision could be reversed / changed in the short term.
due to that prioritization:
|consensus became open group, fork tolerant and financially incentive.
open group so that anyone willing to contribute, can contribute ( is not centralized / no entity to decide who should / should not contribute )
fork tolerant and eventual consistency because recent decisions can be reversed, but the final set eventually confirmed is FINAL.
financially incentive as the network makes the contributors ( computers ) profitable for partaking in the consensus protocol