A few days ago we started talking about IOTA's innovation once the coordinator is "assassinated."
The layout of messages has changed, the inclusion of a variable, mana, increases security for node trustworthiness and autopeering.
We now proceed to the other innovations in IOTA 2.0.
Timestamp
The timestamp is a distinctive part of the blockchain; in fact, the certification of when a piece of data is recorded becomes critical to having a temporal order of transactions.
For the IOTA protocol, the timestamp also plays an important part. Through the timestamp, one is able to regulate the speed of the network, limit the scope of approvals, and define the threshold for data deletion (snapshots).
Last but not least, to have a chronological order of when data was added to the Tangle.
When Legacy and Chrysalis was implemented, temporal referencing was central to the establishment of milestones (which, of course, were verified by the Coordinator). Milestones as such can link a message to a certain temporal location.
With the advent of Nectar, decentralization has made changes.
In this new phase, the timestamp must be declared and signed by the node issuing the message. Obviously, this type of timestamp has nothing to do with the time you read on the clock; this is because it must be unique to all nodes.
Let me explain further.
To perform a timestamp-based message lookup, it must be possible for any node to give a unique answer.
The fact that the timestamp is, pass me the term, relative, to increase security, the check is made on the timestamp we all know with a margin of error: if the delta is within certain ranges, nodes consider the message valid, otherwise it is rejected.
Tip Selection
The previous Tangle algorithm had many strengths, but some procedures could be "autoimmune" such that someone could create parasitic chains so as to validate mendacious messages.
To address this inaccuracy, voting mechanisms were used; before a message is used within the Tangle, it is put to a vote.
This approach made it possible to divide two processes: message selection from consensus.
With the application of Nectar, the algorithm selects 2 to 8 messages from a set of suggestions. The approval mechanism represents the "belief" in the Tangle: if message y approves message x, it means that y considers x valid and also the story behind it.
Nectar's selection algorithm, which I have just exemplified to you, is Restricted Uniform Random Tip Selection (RURTS), which selects with uniform probability .
Variation in the number of endorsements (from 2 to 8) counteracts spam phenomena during periods of low network congestion: a high number of endorsements prevents a spammer from enlarging the Tangle, ensuring healthy growth of the Tangle.
Normally, the number of endorsements during low congestion periods is 2.
The algorithm is further improved by including 2 additional types of endorsements: Weak and Strong.
Weak endorsements do not care about the reliability of the story, but do not allow the message to create additional branches; while strong endorsements ensure the truthfulness of the message and its story.
Speed control
In traditional blockchain, speed is controlled through Proof of Work and the difficulty of the problem to be solved.
To increase security in IOTA, a special form of Proof of Work is used: Adaptive Proof of Work: if a malicious party starts sending messages in bursts to congest the system, the difficulty of the problem increases proportionally until it cannot be solved, in effect slowing down the sending of messages.
Congestion control
Network congestion is defined as more operations than the algorithm can handle; if there are no control systems in place, the network will overflow and cease operation.
A congestion control algorithm must observe and manage these 3 characteristics:
- Fair access: network access must be granted proportionally;
- Resistance to attacks: malicious nodes can incapacitate the network;
- Consistency: all nodes must write the same messages to their local logs.
Traditional blockchains solve this problem by leveraging some mechanism to elect leaders to mine blocks. In IOTA, there are no miners, so how can congestion be managed?
Two functions are used:
- Scheduler: messages ready to be transcribed are sent to neighboring nodes with a constant rate proportional to the mana of the issuing node. This mechanism prevents one node from overwhelming another.
- Rate setter: Each node uses specific TCP-inspired rules to update its emission rate in response to congestion events. Given that in DLTs, traffic passes through all nodes, being able to quantify the congestion of a single node is sufficient to understand what the network is in. This local analysis allows the algorithm to be efficient without having to monitor the entire network.
So as a function of the above two functions, if an attacker wants to attack the network using congestion, his messages are queued, and when the algorithm recognizes an increase in the queue, thus a possible attack, it immediately excludes him from the network.
Accounting status (double spending)
The very first problem faced by DLTs is double spending. How did IOTA solve it?
By establishing an algorithm called the modified Unspent Transaction Output (UTXO).
UTXO is based on an accounting state in which the balance is not related to addresses, but to transaction outputs.
In this model, transactions specify the outputs of previous transactions as inputs; this allows users to specify which funds are to be spent.
IOTA modified this algorithm based on reality. Taking each node individually, there are no conflicting transactions; based on this assumption, nodes check each reality and compare it with the rest of the Tangle until they find any contradictions.
Consensus
A fundamental part of the new IOTA 2.0, is consensus. Still based on confirmation of a message after confirmation of 2 previous ones, 2 other refined forms of protocols have been established.
- Fast Probabilistic Consensus: As we mentioned just above, consensus occurs by vote. A node asks other neighboring nodes for their opinion to see if it is confirmed the idea it has or change it.
This situation makes the system extremely scalable.
The truthfulness of a node's response is proportional to the mana it has accumulated, so a metastable attack can be obviated; that is, a cheating node maintaining the opinion of other nodes by slowing down the consensus search to the point of invalidating the transaction.
- dRNG: random numbers. In addition, the algorithm creates random numbers that cannot be predicted these numbers are the preserve of nodes that have some reliability and follow a BLS protocol.
The long journey on IOTA 2.0 is over, as I predicted the talk was very technical if (for me who wrote it and believes in it a lot) extremely fascinating.
See you next time with another technical insight!