我有一个具有多个客户端的Web应用程序。 我想在区块链上记录客户的一些数据(员工教育记录)。 客户不希望与任何其他实体或组织共享此数据。客户端之间不会共享任何数据。使用区块链的唯一目的是:拥有记录的不变副本。
我有两个选择:
多个组织单个频道:
每个客户1个单位,我的应用程序1个单位。 所有组织都在单个频道上。 我以一种客户端无法读取,写入,删除其他客户端数据的方式在composer中编写我的业务网络。 (通过ACL定义)。
因此,尽管所有客户的分类帐都相同,但仍定义了规则以防止无效访问。
多个组织的多个频道:
每个客户1个单位,我的应用程序1个单位。 每个客户有不同的渠道。 (客户端+我的应用组织加入频道)。 对于每个客户,这种方式分类帐将有所不同。
缺点::我需要在所有渠道上实例化相同的作曲者网络(bna)(管理任务会增加)。
哪种方法适合我的情况?
答案 0 :(得分:1)
如果不同的客户/组织之间没有共同的数据,那么它们之间就没有共享的渠道。照顾权限数据将使您的网络设置复杂化。最好将这些细节从网络设计中抽象出来。
您应该有一个与每个客户相对应的组织。在每个组织中,只有一个渠道,该组织中的所有对等方都将使用该渠道进行沟通。
答案 1 :(得分:0)
我认为您可以通过将瞬态密钥传递给Chaincode来加密每个客户端的数据,并仅管理密钥,这可能是轻量级的,并且对您的风景而言是可行的。