The IOTA Foundation has launched the first release of the new version of the IOTA network, under the codename Pollen.
This is the first of the three releases planned to reach the completion of the Coordicide project, i.e. the full and definitive decentralization of the network.
How does IOTA 1.0 work?
In order to understand the new features of IOTA 2.0, it is necessary to briefly describe how IOTA 1.0 works.
IOTA was born with the aim of overcoming the limits of networks relying on mining and blockchains, which in a nutshell have limited scalability and variable costs due to fees and mining.
IOTA does not require mining and therefore there are no fees to record transactions on the network. In place of the blockchain, IOTA uses a data structure called Directed Acyclic Graph (DAG) or Tangle.
This technology allows nodes to operate asynchronously and therefore each node can record every transaction it requires. This means that IOTA has no theoretical limits of scalability.
Clearly the absence of fees and the lack of a mining system, which prevents spam, make the network vulnerable to attacks.
In particular, if the consensus model foreseen in the original whitepaper were simply implemented, through spam it would be possible to double-spend a transaction.
The coordinator node
To avoid this problem, while waiting for the team of researchers and mathematicians to find the ideal solution, IOTA developers decided to adopt a very simple temporary solution: activate a reliable node whose transactions serve as a reference for validity and confirmation of transactions.
This node, called Coordinator, has no control functions of the network or other nodes, cannot alter the register, cannot sign transactions on behalf of other nodes.
Simply put, its transactions are considered reliable because they are produced by a node that is most likely not malicious.
The approved transactions (to which the coordinator connects its own) are considered valid and after three consecutive approvals are considered confirmed.
This is obviously a trade-off solution which does not respect the spirit of the distributed networks and which, above all, could easily be attacked from within the IOTA Foundation itself by an unfaithful collaborator. For this reason, it has always been considered temporary by the IOTA Foundation itself.
The problem with the system
The problem to be solved, however, was very challenging: how to remove the Coordinator without limiting performance and without introducing node remuneration?
The response given about two years ago by the IOTA Foundation’s team of researchers seemed like a joke: just make each node a coordinator.
It was not a joke. Complex simulation tools allowed to verify the various strategies to create a distributed system where each node in the network is actually an authority, without competition, without fees and without bottlenecks.
The basic idea is simple: the coordinator is reliable because it is possible to trace the validation transactions back to them because their address is public.
Therefore, if each node was identifiable and each node was given a reliability parameter, every node could provide a “reliable” confirmation of other transactions.
Each node would be a small coordinator.
The first step of this approach was to modify the protocol used to generate transactions. The new model makes it much easier for each node to verify the correctness of the transaction and thus the general status of the register.
Needless to say, this is not enough to avoid conflicts.
To resolve conflicts, a solution has been created that provides a digital identity to nodes. In this way, the transactions issued by a node are identifiable and attributable to a reliable source and not arbitrarily.
The MANA parameter
Having a digital identity to which transactions can be attributed, makes it possible to attribute to each node a qualitative parameter derived from its behaviour.
This parameter is called MANA, a terminology used in many online games that generally indicates the amount of strength or energy that the player has available.
MANA cannot be bought, sold or given away. MANA is not registered on the ledger. MANA is obtained by receiving IOTA and is lost by making malicious transactions, such as double spending attempts.
Each node keeps in memory the list of digital identities it becomes acquainted with and assigns to each identity a quantity of MANA based on the activity it observes.
Each node can therefore autonomously evaluate the reliability of a transaction, also taking into account the digital identity of the node that produced it and thus the MANA it has.
Consequently, if a node links its transactions to malicious transactions, it may lose MANA. If it carefully evaluates the transactions to which it links its own, thus contributing to the quality of the distributed register and the speed of confirmation, it does not lose MANA.
It is therefore a model that is organized in reverse compared to mining: instead of being encouraged to behave correctly, which leads to the growth of the energy spent by the nodes in the network as a whole, incorrect behaviour is discouraged, an approach that has no side effects.
The loss of MANA can in fact produce considerable limits to the nodes. In this first release, MANA management is not yet activated, but its role is fundamental.
However, even with a system of disincentives, conflicts can occur. There are two conflict management systems under study. In this version, the Fast Probabilistic Consensus (FPC) has been released.
The operation of FPC is similar to a distributed voting system. If a node receives two conflicting transactions, it issues a message on the communication channel between the nodes to report the problem and expresses an opinion on which transaction it considers to be the valid one. Meanwhile, any other node will have received the transactions and will respond with their opinion.
Evaluating the opinions received, each node receives a view of the opinion of the majority of the nodes according to their authoritativeness. If its initial opinion was in disagreement, it changes it and retransmits it. Within a few seconds, a distributed consensus is formed on which of the two conflicting transactions is the one to be considered valid.
The FPC system produces the same effects as a PoS or PoW system but has no speculative economic basis, with all the known side effects.
When the MANA parameter will be available, this process will be even more reliable allowing to evaluate the opinions of the nodes according to their reliability.
Since MANA cannot be bought it is substantially impossible to counter the opinion of the majority of the nodes or possibly the minority that holds the majority of MANA.
To attempt an attack it would be necessary to obtain a majority of MANA, but this means obtaining a majority of the existing IOTA in a very short time. In fact, MANA is not permanent. MANA is lost with the passage of time and it can only be obtained again by getting IOTA.
MANA will not only be used for conflict management. Many other functions of the new network are based on MANA. For example, it is expected to be used in rate control which may even eliminate the need to perform the anti-spam PoW expected from nodes: the more MANA is owned, the more transactions can be entered into the network over a period of time.
This mechanism is particularly useful for applications that manage data: selling data in exchange for IOTA also allows obtaining MANA and the more MANA is obtained the more transactions (i.e. data) can be processed.
MANA can also play a role in managing the automatic connection of nodes. In version 1.0 of the network, the connection is manual but in this new version, it is completely automatic.
Since the MANA owned by a node indicates its reliability, a node with little MANA could be rejected by nodes with a lot of MANA, thus limiting the direct connection of potentially malicious nodes to authoritative nodes in the network, without preventing the actual connection of any node.
Other new features of IOTA 2.0 and Pollen
IOTA 2.0 introduces many other new features, including the possibility to create “colored coins“. Colored coins are a means to create tokens but, contrary to the tokens of the Ethereum network, they don’t require a smart contract to be properly managed: they are simply IOTA that has been given a significant role in a particular application context and that the network prevents them from being used for other purposes, i.e. they can be colored or discolored arbitrarily.
They are the first step to support decentralized apps that will be fully supported by subsequent releases, especially with the introduction of a smart contract system based on distributed oracles.
Colored coins are the perfect tool to create state stablecoins. A stablecoin is a token that represents a value in fiat currency but, unlike fiat, they are subject to transfer costs (tx fee) and performance limits linked to the blockchain.
Since they are not issued by monetary authorities they are also at risk of insolvency, a risk that is difficult to calculate but which is certainly not zero.
If instead a stablecoin was issued by the same central bank that issues the equivalent fiat money, there would be a functional coincidence:
- There would be no management costs to move the stablecoins as there are no costs to move fiat between two accounts of the same bank or in a paper money transaction;
- The number of transactions that can be made is virtually unlimited in both cases;
- Having the guarantee from the same issuer makes these stablecoins fully equivalent to fiat currency.
It is obviously still too early to consider all problems solved and all potential risks foreseen and managed, but the long phase of experimental research, which lasted almost two years with an impressive research work at a theoretical level with superior mathematical tools, followed by a concrete implementation which is now also publicly available, leads to the conclusion that the IOTA project is progressing fast towards its goals and if all the hypotheses will be confirmed it will provide fundamental tools to implement applications which today are impossible to realize.