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 a higher safety resilience, albeit at the expense of reduced liveness resilience. We present the first construction that allows 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. The add-on consists of an additional round of voting and permanent locking done by the replicas, to sidestep a sub-optimal quorum-intersection-based constraint present in previous solutions. We adapt our construction to the existing Ethereum protocol to derive optimal flexible confirmation rules that clients can adopt unilaterally without requiring system-wide changes. This is possible because existing Ethereum protocol features can double as the extra voting and locking. We demonstrate an implementation using Ethereum's consensus API.
翻译:经典拜占庭容错共识协议保证,若不超过三分之一的副本节点发生故障,所有客户端均能获得安全性和活跃性。然而,在高价值支付等场景中,部分客户可能更优先考虑安全性而非活跃性。灵活共识允许每个客户端以降低活跃性韧性为代价,选择更高的安全性韧性。我们首次提出一种能够同时为每个客户端实现最优安全性-活跃性权衡的构造方案。该构造具有模块化特性,可作为现有共识协议的附加层实现。该附加层包含额外的投票轮次和副本执行的永久锁定机制,以规避此前方案中存在的次优仲裁交集约束。我们将此构造适配到现有以太坊协议中,推导出可由客户端单边采用而无需系统级更改的最优灵活确认规则。这一可行性源于现有以太坊协议的特性可同时充当额外投票与锁定机制。我们利用以太坊共识API实现了该方案。