Byzantine fault-tolerant agreement (BFT) in a partially synchronous system usually requires 3f + 1 nodes to tolerate f faulty replicas. Due to their high throughput and finality property BFT algorithms build the core of recent permissioned blockchains. As a complex and resource-demanding infrastructure, multiple cloud providers have started offering Blockchain-as-a-Service. This eases the deployment of permissioned blockchains but places the cloud provider in a central controlling position, thereby questioning blockchains' fault tolerance and decentralization properties and their underlying BFT algorithm. This paper presents SplitBFT, a new way to utilize trusted execution technology (TEEs), such as Intel SGX, to harden the safety and confidentiality guarantees of BFT systems thereby strengthening the trust in could-based deployments of permissioned blockchains. Deviating from standard assumptions, SplitBFT acknowledges that code protected by trusted execution may fail. We address this by splitting and isolating the core logic of BFT protocols into multiple compartments resulting in a more resilient architecture. We apply SplitBFT to the traditional practical byzantine fault tolerance algorithm (PBFT) and evaluate it using SGX. Our results show that SplitBFT adds only a reasonable overhead compared to the non-compartmentalized variant.
翻译:Byzantine 断层容忍协议(BFT)在部分同步系统中通常需要 3f + 1 节点来容忍有缺陷的复制品。 BFT 算法因其高吞吐量和最终属性而构建了最近允许的区块核心。 作为一个复杂和资源需求巨大的基础设施,多个云源供应商开始提供“链链”作为服务。这方便了允许的区块链的部署,但将云端提供商置于中央控制位置,从而质疑块链的过错容忍度和分权特性及其基础的BFT算法。本文展示了SpletBFT, 这是使用信任的执行技术(TEE)的新方法,例如英特尔 SGX, 以强化BFT系统的安全和保密保障,从而加强对基于许可区块的部署的信任。 SpletBFT 承认受信任执行保护的代码可能失败。 我们通过将BFT协议的核心逻辑分割和分离成多个区块,从而形成更弹性的结构。我们用SpletBFTFT 比较了传统的软FDFFFFFFFFFFFDFFFFFFDFDFAFFDFDFFF 的模型, 只能进行合理的评估。 我们通过SDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFAFFFFFFFFFFFFFFFFFFFFFFDFDFAFFDFDFDFDFAFFAFFDFDFDFDFDFDFDFDFAFAFAFDFAFAFAFAFAFFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFDFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA