Hyperledger Fabric是否支持加密交易?

时间:2017-02-20 08:57:58

标签: hyperledger hyperledger-fabric

video(IBM Hyperledger Fabric课程的一部分)描述了可以在部署时加密链代码,以便只有一部分成员能够解密并运行它。但是,Fabric文档(v0.6和v1.0)没有提供任何详细信息。这是社区希望在未来建立的一项尚未实施的功能吗?

我不清楚这是如何起作用的。从订购服务接收到无法解密的事务的任何对等方将无法运行它并更新其世界状态,那么除了跳过它还能做什么呢?它甚至无法将交易标记为有效或无效。

我错过了什么吗?

2 个答案:

答案 0 :(得分:3)

在Fabric v1.0中,存在一种通道概念,用于与网络成员的子集私下共享数据。只有频道成员才能存储并访问数据。

如果您想加密数据,应用程序可能会在将数据提交到区块链之前对数据进行加密。

答案 1 :(得分:2)

是的,可以加密数据 on-chain ,这样链码仍然可以看到数据并在其上应用逻辑(而不是数据为垃圾的脱链加密)在链上不可用)。 这个想法是将加密密钥作为瞬态输入参数的一部分传递(不会传输到订购服务和其他通道节点)。因此,只有代言人和任何了解密钥的节点才能解密数据。 在将于2018年第一季度发布的v1.1中,Fabric将支持访问状态的加密层API(参见FAB 830)。 在链上加密数据有两个缺点:

  • 密钥维护和共享是开销
  • 密钥泄漏风险+未来加密破坏

对于隐私而非加密,选择数据隔离方法可能更好。这就是FAB 1151,也是v1.1(实验!)的一部分:

  • 每个私有数据属于定义可以访问它的组织的集合
  • 私有状态的哈希包含在公共状态
  • Endorser将事务模拟期间计算的私有状态保存到临时存储区域并在提交阶段应用
  • 其他允许的节点可以通过八卦请求私有状态