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.