The IOTA consensus model is a model where conflicts between transactions (i.e.: two transactions spending the same resources) are resolved by the votes of the nodes. As of IOTA 2.0, there is a scarce resource in the network called Mana. It is at the heart of the consensus model and forms a reputation mechanism for nodes that affects several aspects of the protocol logic. Mana is best thought of as a tool that is used for various tasks in the network, such as:
- Rate Control: As a Sybil control mechanism to prevent spam. The more Mana you have, the more of your messages / transactions will be sent / read / processed.
- FPC voting: Prevent attacks / conflicts by voting. The more Mana you have, the more your opinions will be taken into account. The amount of Mana held by each node will be available in the public ledger (Tangle) as its Mana state. This will allow Mana to be considered when randomly selecting Nodes for queries about conflicting transactions. Therefore, in the voting rounds for Fast Probabilistic Consensus, nodes will randomly select other nodes to get their opinion, influenced by the amount of Mana they have.
- dRNG: The top Mana holders determine the dRNG. Note: The dRNG will use the DRAND protocol to generate random numbers. DRAND requires a committee consisting of the top Mana holders.
- Auto-Peering: Prevent Eclipse Attacks. Your neighbors / partners have a similar amount of Mana as you.
For simplicity, Mana can also be thought of as a parallel reputation token to the IOTA token, held by addresses in proportion to the IOTA tokens, with three concepts being particularly important:
- Pending Mana: Addresses generate Pending Mana in an amount proportional to the funds they hold.
- Mana: When funds (i.e., IOTA tokens) are issued by an address, the Pending Mana generated by that address is converted to Mana and pledged to a Node. The amount of Mana that node receives is proportional to the amount of IOTA tokens sent in the transaction. The pending Mana is henceforth generated by the credits on the recipient’s address.
- Decay: Both Mana and Pending Mana decay proportionally to its value, preventing Mana from growing indefinitely over time.
The Mana life cycle begins with the existence of pending Mana at each address with credit, proportional to its credit. Now, if address A sends 50 MIOTAs to address B, the full node that the issuer selects in this transaction will be allocated a proportional amount of Mana. In this way, nodes will accumulate Mana over time as they work for the network, but they will continuously lose some Mana due to the decay mechanism. Note: Pending Mana does not decay over time (like Mana). Instead, as Pending Mana accumulates, the generation rate is reduced to avoid reaching a certain limit specified in the protocol.
One of the purposes of Mana is to give the nodes participating in the network a ranking / reputation, which makes it possible to distinguish honest working nodes with a secured history from new nodes (identities) that have just joined the network and, if necessary, to give the nodes preference in processing transactions if the network is close to its processing capacity. Most aspects of the new protocol (voting, peering, rate control, etc.) will therefore favor nodes with high Mana over nodes that cannot prove their honest work on the network. So even if an attacker manages to create 100 fake identities, his “opinion” will not be taken into account, because his reputation (Mana) will put him behind all honest working nodes in the network for a while, thus preventing identity forgery and sybil attacks, among others.
For fullnodes, this means that unless the inbox is empty, each node processes messages at a rate specified in the protocol. This rate determines the maximum throughput. If the network is close to its processing capabilities, someone who wants to do a lot of data transactions in a short time will need Mana for the executing node to be favored over other transactions (possibly spam). This can best be compared to buying higher bandwidth from an Internet service provider. If you don’t have Mana and the network is congested, you can’t issue transactions and have to wait. Herein lies the economic model, which is unique compared to other cryptocurrencies.
How does it work? Just like everything in life. When a company needs office space, they have two options. They can either buy or rent the space. The same is true for IOTA with Mana. If someone wants to use the Tangle but doesn’t want to own the tokens, they will have to rent Mana from other people, the same way someone rents a property from a landlord. Some people often confuse this with a fee. It is NOT a fee. It is an allocation mechanism where people who contribute to the network by owning tokens and / or running nodes get priority in network resources.
In traditional blockchains, you have to pay a fee whether you hold tokens or not. It’s a permanent fee and you don’t get it back. In IOTA, you have the option of owning tokens and thus have a right to a portion of the network TPS. Even if you choose the approach of not owning tokens and renting access, you have fixed predictable costs and reliable throughput.
In traditional blockchain, you can own tokens and not know your operating costs because the fees are dynamic. Transactions compete for limited block space and outbid each other on fees to be considered in a prompt manner. So operating costs are not known in advance. With IOTA, you either have 0 operational cost or you know exactly your rental payments and can calculate reliably.
The Mana concept is similar to staking (Proof of Stake). The difference is that you don’t lock / stake tokens to earn from them and the returns are real returns (rental income). With PoS, the rewards are paid out through inflation (some may or may not come from fees, but most is from block rewards – inflation). This is the illusion of return. Payment is made by minting new tokens and thereby increasing the total supply.
Mana is pledged to a node ID. It can be acquired in three ways:
- Hold Tokens: Node operators can buy tokens and pledge the Mana generated by these tokens to their own node.
- Rent (Mana-as-a-Service): Mana can be acquired in exchange for rental payments from other token holders. This can be done with IOTA tokens or cash (as with Amazon Cloud Credits).
- Value transaction processing: A node can process payments in exchange for the Mana pledged in those payments (tokens).
Summary of Key Points:
- The only way to gain Mana is to convince a token holder to pledge it to you. In this sense, Mana is a delegated proof of token ownership.
- Those who hold IOTA tokens are entitled to a portion of network resources, regardless of their value. This is very important for safety-critical industrial and real-time applications whose information must pass through the Tangle in a timely manner.
- Renting (Mana-as-a-Service): Mana can be purchased in exchange for rental payments from other token holders. This can be done with IOTA tokens or cash (as with Amazon Cloud Credits).
- There are currently two separate types of Mana. These are called access Mana and consensus Mana. While access Mana can be lent / leased, there is no reason to do so for consensus Mana.
- Value transactions always bring their own Mana for processing by the nodes, so there are generally no restrictions here.
- It will still be possible to send data transactions without Mana. Mana will only be used in times of congestion to give more priority to nodes that have more Mana to ensure a minimum guaranteed bandwidth in the infrastructure. Mana will not be a requirement to send transactions for a long time, because currently even systems with FPGAs cannot spam that many TPSs to push the network to the edge of its processing capabilities. In the future, Sharding will also significantly increase network capacity and solve the problem of theoretically possible congestion.
- For security in business use cases, suggestions have been made (transactions despite congestion) to run your own nodes, hold the token and also use it.
- Those who do not own their own node and IOTA tokens may have to pay to use other people’s nodes if the network is busy and many transactions are to be made in a short time.
- Those who own IOTA tokens can rent out Mana and generate a kind of passive income.
- If a company does not want to have anything to do with cryptocurrencies, Mana can also be purchased with cash from a service provider.
Mana: a scarce resource – Medium
The Economic Model of IOTA – Medium
The Tech Behind IOTA — Part 1 – Medium