Programmable Cryptographic Privacy on Polkadot: Manta Network
Zero-Knowledge Proofs(ZKPs) headline some of the more advanced topics in blockchain technology. This article discusses the role of ZKPs within the blockchain ecosystem, and how Manta Network harnesses ZKPs to bring much needed privacy to DeFi products on Polkadot ecosystem.
What are Zero-Knowledge Proofs?
ZKPs allow to prove honest computation without revealing inputs(zero knowledge). There are plenty of implementations of ZKPs, the most popular being zk-SNARKs(Succinct Non-Interactive Arguments of Knowledge). Today zero-knowledge is used for two main use-cases: privacy and scaling.
In the context of privacy, zero-knowledge can unlock a lot of new possibilities for blockchain applications including: games, private voting dapps, self-sovereign identities, private AMMs, selective disclosures and private social media platforms. All these usecases are at different levels of practical usage with private transactions, games and self-sovereign identity being more advanced than the rest.
The architecture of rollups which are widely used in EVM layer 2 blockchains involves porting transactions from layer 1 blockchains to be verified on a layer 2 sequencer which offers a much faster user experience, and cheaper fees but with the added downside of less security compared to a layer 1 blockchain like Ethereum. ZK-Rollups offer scalability through batch transfer processing rolled into a single transaction.
In summary, zk-SNARKs are used for privacy while ZK-Rollups are used for scalability.
Manta Network is a layer 1 blockchain(layer 1 to ensure security) that uses zk-SNARKsto bring privacy to Polkadot’s DeFi ecosystem. Manta Network accepts base(public) assets DOT and parachain assets to mint private coins. Launching on Polkadot enables Manta to leverage the benefits of speed, interoperability and fast consensus.
Manta seeks to launch three key products:
-Decentralized Anonymous Payment protocol
-Decentralized Anonymous Exchange protocol
-Private lending protocols
High Level Overview
Manta works through users depositing tokens and being able to mint private equivalents of the same as shown above. The user sends a tx to mint the private token that only reveals the commitment, and the mint amount(the user’s address and void number are not hidden). The commitment is used to verify ownership of the tokens and the transaction is accepted when user deposits tokens equal to the amount.
Abstracting most of the technical stuff, when a user transfers private coins, the ledger ensures that the serial number(commitment scheme) has not been previously used. The zk-SNARK verifier also validates the transaction — proves the existence of the coins but not the origianl commitment schemes.
Each transfer transaction has a unique serial number which helps prevent double spending. Manta Network keeps track of all commitments and all spent transactions.
Manta architecture makes it possible for bidirectional asset transfers meaning it is also possible to claim public coins from private coins.
Manta’s Decentralized Anonymous Exchange allows for trades between two private coins minted using the implementation described above.
Benefits of privacy to DeFi dapps
There are so many benefits of bringing privacy to DeFi that have already been covered by this blog on Manta’s medium.