Financial privacy is an essential property of every monetary and payment system. Without it the user’s security is reduced due to targeted attacks, the freedom to associate and transact is limited, and their commercial interests may be compromised when competition can monitor their activity.
The importance of privacy was recognized in the original Bitcoin whitepaper, but the only approach available at the time (pseudonymous addresses) provides only limited privacy and what it does provide is highly brittle. Advanced monitoring capabilities have substantially undermined this protection in practice, but at the same time technology has improved tremendously and we can now do much better than pseudonymous addresses.
Tightly linked to privacy is fungibility, an essential characteristic of a money like good. When coins are overly distinguishable and people find themselves feeling obligated to consult (likely centralized) blacklists before accepting coins the utility of Bitcoin as a money is reduced.
Some people previously believed stronger privacy was incompatible with public auditability, but just like digital signatures prove your know your private key without disclosing it we know that privacy and public verification are not incompatible in a very fundamental sense.
Bitcoin Core should have a comprehensive plan to give users state of the art technology in this regard, but we must respect the challenges of deploying new technology in an already existing ecosystem. Progress can be made in a series of larger and smaller initiatives.
This issue with track other issues and collect discussion related to the overall strategy on this front.
Currently Open Issues (without pull requests):
Proposed short term functionality:
- Implement some kind of ephemeral (ECDH) address.
- Improve privacy in coin selection
- Include a private transaction submission tool enabled by default
Proposed longer term exploration:
- Merkelized abstract syntax trees or other explicit support for script elision in the spirit of coinswap (https://bitcointalk.org/index.php?topic=321228.0) to keep smart contract terms as private as possible
- Confidential transactions: What performance envelope, security considerations would we need from something like or zero cash to seriously consider it?