Ethereum co-founder Vitalik Buterin recently authored a research paper, the primary focus of which was integrating privacy features into blockchain transactions while ensuring compliance with a range of regulatory requirements.
Experts from various backgrounds collaborated on this research project, including early Tornado Cash contributor Ameen Soleimani, Chainalysis chief scientist Jacob Illum, and researchers from the University of Basel.
The diverse team reflects the interdisciplinary nature of the research, drawing insights from cryptocurrency, blockchain security and academic scholarship.
The paper suggests a protocol known as “Privacy Pools,” which can act as a regulation-compliant tool aimed at improving the confidentiality of user transactions.
How do Privacy Pools work?
Privacy Pools, as Buterin and the team explain in the research paper, aim to protect the privacy of transactions while separating criminal activities from lawful funds by organizing them into isolated sets or categories, allowing users to prove to regulators that their funds are not mixed with illicit funds.
This is accomplished through the use of techniques like zero-knowledge proofs to demonstrate the legitimacy of the transactions and the absence of involvement with criminal activities.
Zero-knowledge proofs are cryptographic techniques that allow one party (the prover) to demonstrate knowledge of a specific piece of information to another party (the verifier) without revealing any details about the information itself.
When users want to take their money out of the Privacy Pool, they can choose to create a zero-knowledge proof. This proof does two things: First, it confirms that the user’s transaction is legitimate and doesn’t involve a blockchain address associated with criminal activity. Second — and more importantly for users — it keeps their identities private.
Another crucial part of how Privacy Pools work is the idea of “association sets,” subsets of wallet addresses within a cryptocurrency pool. When making withdrawals from the pool, users specify which association set to use. These sets are designed to include only noncritical or “good” depositors’ wallet addresses while excluding those considered “bad” depositors.
The purpose of association sets is to maintain anonymity, as withdrawn funds can’t be precisely traced to their source. However, it can still be proven that the funds come from a noncritical source.