在 Corda 中,如何在多方之间共享机密身份?

In Corda, how to share confidential identities between multiple parties?

假设我有以下交易:

Corda 的 IdentitySyncFlow 只允许一方将其机密身份发送给其他方。它不允许一方将其他方的机密身份发送到节点。

我将如何在所有四方之间交换机密身份?

你说得对 IdentitySyncFlow 只允许节点分发其 自己的 机密身份。

目前,没有支持您描述的模式的库流程。我为此提出了一个 JIRA:https://r3-cev.atlassian.net/browse/CORDA-954.

与此同时,您必须实施自己的流程,该流程会在 IdentitySyncFlow (https://github.com/corda/corda/blob/release-V2/confidential-identities/src/main/kotlin/net/corda/confidential/IdentitySyncFlow.kt#L37):

的第 37 行发出检查
val identityCertificates: Map<AbstractParty, PartyAndCertificate?> = extractOurConfidentialIdentities()

此行防止流向交易分发其他参与者的机密身份。