Mina FAQ
Answers to frequently asked questions about Mina Protocol.
What language is Mina written in?
The Mina node is written in OCaml. You don't need to know OCaml to write smart contracts for Mina.
What language are zkApp smart contracts written in?
Mina's zero knowledge smart contracts (zkApps) are written in TypeScript.
See How to write a zkApp.
How large is the Mina Blockchain?
22 KB
Given Mina is only 22 KB, where are past transactions stored?
A Mina node can run with an optional flag to make it an archive node to store historical transactions. Archive nodes are useful for anyone running a service, such as a block explorer. Still, this historical data is not required to verify the current consensus state of the protocol.
What zero knowledge (zk) proof system does Mina use?
Mina Protocol uses a custom proof system called Kimchi, developed by O(1) Labs. Mina is the only blockchain offering infinite recursion.
Check out the Mina Book to learn more about Kimchi and the cryptography powering Mina Protocol.
What can I do on the Mina network?
Any node can send and receive transactions on the Mina network. Any node can also be a node operator.
What consensus algorithm does Mina use?
Mina's consensus mechanism is an implementation of Ouroboros proof of stake. Due to Mina's unique compressed blockchain, certain aspects of the algorithm have diverged from the Ouroboros papers. The version Mina uses is called Ouroboros Samisika and achieves consensus without long-term history.
Is there a Mina block explorer?
Yes, check out these block explorers:
How does Mina achieve scalability?
Mina achieves scalability through the use of recursive zk-SNARKs. By generating a proof that attests to the validity of historic blockchain states, Mina can keep the blockchain size fixed. This allows for increased throughput due to block size limits not being as taxing on the network, thereby increasing the scalability of the network.
What security audits have been completed?
To see completed security audits and other measures that are in place to keep Mina secure, see Mina Security.