Corda:一个流程中的许多依赖事务可能导致不一致

时间:2018-01-25 12:52:43

标签: transactions consistency corda

我在流程中有两个交易。第二次交易首先取决于。示例场景是:

  1. 首次交易成功结束
  2. 根据第一笔交易的结果我创建第二个
  3. 第二次交易因某些原因失败
  4. 我担心这里的一致性。我需要保留这两个分开的事务,并且应该保持两个事务的结果。是否有任何内置的Corda机制允许我们从第一次交易回滚更改?

1 个答案:

答案 0 :(得分:0)

不,所有交易都是最终的。

这里很难提出解决方案,因为这个问题并没有详细说明您的用例。但也许您应该将两个交易合并为一个,可能使用机密身份(即匿名公钥)来模糊每个参与者的身份。

编辑:在您在下面的评论中描述的方案中,您有两个交易:

  • Tx1,需要来自A和B的签名
  • Tx2,需要来自B和C的签名

如果A标记Tx1并将其发送到B,并且C标记Tx2并将其发送到B,则B可以确保它们仅签署并发送Tx1用于公证,如果它们首先接收由C签名的Tx2(反之亦然)

但是,如果他们有签名的Tx2(反之亦然),则需要信任B才能对Tx1进行公证。