Blockchain systems are designed, built and operated in the presence of failures. There are two dominant failure models, namely crash fault and Byzantine fault. Byzantine fault tolerance (BFT) protocols offer stronger security guarantees, and thus are widely used in blockchain systems. However, their security guarantees come at a dear cost to their performance and scalability. Several works have improved BFT protocols, and Trusted Execution Environment (TEE) has been shown to be an effective solution. However, existing such works typically assume that each participating node is equipped with TEE. For blockchain systems wherein participants typically have different hardware configurations, i.e., some nodes feature TEE while others do not, existing TEE-based BFT protocols are not applicable. This work studies the setting wherein not all participating nodes feature TEE, under which we propose a new fault model called mixed fault. We explore a new approach to designing efficient distributed fault-tolerant protocols under the mixed fault model. In general, mixed fault tolerance (MFT) protocols assume a network of $n$ nodes, among which up to $f = \frac{n-2}{3}$ can be subject to mixed faults. We identify two key principles for designing efficient MFT protocols, namely, (i) prioritizing non-equivocating nodes in leading the protocol, and (ii) advocating the use of public-key cryptographic primitives that allow authenticated messages to be aggregated. We showcase these design principles by prescribing an MFT protocol, namely MRaft. We implemented a prototype of MRaft using Intel SGX, integrated it into the CCF blockchain framework, conducted experiments, and showed that MFT protocols can obtain the same security guarantees as their BFT counterparts while still providing better performance (both transaction throughput and latency) and scalability.
翻译:屏障链系统是在出现故障的情况下设计、建造和操作的。 有两种主要的失败模式, 即崩溃断层和拜占庭断层。 拜占庭断层容忍协议提供了更强的安全保障, 因而被广泛用于连锁系统。 但是, 它们的安全保障以其性能和可缩缩缩性为代价。 一些工程改进了 BFT 协议, 而信任的执行环境( TEE) 被证明是一个有效的解决方案。 但是, 现有的这类工程通常假定每个参与的节点都配有TEE 。 对于参与者通常有不同硬件配置的连锁系统系统, 也就是说, 一些节点在TEE 协议中, 一些节点将TEE 以 为基础提供更强的安全保障, 现有的 TEEE- BFT协议不适用。 我们探索在混合断层协议下设计高效的分布式协议的新方法。 一般来说, 混合节点协议( MFT) 协议可以显示一个以美元为节点的网络, 其中, 以美元为两美元计的节点, 正在运行的直流压原则, 而不是直径直基 SG_ 。