【问题标题】:Corda: many depended transaction in one flow can lead to inconsistencyCorda:一个流中的许多依赖事务可能导致不一致
【发布时间】:2018-07-04 17:33:40
【问题描述】:

我有两笔交易正在进行中。第二笔交易取决于第一笔交易。示例场景是:

  1. 第一笔交易成功结束
  2. 根据第一笔交易的结果,我创建了第二笔交易
  3. 由于某些原因,第二次交易失败

我担心这里的一致性。我需要保留这两个单独的事务,并且两个事务的结果应该被持久化。是否有任何内置的 Corda 机制允许我们从第一个事务中回滚更改?

【问题讨论】:

    标签: transactions consistency corda


    【解决方案1】:

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

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

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

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

    如果 A 签署 Tx1 并将其发送给 B,C 签署 Tx2 并将其发送给 B,则 B 可以确保他们仅在收到 C 签署的 Tx2 时才签署并发送 Tx1 进行公证(反之亦然) .

    但是,这要求信任 B 仅在 Tx2 具有签名的 Tx2 时才对 Tx1 进行公证(反之亦然)。

    【讨论】:

    • 我考虑了一笔交易,但后来我遇到了另一个问题。用例是我有三方(我们称它们为 A、B 和 C)。在第一笔交易中,我希望涉及 A 和 B。但第二笔交易必须只涉及 B 和 C。如果我在签名期间正确理解交易,如果我有一个交易,所有参与者都将获得带有数据副本的交易。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多