Mina aspires to be the world’s tiniest blockchain, with claims that its protocol maintains a constant size of around 22 kilobytes. This is ostensibly achieved by using recursive zk-SNARKs — the same technology that is used by the privacy-centric cryptocurrency Zcash (ZEC). However, whereas the latter utilizes this technology to provide greater privacy to its users, the former employs it for scalability.
A zk-SNARK, which stands for zero-knowledge succinct noninteractive argument of knowledge, allows a party to prove that they have possession of certain information without revealing what that information is. It is similar to how a smartphone can recognize its owner without storing the person's actual identity data.
There has been much discussion about using zk-SNARKs to scale various protocols including Bitcoin, though there are currently few practical applications of the technology. Evan Shapiro, CEO of O(1) Labs, the company behind the Mina blockchain, said that though it’s a beautiful idea, his team has had to solve many technological challenges to bring this concept to life:
“It's a very clean and beautiful idea at a high level. But then when you get into actually implementing it, there's a lot of complexity that you have to be aware of and manage to make this actually happen.”
When it comes to the project's nodes, their size will depend on the network's needs. A “normal” node will require just a few kilobytes, whereas a node that participates in consensus may require around a gigabyte:
“If you're a normal node which just needs trustless, permissionless access to a few accounts, that's in the range of kilobytes because you just need the proof and the actual accounts. If you like performing consensus, then you need all the accounts. So there's let's say a million accounts. Each one is a hundred bytes, probably a little more, like kilobytes, so you need a gigabyte to store that.”
Originally, the project was envisioned with a proof-of-work consensus, but the team decided to adopt Cardano’s Ouroboros consensus earlier this year. Even so, substantial work went into adapting this system to the zero-knowledge cryptography that Mina employs. Unlike Zcash, which is merely a cryptocurrency, Mina has a smart contract layer and its own version of decentralized applications, or DApps, which are called Snapps.
Shapiro said that Mina’s other distinction is that it will be able to consume outside data securely, without the need for oracles. This combination of outside data and zero-knowledge proof cryptography could open up a number of use cases. For instance, Mina could allow users to provide decentralized finance apps with the parameters of their credit history without having to reveal what that information actually is. This, in turn, could lead to lower inherent risks and reduced interest rates for borrowers. Users could potentially leverage Know Your Customer information verified by one exchange to bypass the verification requirements of another crypto service provider.
Mina recently changed its name from "Coda" due to a lawsuit from the R3 Consortium, which believed the name was too close to its own "Corda." Mina's mainnet is now expected to launch within the next few months.