Hi I have just started exploring corda fews days ago I am trying to understanding basic confidential identity in corda so suppose I have a 3 nodes(i.e Node A , B & C) of which Node B has 2facts(Id's)inside it 1st fact is shared with nodeA while 2nd fact is shared with nodeC so if in case nodeA wants to access data of 2nd fact will it get to see only the transaction data inside 2nd fact without knowing identity of Node C or it wont even see transactions as well??
1 Answers
The basic premise of confidential identities on Corda is that nodes can create public/private key pairs on demand, where the private key is used to sign a transaction and the mapping to the corresponding legal identity (i.e. X.509 certificate) is not shared with the whole network (as it's done with the legal identity key), but it's instead shared only on a need-to-know basis with the nodes involved in that specific transaction.
As a result, a node that reads a transaction (i.e. as part of a back chain resolution or given by some other node) that's signed by confidential identity keys of other nodes , it's not capable of inferring the legal identity of these keys, unless the mapping has been shared with the node by some other node.
The following documents can also help, since they contain explanations with more detail: