有没有办法让SawTooth中的交易变为私有?
我知道HyperLedger Fabric有“频道”而且Quorum有私人交易,所以寻找类似但却看不到的东西:
https://sawtooth.hyperledger.org/docs/core/releases/latest/architecture.html
当然理论上可以实现加密/解密过程,但这很麻烦(如果它是加密或解密的有效载荷)
答案 0 :(得分:2)
由于Sawtooth获得许可,因此可以设置具有不同角色和访问权限的用户。这将允许您创建对特定身份私有的事务。
您可以Oracle tutorials验证程序仅接受来自本地配置文件中列出的身份的事务。或者,使用identity名称空间设置允许的标识,在从客户端收到事务或验证块时将检查这些标识。
有关Sawtooth如何管理身份和权限的更多详细信息,请参阅configure:
此处描述的身份系统是一个可扩展的角色和基于策略的系统,用于以可以被架构的其他部分使用的方式定义权限。这包括transactor密钥和验证器密钥的现有权限组件,但将来也可以由事务系列实现使用。
身份命名空间:
- 包含基于公钥识别参与者的方法
- 存储一组名为“policies”的许可和拒绝规则
- 存储这些政策适用于
的角色 醇>
答案 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