Classic BFT consensus protocols guarantee safety and liveness for all clients if fewer than one-third of replicas are faulty. However, in applications such as high-value payments, some clients may want to prioritize safety over liveness. Flexible consensus allows each client to opt for safety against more than one-third faulty replicas, albeit at the expense of liveness under fewer faults. I will present the first construction that allows the optimal safety-liveness tradeoff for every client simultaneously. This construction is modular and is realized as an add-on applied on top of an existing consensus protocol. I adapt this construction to the existing Ethereum protocol in the form of optimal flexible confirmation rules that clients can adopt unilaterally without requiring system-wide changes. I will show results and insights from implementing the confirmation rules on an Ethereum client.
This talk is based on a paper set to appear at IEEE S&P 2024 and is a joint work with Joachim Neu, Lei Yang, and David Tse.