Introduction
When building
blockchains, developers often have to make trade-offs between scalability,
decentralization and security, which are three desirable attributes that are seemingly incompatible when implemented under one
protocol.
For most projects, only two ingredients can fit together, forcing projects to make compromises. This phenomenon is known as the
blockchain trilemma, which was originally coined by
Ethereum co-founder Vitalik Buterin as the
scalability trilemma.
A major reason for the gridlock is the fact that decentralized platforms grow in size as usage increases. This is evident in leading projects like
Bitcoin and
Ethereum.
Bitcoin uses a
proof-of-work (PoW) consensus mechanism, which is decentralized and secure, but unfortunately lacks scalability. Ethereum is currently moving from PoW to
proof-of-stake (PoS), which is supposed to scale better, but the original smart contract network has yet to achieve a high level of scalability — especially when considering the current astronomical
gas costs required to interact with its DApps. Another top five coin has similar problems — the
XRP ledger scales very well, but it has been heavily criticized by the crypto community for its lack of decentralization and reliance on Ripple, its issuing company.
What Is Mina Protocol?
Mina Protocol is a minimal
“succinct blockchain” built to curtail computational requirements in order to run DApps more efficiently. Mina has been described as the world’s lightest blockchain since its size is designed to remain constant despite growth in usage. Furthermore, it remains balanced in terms of security and decentralization. The
project was rebranded from Coda Protocol to Mina in October 2020.
The Mina network has a
size of only 22 KB, which is miniscule when compared to Bitcoin’s 300 GB blockchain.
What Is Mina Protocol’s Main Objective?
Mina is working on achieving an efficient distributed payment system that enables users to natively verify the platform right from the genesis block. Its technical whitepaper calls this a “succinct blockchain.”
The protocol uses
Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge (zk-SNARKs), a cryptographic proof that enables someone to authenticate information without revealing said information. However, enabling a user to trace the platform back to its
genesis block can be impractical in a large network. As such, Mina incrementally computes SNARKS that concentrate only on the last few
blocks — meaning that end-users check that zk-SNARK-compressed proof, instead of a block’s entire transaction history.
At the heart of Mina protocol is
MINA, its native currency, which functions as a utility coin and medium of exchange.
How Does Mina Protocol Function?
Mina is similar to Bitcoin, apart from how it handles transactions, but also employs the account model used in Ethereum.
In this respect, the difference between Bitcoin and Ethereum is that the state of the Bitcoin blockchain contains a list of unspent coins, while Ethereum’s state is made up of account balances.
Mina, on the other hand, uses a prover (or snarker, if you will), an equivalent of a miner, to ensure each block commits to the state.
Mina employs the Ouroboros
Samasika, a type of PoS mechanism specially designed for succinct decentralized networks since it provides bootstrapping from a genesis block.
Succinct blockchains contain two major functions: verify and update. Verification touches on consensus, blockchain summary and blocks, while the update function interacts with consensus and chain summary.
Apart from the above implementations, the project uses a parallel scan state to optimize transaction processing speed, which works by grouping unproven blocks and assigning the process to parallel provers.
Major Mina Protocol Participants
Mina is all about revolutionizing the current blockchain landscape where most platforms have verifiers such as miners/stakers and light clients who act as third parties when verifying transactions.
Mina takes a different approach by having multiple participants, each handling a specific function on the decentralized network.
The three major roles include verifiers, block producers and snarkers.
Verifiers
Verifiers interact with zk-SNARKS that deal with certifying the
consensus information. Each Mina protocol user is considered a verifier, provided that their devices can handle a 22 KB chain and withstand a few milliseconds of processing time.
Block Producers
Block producers take the form of stakers or
miners and earn
block rewards and transaction fee payments. Interestingly, the protocol doesn’t slash incentives that go to block producers. This category of participants allows Mina users to delegate their coins to them.
Apart from bundling transactions into blocks, block producers also have to SNARK an equivalent number of previously committed trades as failure to do so during block
production would lead to incomplete blocks and other
nodes rejecting their validity.
If a block producer wants to incorporate 10 transactions on the chain, they must also SNARK trades from the front of the queue. However, they have the option to produce the SNARK or use those generated by a special group of participants called snarkers.
Snarkers
Snarkers, also known as provers, produce zk-SNARKs used in verifying transactions.
Block producers pay snarkers from the overall transaction fees they receive for adding new blocks. However, to qualify for the fees, they have to post bids. Note that a snarker’s zk-SNARK needs to be used in a block while the block producer who uses it is responsible for incentivizing the snarker.
This creates a business economy where multiple snarkers can post bids tied to the same transaction. Block producers, on the other hand, are in for the profits and will choose the bid with the lowest fees. Consequently, snarkers are challenged to produce low-cost SNARKS.
How Transactions Happen On Mina
Let’s take a closer look at the course a transaction goes through before finding a permanent record on the Mina blockchain.
- The process starts with a user initiating a transaction, after which the trade goes to the mempool, a pool of valid but unconfirmed transactions.
- Next, snarkers take over by making proofs or SNARKS. The process follows with the selection of a block producer (BP) to bundle transactions into a block. Note that a BP sifts through the mempool for profitable transactions.
- Then, the BP chooses a SNARK according to the rules in the consensus mechanism. Note that a block producer scans through the bids for the lowest-priced SNARK. In addition, recently added transactions have an updated SNARKS order book.
- Next, it’s time to incorporate the SNARKS in a block, then add the block to the chain and update the network. Snarked transactions are removed from the chain to help keep the size of the protocol constant.
- Then, the block producer upgrades the protocol’s zk-SNARKS.
- Finally, the new block becomes immutably part of the chain.
Conclusion
The use of zk-SNARKS allows the verification of the Mina protocol’s state without exposing the blockchain’s contents, consequently offering a censorship-resistant platform.
Furthermore, zk-SNARKS immensely contribute to maintaining a constant-size network, which allows scalability, security, and decentralization.
The presence of various critical participants such as snarkers, block producers and verifiers helps keep different protocol functions streamlined.
This article contains links to third-party websites or other content for information purposes only (“Third-Party Sites”). The Third-Party Sites are not under the control of CoinMarketCap, and CoinMarketCap is not responsible for the content of any Third-Party Site, including without limitation any link contained in a Third-Party Site, or any changes or updates to a Third-Party Site. CoinMarketCap is providing these links to you only as a convenience, and the inclusion of any link does not imply endorsement, approval or recommendation by CoinMarketCap of the site or any association with its operators. This article is intended to be used and must be used for informational purposes only. It is important to do your own research and analysis before making any material decisions related to any of the products or services described. This article is not intended as, and shall not be construed as, financial advice. The views and opinions expressed in this article are the author’s [company’s] own and do not necessarily reflect those of CoinMarketCap.