法定人数中的私人交易验证

Private transaction validation in quorum

我正在浏览 quorum 文档,偶然发现了如何在 quorum 中验证私人交易。以下例中有四个节点 - 节点 A、节点 B、节点 C 和节点 D.Consider 以下步骤 -

1.Node A 与节点 B 进行私人交易(假设 TX1)。此时节点 A 和节点 B 已更新其私人尝试以反映私人交易。

2. 节点 B 使用 TX1 的输出并与节点 C 进行私人交易。由于节点 C 首先不知道 TX1,它如何验证 TX1 是实际有效的交易?

Node B 是否将 TX1 的未加密有效负载发送给 Node C,以便它可以验证交易?如果是,那么在这种情况下节点 A 的身份不会被泄露吗? 如果不是,那么节点 B 可以通过使用 TX1 的输出发送来欺骗节点 C,首先将其发送到节点 D,然后进行双花并在发送到节点 D 后将其发送到节点 C。 本质上,私人交易链是如何验证的?

维护隐私并仍然防止 double-spending (afaik) 的唯一方法是使用 zero-knowledge 证明。 这在 Anonymous Zether 实现下的 Quorum 上可用。请注意,这是 'work in progress',尚不推荐用于生产。