如何在Hyperledger Sawtooth中进行私密交易?

时间:2018-02-20 14:02:03

标签: hyperledger hyperledger-sawtooth

有没有办法让SawTooth中的交易变为私有?

我知道HyperLedger Fabric有“频道”而且Quorum有私人交易,所以寻找类似但却看不到的东西:

https://sawtooth.hyperledger.org/docs/core/releases/latest/architecture.html

当然理论上可以实现加密/解密过程,但这很麻烦(如果它是加密或解密的有效载荷)

3 个答案:

答案 0 :(得分:2)

由于Sawtooth获得许可,因此可以设置具有不同角色和访问权限的用户。这将允许您创建对特定身份私有的事务。

您可以Oracle tutorials验证程序仅接受来自本地配置文件中列出的身份的事务。或者,使用identity名称空间设置允许的标识,在从客户端收到事务或验证块时将检查这些标识。

有关Sawtooth如何管理身份和权限的更多详细信息,请参阅configure

  

此处描述的身份系统是一个可扩展的角色和基于策略的系统,用于以可以被架构的其他部分使用的方式定义权限。这包括transactor密钥和验证器密钥的现有权限组件,但将来也可以由事务系列实现使用。

     

身份命名空间:

     
      
  1. 包含基于公钥识别参与者的方法
  2.   
  3. 存储一组名为“policies”的许可和拒绝规则
  4.   
  5. 存储这些政策适用于
  6. 的角色   

答案 1 :(得分:1)

有一个称为锯齿专用数据对象(PDO)的实验功能。通过加密保持私有的区块链对象。

有关更多信息,请参见https://github.com/hyperledger-labs/private-data-objects/tree/master/sawtooth 对于文档,请参阅此推文中的链接:https://twitter.com/kellymolson/status/1019299515646406656

或者,您可以加密您的有效负载,以便其他没有私钥的人无法在区块链中看到它。或者,您也可以将哈希/校验和存储在有效负载中。

答案 2 :(得分:0)

我们可以使用Hyperledger实验室提供的私人交易系列。

https://github.com/hyperledger-labs/private-transaction-families

  

该系统基于通用的分布式分类帐基础结构(Hyperledger Sawtooth)和Intel®SGX(软件防护扩展)“强化”交易处理器,该处理器提供了使Hyperledger Sawtooth包含不公开的私人信息的机制但需要验证交易。

有关私人交易家庭如何工作的更多信息,请参见以下链接

https://github.com/hyperledger-labs/private-transaction-families/blob/master/SPECIFICATION.md