We present a general consensus framework that allows to easily introduce a customizable Byzantine fault tolerant consensus algorithm to an existing (Delegated) Proof-of-Stake blockchain. We prove the safety of the protocol under the assumption that less than 1/3 of the validators are Byzantine. The framework further allows for consensus participants to choose subjective decision thresholds in order to obtain safety even in the case of a larger proportion of Byzantine validators. Moreover, the liveness of the protocol is shown if less than 1/3 of the validators crash. Based on the framework, we introduce Lisk-BFT, a Byzantine fault tolerant consensus algorithm for the Lisk ecosystem. Lisk-BFT integrates with the existing block proposal mechanism, requires only two additional integers in blocks and no additional messages. The protocol is simple and provides safety in the case of static validators if less than 1/3 of the validators are Byzantine. For the case of dynamically changing validators, we prove the safety of the protocol assuming a bound on the number of Byzantine validators and the number of honest validators that can change at one time. We further show the liveness of the Lisk-BFT protocol for less than 1/3 crashing validators.
翻译:我们提出了一个普遍共识框架,允许很容易地将可定制的Byzantine误差容忍性共识算法引入现有的(授权的)Byzantine制片链。我们证明协议的安全性,前提是假设不到1/3的验证人为Byzantine。框架还允许协商一致的参与者选择主观决定阈值,以获得安全,即使在比例较大的Byzantine验证人的情况下也是如此。此外,如果协议的寿命低于验证人崩溃的三分之一,则显示协议的活力。根据该框架,我们引入了Lisk-BFT,即Byzantine误差容忍性共识算法,用于Lisk生态系统。Lisk-BFT与现有区提案机制合并,只需要在区块内增加两个整数,而没有附加信息。协议简单,如果静态验证人少于1/3的验证人为Byzantine验证人,则提供安全性。对于动态变化的验证人来说,我们证明协议的安全性是对活体验证人数和诚实的验证人数,以便一次改变FTA的有效协议。我们进一步展示了Lissk3。