问题
In a closed loop network, when parties transfer assets, the transactions associated with that are also shared. So the otherparty would get to know everything about my past transactions with that asset especially in the case of cash or securities. This actually is a privacy concern. Also, since it is a private network, after few years everyone in the network might get know the past transactions(most if not all) of every other node based on their interaction.
How this issue handled or is there a workaround for this? How do you compare this aspect of privacy with other platforms?
回答1:
A number of techniques to address these privacy concerns are discussed in section 15 of the Corda technical whitepaper, namely:
- Transaction tear-offs
- Confidential public keys
- Graph pruning
- Secure hardware
- Mix networks
- Zero knowledge proofs
Of these, transaction tear-offs are already implemented and used for cases such as notarisation and oracles. However, in their current form, they do not address the issue of finding out data via transaction resolution.
Confidential public keys are also already implemented. They allow one-time keys to be used for each transaction, so that transactions can't be correlated based on the keys used. This means that you can verify a chain of transactions without knowing the identities of the parties involved in the chain.
Graph pruning, or "chain snipping" as it's sometimes known, is already supported, and is used in some of the R3 members' projects. A trusted central party (e.g. the issuer of a currency) will re-issue the assets in a non-atomic way to shorten the transaction chain.
A secure hardware privacy layer is being implemented in the form of SGX as well. R3 has an agreement with Intel to use their enclaves. The current plan is for transaction resolution to occur within software enclaves, so that no data at all is seen by the user during transaction resolution.
My understanding is that zero knowledge proofs are still too slow to be feasible for the complex transaction used by Corda, but they may become a feasible technique in the future. I am not aware of any usage of mix networks for privacy.
One of the benefits of Corda's architecture is that these privacy techniques can be layered on top of each other. For example, key randomisation, graph pruning and secure hardware techniques are compatible and can all be used simultaneously to achieve greater privacy.
回答2:
There are blog posts about our work with SGX here:
https://www.corda.net/2017/06/corda-sgx-privacy-update/
https://www.corda.net/2017/08/sgx-corda-film/
SGX enables transaction dependencies to be encrypted. It's not available yet, but we've done some development work on this project already.
来源:https://stackoverflow.com/questions/45710036/privacy-loss-in-provenance-corda