中文

区块链与可信计算:Hyperledger Fabric 的问题、缺陷与一种解决方案

分布式、并行与集群计算 2018-05-23 v1 密码学与安全

摘要

区块链上的智能合约无法保守秘密,因为其数据在网络中的所有节点上复制。为补救这一问题,已有建议将区块链与可信执行环境(TEEs,如 Intel SGX)相结合,以执行需要隐私的应用。不可信的区块链节点无法访问 TEE 内部的数据与计算。本文首先探讨了将 TEEs 与区块链结合所产生的一些缺陷。由于 TEEs 原则上无状态,它们易受回滚攻击,而为维护应用隐私应防止此类攻击。然而,在采用非最终性共识协议(如以太坊等中的工作量证明)的区块链中,合约执行在设计上必须处理回滚。这意味着用于保护区块链执行的 TEEs 不能直接用于此类区块链;该方法仅在共识决策为最终性时有效。其次,本工作为 Hyperledger Fabric(一个著名的企业级区块链应用平台)引入了在 Intel SGX 技术内执行智能合约的架构与原型。我们的系统解决了 Fabric 的执行-排序-验证架构带来的困难,并尽可能防止针对基于 TEE 执行的回滚攻击。为提高安全性,我们的设计将区块链上的每个应用封装于其自身的 enclave 中,使其与宿主系统隔离。评估表明,对于密封拍卖应用,将执行移入 SGX 的开销在 10%–20% 以内。

关键词

引用

@article{arxiv.1805.08541,
  title  = {Blockchain and Trusted Computing: Problems, Pitfalls, and a Solution for Hyperledger Fabric},
  author = {Marcus Brandenburger and Christian Cachin and Rüdiger Kapitza and Alessandro Sorniotti},
  journal= {arXiv preprint arXiv:1805.08541},
  year   = {2018}
}