【问题标题】:Unlimited organizations on Hyperledger FabricHyperledger Fabric 上的无限组织
【发布时间】:2019-01-17 22:54:35
【问题描述】:

概述

我的区块链架构要求每个用户都将他们的数据保密。可以有无限数量的用户(比如数百万)。根据Hyperledger Fabric's documentation

一个组织可以大到跨国公司,也可以小到个人

这是我想到的架构:

  1. 我的公司将在业务网络上拥有组织 A
  2. 每次用户注册时,我都会在业务网络上创建一个新的组织 N 和新的频道 C。
  3. 每个新频道将有两个成员:组织 A 和用户新添加的组织 N

我故意没有选择Private Data,因为Add an Org to Channel tutorial建议如果N个组织存在于一个特定的渠道,那么N-1个组织必须签署交易以允许新的组织进入。因为之间的数据共享为零每个用户组织,所以我创建了无限的频道(每个用户组织一个频道)。

问题:

  1. 当我尝试将新组织添加到现有频道时,我试图避免线性复杂性。我的架构是否有效地解决了复杂性的线性增长?
  2. 我是否遇到了这个设计的其他问题?
  3. 我的设计有什么违反直觉的吗?

【问题讨论】:

  • 这是一个糟糕的架构设计。 Hyperledger Fabric 是为了解决业务问题,因此它有一个代表业务单元的组织的概念。好像你有不同的要求。请探索其他平台。此设置不适用于 Hyperledger。
  • @NitishBhardwaj 我也觉得 HL Fabric 是为“企业”设计的。但后来我从他们的官方文档中读到了An organization can be as large as a multi-national corporation **or as small as an individual**。这帮助我重新思考 HL 如何仍然适合个人用户
  • 嗨@TusharGoswami,您是否继续使用此架构进行开发和部署,最终结果如何?
  • @Valgrind1691 我采用了相同的架构。但是我还没有在几千个合作的组织上对其进行基准测试

标签: architecture hyperledger-fabric hyperledger


【解决方案1】:

从技术角度来看,拥有大量双边渠道并没有真正的问题。添加新组织的过程意味着您需要创建新通道,将用户对等连接到通道,将组织 A 加入通道,然后在该通道上实例化任何链码。很容易自动化。在某些时候,您可能需要为组织 A 创建多个对等点并在这些对等点之间分配渠道。

另一方面,您可以看看结合使用私有数据和基于状态的背书。与其在 Org A 和每个用户之间创建一个通道,不如创建一个集合 Org A / Org N,然后使用基于状态的背书只需要来自 Org A 和 Org N 的背书。这里的缺点是 Org N+1 ... Org N + X 最终会得到所有用户的所有键/值的哈希值...您可能不想要(尤其是因为它要求用户存储与他们无关的数据)。

【讨论】:

    【解决方案2】:

    我认为,当您拥有数百万用户时,为每个用户创建一个组织显然不是一个好主意。在 Hyperledger 中,组织将拥有自己的对等方,这在用户级别上没有意义。除此之外,管理具有无限数量的组织和渠道的几乎无限网络根本不切实际,即使从维护的角度来看也是不切实际的,更不用说从构建的角度来看了。

    我建议您探索其他确保用户数据安全的方法。一种方法是对它进行加密、散列,只要对您自己的场景有意义,然后才将其存储在分类帐中。但是,用户仍然是一个或多个组织的一部分,其中组织的总数是可以管理的。

    从你目前所说的来看,我不相信 Hyperledger 是适合你的方式。也许你自己的以太坊网络会更好地解决这个问题,因为你有用户级别的帐户。如果您不需要区块链解决方案,您可能希望坚持使用标准方式来构建类似的东西。

    【讨论】:

      猜你喜欢
      • 2019-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-27
      • 1970-01-01
      • 2019-04-01
      • 1970-01-01
      相关资源
      最近更新 更多