Privacy-Preserving Transactions with Plonk on Polkadot
The first auditable, non-interactive and account-base privacy-preserving transactions with Plonk on Polkadot.
Background
We implemented the first account-based confidential transfer with Plonk. It can hide transaction information by combining zero-knowledge proof and homomorphic encryption. The most privacy-preserving transfer is UTXO-based but we would like to support account-based because of the following reasons.
Account-Based vs UTXO-Based
The account-based privacy-preserving transaction can save zero-knowledge proof complexity and memory space of blockchains. Additionally, it can be integrated easily with other crypto functionalities.
This time, we support two functionalities additionally.
- Financial Criminal Prevention
- Wallet and Functional Compatibility
Financial Criminal Prevention
Our privacy-preserving transaction supports anti-money laundering functionality.
Cryptocurrency can be used anonymously thus it can be easily used for money laundering. According to Chainalysis research, $8.6 billion of money was laundered with cryptocurrency. This is an important factor when a billion users use cryptocurrency.
We resolve this problem with a key permission division master key, signing key, and audit key with rerandomizable signatures.
Master Key
The master key is used for identification, in charge of asset migration, and the same with a secret key. This key need to be private.
Signing Key
The signing key is generated by the master key and, is in charge of unlinking the signature. The signing key is generated for each transaction thus no one can distinguish whether the transaction is signed by the same master secret key from the signature.
Audit Key
The audit key is in charge of encrypting transaction information. This key can be shared with audit institutions without compromising asset migration permission.
Wallet and Functional Compatibility
Finally, our goal is to integrate functionalities with each other. We replace the curve and hash algorithm used for transactions with crypto-friendly and ZkRollups compatible. Not only saving prover computation and transaction gas cost but also able to interact with ZkRollups functionality.
What’s Kogarashi?
We work on cryptography best practice vertical integration to achieve advanced functionalities with simple usage and high performance. We connect applied cryptography with social issues as solutions.