[论文解读] Blockchain and Trusted Computing: Problems, Pitfalls, and a Solution for Hyperledger Fabric
本文提出了一种在 Hyperledger Fabric 上的 Intel SGX 飞地中执行智能合约的安全架构,解决了非最终共识区块链固有的回滚攻击和状态连续性问题。通过将每个应用程序隔离在专用飞地中,并确保飞地状态仅反映最终的区块链区块,该解决方案实现了接近原生性能的 80–90%,且可信计算基(TCB)极小,从而为企业级区块链工作负载提供了强大的隐私保护。
A smart contract on a blockchain cannot keep a secret because its data is replicated on all nodes in a network. To remedy this problem, it has been suggested to combine blockchains with trusted execution environments (TEEs), such as Intel SGX, for executing applications that demand privacy. Untrusted blockchain nodes cannot get access to the data and computations inside the TEE. This paper first explores some pitfalls that arise from the combination of TEEs with blockchains. Since TEEs are, in principle, stateless they are susceptible to rollback attacks, which should be prevented to maintain privacy for the application. However, in blockchains with non-final consensus protocols, such as the proof-of-work in Ethereum and others, the contract execution must handle rollbacks by design. This implies that TEEs for securing blockchain execution cannot be directly used for such blockchains; this approach works only when the consensus decisions are final. Second, this work introduces an architecture and a prototype for smart-contract execution within Intel SGX technology for Hyperledger Fabric, a prominent platform for enterprise blockchain applications. Our system resolves difficulties posed by the execute-order-validate architecture of Fabric and prevents rollback attacks on TEE-based execution as far as possible. For increasing security, our design encapsulates each application on the blockchain within its own enclave that shields it from the host system. An evaluation shows that the overhead moving execution into SGX is within 10%-20% for a sealed-bid auction application.
研究动机与目标
- 解决基于可信执行环境(TEE)的区块链执行中回滚攻击的关键问题,特别是在使用非最终共识的系统中。
- 确保在 Hyperledger Fabric 上的 Intel SGX 飞地内运行的智能合约具备状态连续性和机密性。
- 通过将每个应用程序隔离在独立的飞地中,最小化可信计算基(TCB),从而减少攻击面。
- 在具备最终共识的企业级区块链上实现可实用的、保护隐私的智能合约执行。
- 在真实世界的密封投标拍卖用例上评估所提出解决方案的性能开销。
提出的方法
- 设计一个原型,将智能合约执行在 Hyperledger Fabric 上的 Intel SGX 飞地中,确保每个应用程序在独立且隔离的飞地中运行。
- 使用区块链的最终已提交状态作为飞地的输入,以防止回滚攻击,从而维持状态连续性。
- 通过确保交易结果仅在共识最终性达成后才被处理,将飞地执行与 Fabric 的执行-排序-验证架构集成。
- 通过仅在每个飞地中包含必要代码,排除完整的区块链节点逻辑,从而最小化 TCB。
- 在区块链节点与飞地之间实现安全通信通道,用于状态更新和密码学操作。
- 使用密封投标拍卖工作负载对原型进行评估,以测量性能开销和安全保证。
实验结果
研究问题
- RQ1可信执行环境(如 Intel SGX)能否安全地与使用非最终共识协议的区块链平台集成?
- RQ2当底层区块链可能发生分叉时,如何在基于 TEE 的智能合约执行中防止回滚攻击?
- RQ3哪些架构模式能够在保持区块链执行的隐私性和正确性的同时,最小化可信计算基?
- RQ4在企业级区块链平台(如 Hyperledger Fabric)上,执行智能合约于 SGX 飞地会对性能造成多大程度的影响?
- RQ5在 SGX 飞地中实现应用级隔离是否能提供强保密性,而无需在 TEE 内执行完整的区块链节点?
主要发现
- 所提出的架构通过确保飞地状态始终与最终已提交的区块链状态同步,成功防止了回滚攻击。
- 在密封投标拍卖应用上的测量结果显示,与未受保护的执行相比,SGX 飞地内执行智能合约的性能开销在 10%–20% 之间。
- 将每个应用程序隔离在独立的飞地中,显著减小了可信计算基,提升了安全性并减少了攻击面。
- 该解决方案通过将飞地执行推迟到共识最终性达成后才进行,与 Hyperledger Fabric 的执行-排序-验证模型完全兼容。
- 原型表明,可在可接受的性能开销下实现强隐私保证,使基于 TEE 的执行在企业级区块链用例中具备可行性。
- 由于公共区块链(如 Ethereum 或 Bitcoin)的非最终共识特性,该方法无法直接应用于这些平台,因为这会从根本上破坏 TEE 中的状态连续性。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。