Mana

Header Future of IOTA

This article is a translation of the German IOTA Beginner’s Guide by .

Mana

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.
Mana
Source: IOTA Foundation – Rate Control: Actors with high Mana (right) are allowed to perform a larger number of transactions in case of network congestion

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.

Creation of Mana
Source: IOTA Foundation – The community node receives Mana for processing the 50 Mi transaction

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.

More Details

Explaining Mana in IOTA – Part 1Part 2 – IF

Identities and Sybil protection in IOTA – IF

Original source

https://iota-einsteiger-guide.de/erklaerung-von-mana.html

IOTA 2.0 – Coordicide

Header Future of IOTA

IOTA 2.0 – Coordicide

In this topic all articles and explanations about the Coordicide are collected.

Tangle 2.0

IOTA does not work according to the traditional blockchain technology, but works with the innovative concept of a “Tangle”. The Tangle is the distributed ledger in IOTA. It contains the current transaction history. The Tangle is the single source of truth. Any client around the world can send valid transactions to a Node. This transaction is replicated throughout the network to form this single version of the truth.

Note: If you are looking for the technical deep dive you will find it in the IOTA Wiki.

The IOTA architecture includes the following basic components:

  • Clients: users of an IOTA network (wallets, apps, etc.) that send transactions to nodes to attach to the tangle.
  • Nodes: Connected devices responsible for ensuring the integrity of the Tangle. These devices form an IOTA network.
  • Tangle: An attached data structure. The Tangle represents a growing, partially ordered set of messages that are connected by cryptographic techniques and replicated to all Nodes in the peer-to-peer network. The Tangle enables the ledger state (the general ledger formed by the transactions contained in the messages), as well as the ability to store data.
Tangle 2.0 Node Client
Source: IOTA Einsteiger Guide

In mathematical terms, the Tangle is a Directed Acyclic Graph (DAG).

  • A set of transactions / messages is connected by paths.
  • Each of these paths has a unique direction, so it is a directed graph.
  • If a path can never be found that returns to its starting point, the graph is acyclic (circular paths would be cyclic).
Tangle Network
green = confirmed (consensus) / white= unconfirmed / grey= newly attached (tips)

In the image above we can see what the Tangle looks like. In this representation of the graph, the messages are shown as squares and the arrows (called edges) between the messages are references. On the left side of the graph are the older messages, while on the right side of the graph there are the newly attached messages.

Messages reference up to eight previous messages. They can be in one of three different states:

  • Confirmed (green): messages are considered confirmed if they were directly or indirectly referenced by the tips (white), there is consensus on these messages.
  • Pending/unconfirmed (white): These are messages waiting to be referenced.
  • Tip (grey): Tips are newly attached messages that have not yet been referenced by other messages.

Blockchain Data Structure

Blockchain data structure consists of a chain of sequential blocks, with each block containing a limited number of transactions. Consequently, new transactions can only be appended at one point: A block at the end of the chain. Because of this limitation, blockchain networks often experience slow confirmation times. This limitation is referred to as the blockchain bottleneck.

Blockchain

Tangle Data Structure

Tangle data structure is a directed acyclic graph (DAG) where each transaction is attached to up to eight previous transactions. Instead of being limited to a single place to append new transactions, you can append transactions anywhere in the Tangle, resulting in a chaotic order in which all transactions run in parallel. This mode of operation will allow for upwardly open scaling, since as the number of transactions increases, so do the confirmation rates, rather than moving in exactly the opposite direction, as is currently the case with classic blockchains.

What is IOTA 5

Components of the protocol (IOTA 2.0)

This section contains a description of the interaction between the components of the GoShimmer protocol. The protocol can be divided into three main elements:

  • A P2P overlay network (Network Layer).
  • An immutable data structure (Communication layer)
  • A consensus mechanism (Decentralized-Application-Layer).

Similar to other architectures, the upper layers build on the functions of the layers below. The definition of the different layers is simply a matter of creating a clear separation of concerns.

