如何编写Oracle服务与Corda中的Peers并行签署事务的流

问题描述 投票:0回答:1

从文档中,我了解到有一种方法可以允许在对等体和Oracle之间进行并行签名,但是在Corda文档的给定流程中没有看到它如何在功能上运行:

  1. 依赖于利率的交易的创建者要求当前的费率。如果他们愿意,他们可以在这一点上中止。
  2. 他们插入一个具有该速率的命令以及获取到事务中的时间。
  3. 然后,他们可能会将其与其他所有人一起发送到oracle进行签名。 oracle检查命令是否具有断言时间的正确数据,如果是,则进行签名。

Oracle首先没有提供该命令,因此在第一步中签署了该事务吗?我知道这里的目的是避免Oracle的第一个签名,但上述流程如何促进这一点呢?如果不通过Oracle,如何获得费率,甲骨文是否不必签署第一项规定?这是Oracle证明两次的情况吗?一旦向请求者提供事实,并且当请求者重新插入事实作为要由Oracle和其余对等体验证的命令时两次?

corda
1个回答
0
投票

从Corda 3开始,无法并行请求签名。此功能可能会在将来的版本中添加。目前,您必须按特定顺序请求签名。

oracle不签署它提供的命令。代替:

  • 事务的创建者从oracle接收命令并将其包含在事务中
  • 事务完全构建后,事务的创建者将事务发送回oracle
  • oracle决定是否签名: 如果命令中的数据正确,则oracle应签署整个事务 如果命令中的数据不正确,oracle应该拒绝签名

此方法可防止签名的oracle数据跨事务重用。由于每个事务都有一个唯一的哈希值,因此需要为每个单独使用oracle数据请求签名,从而允许oracle按使用量收费并拥有可行的业务模型。

© www.soinside.com 2019 - 2024. All rights reserved.