Lets assume there are 2/3 honest nodes (non-byzantine). I call this set of nodes set A.

Please tell me if I'm wrong, but AFAIK there are two main approaches, one that favors safety over liveness and one that does favor liveness over safety.

Favors safety question: When half of set A votes on a different block then the other half of nodes in set A, then a node has to sacrifice itself in order to achieve liveness by getting slashed, right? (At least in a full PoS Casper implementation without PoW or if this happens constantly in a hybrid PoS Casper implementation and we want to achieve finality)

Favors liveness question: I do not understand how favors liveness would work, does it mean the protocol has the ability to have a non-commited epoch at an epoch i.e. for example just a prepared epoch? Or does liveness refer to something completely different?

1 Answer 1


I think you're asking about the CAP Theorm, which essentially says that, in the case of network partition, a system has to choose between consistency and availability.

In the case of a network partition, Casper FFG allows a blockchain to continue being built, while also having the property that all nodes will be aware that this chain is not finalized. Thus, we choose to have the blockchain remain available and not consistent, but all nodes are aware of the lack of finality!

Also, just because validators vote on some chain does not mean they cannot switch to voting on a different chain (if it's justified for them to do so). So we don't have to worry about the first example you describe, where validators have to voluntarily get themselves slashed. You can read the proof here - it's the plausible liveness proof.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.