The Mina ecosystem saw many new zkApps developed in the month of September, many of which by participants of the zkApps Beta Testers Leaderboard. Below is a compilation of the zkApps built in the last few weeks:
Vaultmi by Daniel Saenz & team
Vaultmi is a zk-app that combines the decentralized storage of IPFS/Filecoin and Mina Protocol, this allows us to share files or secrets securely to multiple wallets as well as generate a Proof of Existence in the Mina protocol. With a friendly user interface and the integration of the Auro wallet it allows anyone to take advantage of this technology.
HARPO by Nicolas Felipe Diaz & team
HARPO allows everyone to generate a stealth address (a one-time untraceable address generated per transaction) for Mina Protocol. There are still many privacy concerns in the blockchain ecosystem for both the user and companies, and we have seen cases like Tornadocash that showed how fragile and important security and privacy are. Therefore, we built a zkApp, HARPO, which allows anyone to create a stealth address using Mina Protocol. You can learn more about stealth addresses here.
We focused our solution on businesses first as they are affected by these traceability problems when paying suppliers, managing cashflows, investments and contracts, handling payrolls, and dealing with partnerships, but it could be use by anyone involved in Mina Protocol.
Keyppi by Doris Hernandez & team
The Keyppi platform offers a simple and secure user experience to retrieve your private keys without ever exposing them and before giving you access, ensuring you are you. Exponentially making owning a self-custodial wallet more simple, leading to an increase in adoption.
zKredit by Diego Ferret-san & team
The project uses Mina to create a ZkApp that checks certain data points about a user such as their credit score and their average monthly income over the last two years to facilitate mortgage extensions without having to expose other data points, thus increasing personal privacy throughout the process.
Canvas zkApp by 45930#8225
This is a simple canvas to test snarkyJS on the testnet – but it is interactive and live on the QA net. You can flip the pixels and submit to chain by clicking “Create Transaction”. After the transaction clears (quite a while currently), you can either refresh the page or click “Re-assert Validity” to check if your state matches the live stage on-chain. This is a work-in-progress, but the main thing is that it’s an interactive app which can read and write to Mina. I’m hoping that I can build off of this, and that everyone else looking for an example to jump off from can get some inspiration.
PageApp by temmuz#6937
With this zkApp, users can prove that they are older than 18 on the blockchain on a zero-knowledge basis using hash chains.
The idea is to prove you are old enough to do some actions on the web without revealing any more information about yourself. An example would be to purchase liquor online provided you are older than the legal drinking age (here assumed 18).
The zkApp is at a very early stage. Currently, it only provides a similar interface to the sudoku example. To make it a fun project despite the absence of a trusted authority to sign the user’s encrypted (and genuine) information, there is an additional, optional facial verification / identification pipeline built into the app. It matches the faces on a passport image and a selfie image, assesses the validity of the passport image, and encrypts the user’s age it obtained from the passport. It can therefore replace a trusted third party in a way.
zkApp UI by ioWxss6#6308
This is a zkApp that proves a user knows the answer to a math problem without revealing the actual answer. I included a UI that lets users interact with the smart contract deployed directly on Berkeley Testnet Alpha.
Recording of ioWxss6#6308 sharing zkApp UI (starts at 13:53).
NFT zkApp by Comdex#3801
This NFT zkApp is a private NFT prototype (POC) based on the actions/reducer feature of SnarkyJS and the associated merkle tree. The zkApp supports minting and transferring NFTs, and verifies the NFT owner through a ZK proof without exposing the owner’s address.
zkApp Multisign by Gordon Freeman#4502
This is a simple implementation of a mainly onchain multisignature wallet. The idea is that the protocol should work with as little offchain storage as possible.
zkApp Multisig Wallet by rpanic#3328
This is a zkapp that implements a multisig wallet, transferring a certain amount of MINA-token after a given threshold of signers have signed a proposal.
The first implementation is a plain smart contract which takes one signature at a time. The second implementation fixes this by merging proofs and committing them by sending a transaction with a batch of signatures.
zkApp Guesser Race by robi#4970
zkApp Guesser Race replicates conditions of a “guessing” competition where contestants have to prove they found a secret and answer first without revealing the solution to other competitors.
If you are a developer interested in building a zkApp, sign up for the zkApp developer intro guide (a deep dive on Mina, what you need to know to build zkApps and a guide to available resources), or for the zkApp Beta Testers Leaderboard waitlist.