NEO is one of the top public chains worldwide. We focus on its backbone consensus protocol, called delegated Byzantine Fault Tolerance (dBFT). The dBFT protocol has been adopted by a variety of blockchain systems such as ONT. dBFT claims to guarantee the security when no more than $f = \lfloor \frac{n}{3} \rfloor$ nodes are Byzantine, where $n$ is the total number of consensus participants. However, we identify attacks to break the claimed security. In this paper, we show our results by providing a security analysis on its dBFT protocol. First, we evaluate NEO's source code and formally present the procedures of dBFT via the state machine replication (SMR) model. Next, we provide a theoretical analysis with two example attacks. These attacks break the security of dBFT with no more than $f$ nodes. Then, we provide recommendations on how to fix the system against the identified attacks. The suggested fixes have been accepted by the NEO official team. Finally, we further discuss the reasons causing such issues, the relationship with current permissioned blockchain systems, and the scope of potential influence.
翻译:近地天体是全世界最大的公共链条之一。 我们侧重于其主干共识协议,称为Byzantine Fault容忍(dBFT) 。 dBFT协议已被各种块链系统,如ONT. dBFT 索赔要求采用,以保证安全,只要不超过$f =\ lfloor =\ frac{n ⁇ 3}\ 下层元节点为Byzantine, 即协商一致参与者总数为$。然而,我们发现袭击是为了打破声称的安全。在本文中,我们通过提供其DBFT协议的安全分析展示了我们的结果。首先,我们评估了近地天体源代码,并通过国家机器复制模式正式展示了 dBFT程序。接下来,我们用两个例子进行了理论分析。这些袭击打破了dBFT的安全, 其金额不超过$f$。 然后,我们就如何对确定的攻击进行系统修复。建议的修复方法被近地天体官方团队接受。最后,我们进一步讨论了造成这些问题的原因、与目前允许的块链系统的关系以及潜在影响。