私有令牌免费区块链是否是一次性服务的有效解决方案?

时间:2017-10-30 10:13:33

标签: blockchain

我们有一位客户认为区块链可能有助于解决他的行业特定问题。为了避免披露商业理念,我必须在这里抽象,并使用医疗行业的类比,其具有非常相似的细节。免责声明:我对区块链很新,所以请随时纠正我。

让我们想象一下,有一种药可以治疗一些人可能发生的特定癫痫发作。

此药只能由经过认证的公司开具处方。

每次癫痫发作时,顾客必须只接受一剂药物。

让我们假设药物的分布是完美的,没有办法偷药或非法购买。

该行业要解决的主要问题是确保一个人不滥用该系统并且只收到一个处方用于一次癫痫发作。以下是客户当前可以作弊的方式:

  • 客户癫痫发作,前往想象公司的当地分公司并要求处方。该公司进行一些医学测试并发布处方,将记录保存在本地数据库中

  • 客户快速前往另一家公司(可能在另一个国家)并再次要求处方。该公司无法访问其他公司的数据,也无法查明客户是否已经收到或未接受过此次扣押事件处方的处方。因此,该公司再次发布新处方。

现在,客户已经收到两份关于癫痫发作的处方。那是对系统的滥用。

私有区块链可能会解决问题。但我有一些疑问:

  1. 我不确定如何在各公司之间同步新的客户注册。如果此客户的记录已存在于分布式数据库中,则操作员不应创建新记录。我怀疑每个客户的单个块会因为以下几点而起作用。我们是否需要区块链区块链 - 也就是说,每当新客户加入我们的药物处方系统时,需要使用区块更新主区块链以指向新的客户特定私有区块链?#/ p>

  2. 我们希望保留客户缉获的全部历史并收到处方。我们从不改变现有记录 - 它们应该是不可变的。我们只是将新记录添加到客户的私人"历史链#34;。如果由于某种原因(医学检查中的错误等)想要取消之前发布的处方,我们会创建一个新的记录,其中包含取消处方的信息和取消处方的癫痫发作时间戳。

  3. 如果能够访问客户的数据,我们希望能够一次解码所有数据然后浏览记录,按日期等过滤它们。但我们可能还想收集一些关于客户数据的统计数据。所有客户及其处方。如果必须使用单独的密钥解密每个客户的数据,我们如何在区块链上实施搜索,计算等?我想,无法像旧的关系型SQL数据库那样搜索和过滤区块链,对吧?这是否意味着我们需要一些其他并行区块链来记录和同步所有感兴趣的统计数据?如何确保多个区块链上的交易?

  4. 据我所知,通常只能使用私钥进行块更改。但在这里我们有两种访问要求:

    • 客户应该只能阅读自己的记录,但没有权限写任何更改(没有给自己开处方药)。因此,他需要某种只读访问密钥。
    • 公司(及其在不同国家/地区的所有本地分支机构和合作伙伴)需要为此客户进行读取添加(不写入 - 不对历史记录进行实际修改)。客户无法注册自己,但必须通过公司进行注册。该公司是密钥的发行者和"添加记录密钥"的持有者。
  5. 如何确保这些密钥通过公司网络分发并且不泄漏到外面?当然,我们可以提供公共密钥"对于客户来说,他/她可以阅读自己的记录,但即使这个密钥也不完全是公共的"本身 - 客户不应该访问其他客户'记录。

    1. 区块链分发的速度有多快以及如何解决冲突?如果用户有足够的时间在不同的公司申请两张处方,请说,在1分钟的时间内,我们如何确保只传递第一个请求而第二个请求被拒绝?

    2. 我们希望以两个序列记录事件

      • 分别为每个客户 - 他的私人历史,只有他自己和公司才能访问
      • 我们网络中公司发布的所有处方的历史
    3. 这又是否意味着我们需要两个区块链,或者是否有可能以某种方式创建一条链,其中存储了整个网络的所有历史记录,但每个客户只能访问和解密他自己历史记录?

      1. 哪种最受欢迎​​的企业级区块链服务和产品(如果有的话)可能最适合这种情况 - Hyperledger,IBM Bluemix,Microsoft Coco,Etherium,Rubix by Deloitte?

      2. 最后,似乎所有问题都归结为需要一个能够保持所有处方和客户注册的中央机构。这些公司是竞争对手,他们都不想维护中央数据库,也不想涉及一些中立的第三方公司并为其服务付费。尽管如此,还不清楚区块链(或者将其称为分布式分类帐更为正确)将是正确的解决方案,因为有人仍然需要建立和维护可信公司列表。他们肯定不会同意使用工作证明(采矿)来确保区块链的完整性,因此无论如何都需要一个中央权威机构。但也许我错了。

1 个答案:

答案 0 :(得分:1)

我试着回答你的问题。但是,我认为你很清楚自己想要什么,现在,你需要花些时间来制定智能合约。

我认为Hyperledger Fabric对你来说是一个很好的解决方案。

数目:

  1. 您不需要多次注册每个客户。然后,例如,使用客户的ID,您将查询该客户的历史记录。
  2. 区块链给了它机会。
  3. 一些区块链在并行数据库中保存分类帐的状态(分类帐=它在区块链中的所有信息),以方便用户查询信息。在Hyperledger中,您可以定义CouchDB。
  4. 它取决于您将如何制定智能合约。
  5. Hyperledger Fabric使用PBFT算法达成共识。它会在10秒内生成一个块,因此在此之后您的信息将“在线”
  6. 可能你应该创建两个不同的频道。渠道就像您在网络中创建的区块链。
  7. Hyperledger。我不太了解其他一些。
  8. 公司应该达成共识。