What
- In blockchain, there’s a constant tradeoff between Safety and Liveness.
Safety:
- Nothing bad ever happens.
- Two honest nodes will never finalise conflicting transaction histories.
Liveness
- Something good eventually happens.
- New, valid transactions will eventually be added to the ledger.
The Tradeoff:
- You cannot guarantee both perfect safety and perfect liveness if some nodes may fail or act maliciously.
- In other words, you can’t trust every node to honestly contribute (or contribute at all) to a ledger, so you must ensure you get a consensus.
- But you can’t wait forever trying to get a consensus.
- A good Consensus Protocol aims to have a good balance between them.