So far in our Mapping ZK series, we have explored ZK based dApps and projects built in the Polkadot and Cosmos ecosystems. This time around we will be diving into the Mina Protocol. Although no current apps are deployed on Mina’s mainnet, we wanted to go over the concept of Mina zkApps and the protocol’s design since it is one of the leading ZK L1 projects.
Zero Knowledge Proofs are at the heart of the Mina blockchain. From inception, recursive ZPKs have played a central role in the protocol’s functionality by allowing any user to verify the network state using Zero-Knowledge Succinct Non-Interactive Argument of Knowledge (zk-Snarks). And by employing the recursion technique (that is making a new zk-snark from the the output of a previously generation zk-snark), Mina allows users to store the whole state as a small proof of around 22 KBs, making it feasible for any user, no matter how light their setup to “act as full nodes”. In effect, this allows anyone to take part in consensus, secure the blockchain and hold Mina accountable.
Another feature powered by ZKPs on the Mina Protocol is privacy. In this sense, zk-SNARKs used in Mina can prove that any information is true or false without revealing all your data on-chain. This privacy-preserving capability is not limited to the blockchain space. Since users can execute the protocol on their web browsers and then upload a proof to the chain, it opens up the possibility to easily bring “online” data on-chain, maintaining its privacy along the way. Multiple use cases can derive from this feature. One use case that has already been explored is the creation of a proof of a user’s credit score without revealing the actual credit score or any other data. This architecture includes multiple parties: Mina Protocol, Teller and Credit Karma.
With interoperability, the lightweight nature of the Mina blockchain, and the off-chain nature of Mina’s zkApp smart contract computations, the Mina proof system could be accessed from other blockchains. This is the case of the bridge ;nil Foundation is building to allow the verification of Mina’s Pickles SNARK on the Ethereum Virtual Machine (EVM) and other EVM-based chains such as Polygon.
The development of Smart Contracts marked a new era in the blockchain space. Building on that success, Mina Protocol developed its unique form of Smart Contracts which are Turing complete, but which also tap into the native Zero Knowledge capabilities, offering a wide range of new possibilities like privacy and off-chain computation.
The execution of the zkApps happens in the user’s browser, and it’s posted on-chain as a small cryptographic proof, costing only a flat fee regardless of the computation size. This new generation of Smart Contracts is written with a Typescript library called SnarkyJS. Given the size of the Typescript developer community, this opens the door to unparalleled development and adoption by builders outside the blockchain industry.
And zkApps make it possible for Mina to access off-chain data from the internet easily. This capability is possible through zkOracles, which uses HTTPS to connect real-world data to blockchain in a trustless way.
Although we’re still in the early days of the development of zkApps, some demo and work-in-progress projects are worth mentioning.
Mina presents an opportunity for a wide range of projects to benefit from the default features of Zero Knowledge cryptography. In terms of privacy, Mina is well-positioned to be one of the leading ecosystems once the network matures and gains more adoption from builders and users.