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


references

https://mirror.xyz/0xaFaBa30769374EA0F971300dE79c62Bf94B464d5/us0MyyUNYwSXazM0YCrGscbRWr18s0aIIZqyHBbTWfM