Hyperledger fabric Hyperledger结构数据机密性

Hyperledger fabric Hyperledger结构数据机密性,hyperledger-fabric,hyperledger,confidentiality,Hyperledger Fabric,Hyperledger,Confidentiality,到目前为止,我还没有找到一篇好的教程或文章来回答这个问题,也许你可以帮我。我想做的是: 组织1中的对等方A调用链码,该链码只能访问组织2中可用的数据,对等方A永远无法访问完整信息 我知道Hyperledger结构支持私有通道和私有数据,是否有可能实现此要求?如果是,你能给我指出正确的方向吗?是的,这是可能的。下面是要完成的步骤。 通过使用私有数据,您可以完成您的需求,但所需的工作很少。您也可以阅读fabric文档,我在这里提供了链接 客户机应用程序提交一个提案请求,以调用链码功能(读取或写入私有

到目前为止,我还没有找到一篇好的教程或文章来回答这个问题,也许你可以帮我。我想做的是:

组织1中的对等方A调用链码,该链码只能访问组织2中可用的数据,对等方A永远无法访问完整信息


我知道Hyperledger结构支持私有通道和私有数据,是否有可能实现此要求?如果是,你能给我指出正确的方向吗?

是的,这是可能的。下面是要完成的步骤。 通过使用私有数据,您可以完成您的需求,但所需的工作很少。您也可以阅读fabric文档,我在这里提供了链接

  • 客户机应用程序提交一个提案请求,以调用链码功能(读取或写入私有数据),并将其提交给作为集合授权组织一部分的背书对等方。私有数据,或用于生成链码中私有数据的数据,在建议书的临时字段中发送

  • 背书对等方模拟事务并将私有数据存储在临时数据存储(对等方本地的临时存储)中。他们根据收集策略,通过八卦将私有数据分发给授权的对等方

  • 背书对等方使用公共数据(包括私有数据密钥和值的散列)将建议响应发送回客户端。没有将私有数据发送回客户端

  • 检查此项以获得背书:

  • 客户机应用程序将事务提交给订购服务(使用私有数据的散列),该服务通常被分配到块中。将具有散列值的块分发给所有对等方。这样,通道上的所有对等方都可以以一致的方式使用私有数据的散列来验证事务,而不知道实际的私有数据(这是您需要完成的)

  • 在块提交时,授权的对等方使用收集策略来确定他们是否被授权访问私有数据(用于读取块数据)。如果他们这样做了,他们将首先检查他们的本地瞬态数据存储,以确定他们在链码背书时是否已经收到了私有数据。如果没有,他们将尝试从另一个对等方提取私有数据。然后,他们将根据公共块中的哈希值验证私有数据,并提交事务和块。验证/提交后,私有数据将移动到私有状态数据库和私有写集存储的副本中。然后从瞬态数据存储中删除私有数据


  • 资源:

    是的,这是可能的。下面是要完成的步骤。 通过使用私有数据,您可以完成您的需求,但所需的工作很少。您也可以阅读fabric文档,我在这里提供了链接

  • 客户机应用程序提交一个提案请求,以调用链码功能(读取或写入私有数据),并将其提交给作为集合授权组织一部分的背书对等方。私有数据,或用于生成链码中私有数据的数据,在建议书的临时字段中发送

  • 背书对等方模拟事务并将私有数据存储在临时数据存储(对等方本地的临时存储)中。他们根据收集策略,通过八卦将私有数据分发给授权的对等方

  • 背书对等方使用公共数据(包括私有数据密钥和值的散列)将建议响应发送回客户端。没有将私有数据发送回客户端

  • 检查此项以获得背书:

  • 客户机应用程序将事务提交给订购服务(使用私有数据的散列),该服务通常被分配到块中。将具有散列值的块分发给所有对等方。这样,通道上的所有对等方都可以以一致的方式使用私有数据的散列来验证事务,而不知道实际的私有数据(这是您需要完成的)

  • 在块提交时,授权的对等方使用收集策略来确定他们是否被授权访问私有数据(用于读取块数据)。如果他们这样做了,他们将首先检查他们的本地瞬态数据存储,以确定他们在链码背书时是否已经收到了私有数据。如果没有,他们将尝试从另一个对等方提取私有数据。然后,他们将根据公共块中的哈希值验证私有数据,并提交事务和块。验证/提交后,私有数据将移动到私有状态数据库和私有写集存储的副本中。然后从瞬态数据存储中删除私有数据


  • 参考资料:

    听起来不错。你能告诉我类似的实际实现吗?听起来不错。你能告诉我类似的实际实现吗?