Facebook的Calibra团队发表了一篇研究论文,概述了拜占庭式容错(BFT)测试的一种新方法。
Calibra的这项创新名为“Twins”,它包含了一种测试网络的BFT实现轻量级方法。
Calibra首创了BFT测试策略
该论文声称,虽然BFT系统“已经被广泛研究了20多年”,但该领域“缺乏测试BFT实现的原则性策略”。
该团队的测试方法运行一个节点上具有相同标识的两个实例,以模拟拜占庭行为——“包括模棱两可、重复投票和丢失内部状态”。
Calibra声称,Twins的操作员可以“系统地生成拜占庭式的大规模攻击场景,以可控的方式执行它们,并检查所需的协议属性。”
拜占庭容错
BFT是Leslie Lamport,Robert Shostak和Marshall Pease在1982年发表的一篇学术论文中提出的概念。
这个比喻描述的是这样一种情况:一群拜占庭将军和他们的军队包围了一座城堡,准备进攻。为了取得成功,所有各方必须同时发动攻击,然而,他们意识到团队中有一个叛徒,使部队难以一致行动。
在区块链的语境中,拜占庭这个比喻指的是网络在恶意行为者的威胁下维持协调的挑战,这些行为者试图通过传输错误或不准确的数据来造成网络中断。
而比特币通过它的工作量证明挖矿算法实现了拜占庭容错,这需要大量的资源投入,才能只对网络在短时间内产生很小的影响。
Twins有前途也有局限
上述论文概述了使用Twins来重现了几次著名的对BFT协议的攻击,并确定Twins能够在“几分钟内”就识别出其中两次攻击,这两次攻击是“社区花了十多年时间才发现的”。
Calibra的联合创始人兼董事会成员David Marcus在推特上写道:我在工作中最大的乐趣之一就是与业内最聪明、最有能力的人一起工作。这就是我们强大的研究团队测试BFT实现方面的一些前沿工作。
尽管这篇论文声称该系统可以识别许多以往的拜占庭容错,但作者们也承认“Twins尚不覆盖部分拜占庭行为”,包括那些没有完全揭示因果关系的过去的行为——而节点是根据这些先前行为来行动的。