IOTA 2.0 Layers
IOTA 2.0 layers – Source: IOTA Einsteiger Guide

Network Layer

The network is managed by the modules of the Network Layer, which can be characterized as a pure P2P overlay network, meaning that it is a system running on top of another network (e.g. the Internet) where all nodes have the same roles and perform the same actions (as opposed to client-server systems). GoShimmer’s Network Layer consists of three basic modules: the Peer Discovery module (which provides a list of nodes actively using the network) and the Neighbor Selection module (also known as autopeering), which selects peers. Finally, P2P communication manages a node’s neighbors, which are selected either via autopeering or manual peering.

Communication Layer

The Communication Layer deals with the information passed through the Network Layer, which is contained in objects called Messages. This layer forms a DAG with messages as vertices called Tangle. The Tangle is a replicated, shared and distributed data structure formed by a combination of deterministic rules, cooperation and (either direct or virtual) voting via OTVFPCS and consent weight based finality. Since nodes have finite capacities, the number of messages that the network can process is limited. Therefore, the network can become overloaded, either simply due to honest heavy usage or due to malicious (spam) attacks. To protect the network from stalling or even becoming inconsistent, the rate control (currently a static PoW) and congestion control modules control when and how many messages can be passed via Gossip protocol.

(Decentralized) Application Layer

Above the communication layer is the application layer. Anyone can develop applications that run on this layer. Nodes can choose which applications they want to run. Of course, these applications can be interdependent. There are several core applications that must be run by all nodes, such as the value transfer applications that maintain ledger state (including advanced output types), and a scarce resource called Mana that serves as a Sybil protection mechanism. In addition, all nodes must run the so-called consensus applications that regulate timestamps in messages and resolve conflicts. The consensus mechanism implemented in GoShimmer is leaderless and consists of the following components:

On Tangle Voting (OTV): on tangle voting uses the underlying data structure itself as a voting mechanism. Each message issued by a node already contains the opinion of that node, since it issues certain funds belonging to a certain reality (see also Parallel reality ledger state). Moreover the node also approves 2 or more other messages in the Tangle that also belong to a certain reality. So the opinion of the issuing nodes is already known without having to ask them.
On Tangle Voting with FPCS (Fast Probabilistic Consensus on a Set): this is a mechanism for breaking metastability, which can be used in addition to OTV (On Tangle Voting). Generally, in IOTA 2.0, reaching a high approval weight is the finality criterion. If the approval weight is high enough, the message / transaction is finalized. With OTVFPC the initial opinion is created with OTV. If after some time the opinions of the nodes are still split, for whatever reason, FPC is activated to break this metastable state. The finality of value transactions should be achieved faster this way.
Approval Weight works similarly to how the longest chain rule in the Nakamoto consensus (i.e. heaviest branch) provides finality for branches and messages.

You can find information about the life of a message and the life of a transaction on iotaprices.com

Official Sources

Terminology

Terminology in IOTA 2.0 – IF

Introducing Pollen, Nectar and Honey – IF

Coordicide

Official Homepage

Chapter 1: IOTA as scalable DLT – IF

Chapter 2: IOTA post-Coordinator – IF

Chapter 3: Modularity – IF

Chapter 4: The modules – IF

Chapter 5: IOTA’s future – IF

Chapter 6: Conclusion – IF

Coordicide Alphanet – IF

Coordicide Grant: University of Padua – IF

Mana

More Details

Fast Probabilistic Consensus (FPC)

Consensus in the IOTA Tangle — FPC – IF

Fast Probabilistic Consensus Simulator – IF

Simulation study of FPC – IF

Berserk detection in the FPC – IF

Testnet

Introducing Pollen – IF

Get your own Node – AWS

IOTA 2.0 DevNet (Nectar) – The Era of IOTA’s Decentralization Starts Here – IF

Official Homepage

Misc.

Identities and Sybil protection in IOTA – IF

Explaining the IOTA Congestion Control Algorithm – IF

Autopeering – Part 1 – Part 2 – IF