论文标题

区块链共识的整体验证

Holistic Verification of Blockchain Consensus

论文作者

Bertrand, Nathalie, Gramoli, Vincent, Konnov, Igor, Lazić, Marijana, Tholoniat, Pierre, Widder, Josef

论文摘要

区块链最近引起了该行业的关注,部分原因是它具有自动化资产转移的能力。尽管存在恶意(又称拜占庭)参与者,但它要求分布式参与者达成共识。恶意参与者会定期利用这些区块链共识算法的弱点,有时会带来毁灭性的后果。实际上,这些弱点很普遍,并且通过现有区块链共识方案的手写证明中的缺陷很好地说明了这些弱点[63]。矛盾的是,到目前为止,没有使用模型检查对区块链共识进行整体验证。 在本文中,我们通过模型检查第一次在行业中使用的区块链共识来补救这种悖论。我们提出了一种整体方法,以验证红色腹部区块链[20]的共识算法,对于任何数字$ n $流程和任何数字$ f <n/3 $ byzantine流程。我们将算法伪代码直接分为两个部分(一个内部广播算法和外部决策算法),每个部分都以阈值自动机制[36]建模,我们在线性时间逻辑中正式化了它们的预期属性。然后,我们在经过精心识别的公平假设下自动检查内部广播算法。为了验证外部算法,我们通过依靠其检查属性来简化内部算法的模型。这样做,我们不仅正式验证了红色腹部区块链共识的安全性能,而且还可以在70秒内正式验证其可笑性。

Blockchain has recently attracted the attention of the industry due, in part, to its ability to automate asset transfers. It requires distributed participants to reach a consensus on a block despite the presence of malicious (a.k.a. Byzantine) participants. Malicious participants exploit regularly weaknesses of these blockchain consensus algorithms, with sometimes devastating consequences. In fact, these weaknesses are quite common and are well illustrated by the flaws in the hand-written proofs of existing blockchain consensus protocols [63]. Paradoxically, until now, no blockchain consensus has been holistically verified using model checking. In this paper, we remedy this paradox by model checking for the first time a blockchain consensus used in industry. We propose a holistic approach to verify the consensus algorithm of the Red Belly Blockchain [20], for any number $n$ of processes and any number $f<n/3$ of Byzantine processes. We decompose directly the algorithm pseudocode in two parts -- an inner broadcast algorithm and an outer decision algorithm -- each modelled as a threshold automaton [36], and we formalize their expected properties in linear-time temporal logic. We then automatically check the inner broadcasting algorithm, under a carefully identified fairness assumption. For the verification of the outer algorithm, we simplify the model of the inner algorithm by relying on its checked properties. Doing so, we formally verify not only the safety properties of the Red Belly Blockchain consensus but also its liveness in about 70 seconds.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源