0
votes

In corda, In order to hide identity of corda nodes in transaction, Confidential Identities being used. As per corda documentation, Confidential Identities issued by Well Known Identity Certificates.

Below are few questions related to corda confidential Identity :

  1. How notary (Service Identity) checks signature on transaction if it consist of confidential key?

  2. How corda linked up Well-known Identity with confidential Identity? What extra information required to linked up confidential identity with well-known identity?

  3. If perform transaction between PartyA and PartyB with confidential identity using SwapIdentityFlow, now perform same transaction between PartyB and PartyC, will PartyC resolves all dependency including confidential identities from PartyB. As per walking transaction chain dependency resolved from proposer of transaction, so without any IdentitySyncFlow will it work?

  4. How nodes verify signatures on SignedTransaction ? Is it only based on public key?

Thank you in advance.

1

1 Answers

0
votes
  1. The required signers on a transaction are listed as public keys, not Party objects. If you want to sign a transaction using a confidential identity, you just list that confidential identity's public key as a required signer on the transaction instead of your well-known identity's public key. Then verifying the signature does not require knowing the corresponding identity.

  2. Each confidential identity is linked to the corresponding well-known identity using a certificate chain. However, this certificate chain is only distributed on a need-to-know basis, so that only specific nodes can link the confidential identity to a well-known identity.

  3. Walking the chain does not require resolving confidential identities to well-known identities. Thus PartyB and PartyC can transact without PartyC knowing that PartyA was involved earlier in the chain.

  4. Yes. See the answer to 1.