The Deep Renovation of IOTA
Restructure, Refactor, and Remerge with a Renewed Purpose
Few surviving DLT protocols have been as hotly contested, vehemently argued, and almost forgotten as IOTA. Despite the controversy and adverse market conditions, the team has continued to reorganize, research, develop, and now deliver.
It is hard to track the rapid iterations as IOTA 2.0 moves towards production ready software. This slightly techy article serves as an update on the restructuring of IOTA from the ground up. It’s good for anyone interested in blockchain or DLT, since it will help explain design choices in protocols beyond IOTA as well.
IOTA 2.0 has pivoted from IOT (internet of things) applications toward ‘internet of everything’ applications. While the protocol has dropped exotic ambitions such as ternary computing and cumbersome, forward-thinking intentions such as quantum-secure signature schemes, it has retained the core motivations of being a:
- Fee-less
- Lightweight
- Decentralized
- Data & Value transfer protocol
The IOTA 2.0 On-Tangle-Voting (OTV) consensus is highly efficient because it uses minimal messaging overhead as votes implicitly accumulate as the ledger propagates with subsequent confirmations. Rather than waiting for consensus before adding another block, the protocol allows for conflicts until a threshold voting weight accumulates on one of the conflicting ‘branches of reality’. The branches then collapse to the winning branch, otherwise known as the branch with the ‘heaviest’ voting weight. In this way, OTV allows for a Nakamoto consensus on a directed-acyclic-graph (DAG) where the ‘heaviest’ branch wins rather than on a blockchain where the ‘longest chain’ wins. This allows for efficient asynchronous, decentralized posting to the ledger. IOTA’s lightweight protocol allows for small devices to participate and thus increases the potential for decentralization.
All of this seems good, though it comes with some tradeoffs:
A heterogenous network has nodes of varying compute capacity and network connectivity. Such a network may be more equitable and decentralized which is a primary goal of distributed ledger technologies (DLTs.) Yet, this network topology can affect the time for a transaction to be seen by the entire network. This timeframe is known as network latency. While a heterogenous network is good for decentralization it can both increase the network latency and make network latency unpredictable under high loads. This creates a challenge for ordering events on the ledger when transactions occur faster than the entire network can perceive them. It also opens attack vectors for those looking to contort the perception of truth on the ledger. This conundrum is a classic challenge in DLTs known as the ‘Trilemma’ wherein Security, Scalability, and Decentralization are at odds with one another. It is difficult to optimize for all three. IOTA 2.0 addresses the Trilemma with a unique solution: it combines a relative sense of time with parallel asynchronous transactions, and then combines a probabilistic consensus with the deterministic finality of a randomized global clock.
Understanding Time and the Trilemma
The asynchronous DAG structure allows for high throughput and horizontal scaling as each node may post to the ledger, but only by confirming 2–8 previous transactions. Increased throughput leads to increased confirmations up to physical limits of network capacity (bandwidth, processing speed, etc.) At a certain rate, throughput is faster than network latency: the entire network cannot see transactions as fast as they are coming.
Even so, competing branches will likely collapse to the winning reality faster than network latency since only a majority percentage needs to vote. The time to achieve this threshold may still be affected by network conditions that increase the time to reach a signicant majority of voting weight.
Some DLT’s utilize a synchronized clock or conversely will use a verifiable delay function to to create an objective sense of time on the network. Maintaining a global, synchronized clock at low latency is very expensive and this barrier decreases decentralization. The node requirements for such a network make it difficult for many to participate, and the tokenomics to reward those running expensive nodes eventually leads to an oligarchy. Running a slower clock or delay function is less expensive, but creates a bottleneck in scalability since a deterministic total ordering may only happen as fast as the perception of common time.
How does IOTA 2.0 solve this Trilemma?
Achieving the required threshold weight to declare a winning branch is a probabilistic outcome. This is not different from other protocols that require a set number of blocks before one can consider a transaction to be final with high probability. A sense of time is required for a total ordering of events to execute many smart contracts. Satoshi Nakamoto even referred to the blockchain as a ‘Time-Chain.’ Blockchains have implicit ordering by the nature of being a linear series of blocks. The linear blockchain provides general total ordering, though time may still be exploited in most current blockchain designs: miners or validators signing the blocks may influence the order of transactions within the block itself. This process is known as ‘miner extractable value’ (MEV) and signicant funds are exploited regularly through this scheme. Time continues to be a problem at the granular, millisecond level.
Since IOTA transactions may post asynchronously at a rate faster than network latency, it is difficult to have a global sense of ordering at the millisecond level. IOTA 2.0 utilizes a local, relative sense of time based upon time since acceptance of the parent transaction preceding the new transaction on the winning branch. This relationship provides a relative timestamp for grouping transactions into epochs that progress slower than network latency. The epochs confirm a common perception of time on the global network level. The epochs are signed by a randomized committee and cannot affect the content or order of transactions within the epoch. There is no censorship, alterations, or MEV.
Once included in an epoch, the transaction achieves deterministic finality. Probabilistic finality occurs faster than network latency, and deterministic finality occurs at the rate of network latency. This allows IOTA 2.0 to have a probabilistic consensus that subsequently achieves rapid, deterministic finality.
In comparison to blockchains, one could view the epochs as ‘time-blocks’ and the series of epochs as a Time-Chain similar to Nakamoto’s vision. However, IOTA 2.0 allows for an elastic ‘blocksize’ due to the horizontal scaling of the DAG architecture: the number of transactions in a timeframe is based upon throughput and is limited only by physical resources. In addition, the combination of all nodes posting to the ledger asynchronously and the probabilistic nature of the IOTA 2.0 consensus subverts MEV within the ‘time block.’
The more evenly distributed the voting weight is in IOTA 2.0, the more of the network must vote on the transaction before reaching the threshold. And so, more decentralization results in slower probabilistic finalization. The Trilemma is still at play even though the messaging protocol may be as efficient as possible. If voting were fully distributed evenly, the speed of probabilistic finality would be a significant fraction of global network latency. We would want to ensure a winning branch before the next epoch in order to provide deterministic finality. For instance, if global network latency were 2 ms and epochs issued at 4 ms, we would want to make sure that conflicting branches would collapse to a winner in less than 4 ms, even in the most adversarial network conditions.
To increase decentralization and prevent censorship, we would want many nodes of varying processing power and network access. Again, this heterogenous network has benefits, but also has significantly higher network latency than protocols requiring multicore nodes with gigabit connections. To speed conflict resolution, the IOTA 2.0 protocol randomly deposits a mass of voting weight throughout the network so as to tip the threshold quicker and achieve probabilistic finality sooner. Why would this work? In a conflict, we only need one winning transaction. This solution forces a random resolution of the conflict that cannot be gamed.
In summary, allowing conflicting perceptions of transactions and relative perceptions of time lets nodes stream transactions to the ledger at the rate of hardware capacity. The implicit voting weight in On-Tangle-Voting (OTV) provides a minimal overhead probabilistic consensus for transactions and relative ordering. The epochs slice the Tangle into ‘Time-Blocks’ that provide deterministic finality and total ordering. Only one outcome may win.
A Deposit for Remaining Fee-less
A lightweight, fee-less protocol is quite vulnerable to various types of ‘throughput attacks’ such as spam attacks and Sybil attacks. Other DLT protocols enforce a limited resource (proof of work, proof of stake, etc.) to reflect the limited network bandwidth. Participation requires a fee in exchange for this artificial limited resource that secures the network. For IOTA 2.0 to remain fee-less to participate, the research team shifted the tokenomics such that the IOTA token represents a portion of bandwidth and data storage in the network.
From one perspective, holding IOTA tokens is like holding a commodity of bandwidth of the global network and guarantees a certain degree of throughput. This is facilitated by another commodity called ‘Mana’ that is generated by holding IOTA and processing network transactions. By holding the IOTA token and supporting the network, one gains Mana that gives access to a proportional amount of network bandwidth.
It has been proposed that one may purchase Mana or pledge Mana in a ‘Mana Marketplace.’ This would benefit those who for legal or other reasons could not hold the IOTA token or those who hold IOTA, but do not want to run a node. One could purchase bandwidth on demand, and in such an instance there would be ‘fee for usage.’ Such a marketplace would effectively create a ‘delegated proof of stake’ (dPOS) model, and the research team is currently running simulations on different proposals to optimize security, throughput, and equality in the network. Should a ‘Mana Marketplace’ emerge, IOTA 2.0 would have the option of a fee for access or holding IOTA tokens to guarantee bandwidth.
IOTA 2.0 remains true to the original vision of being a data and value transfer layer. The tokenization framework implemented in the Stardust upgrade allows for some data to be stored on-ledger, and this opens new possibilities. One could imagine that billions of transactions and instances of data could grow rapidly to an enormous database size. If this were replicated across all nodes, it would be costly and would create barriers to running a node. This cost barrier would decrease decentralization, and possibly impair performance of the base layer. IOTA 2.0 solves this problem in three ways:
- Selective permanodes known as Chronicle Nodes
- Relegating Data Storage to layer 2 solutions such as PIPE
- Requiring a refundable storage deposit for data storage on Layer 1 (the Tangle)
The first 2 solutions are easy to understand in the linked blogposts. The third solution opens possibilities unique to IOTA as noted below.
Unlocking Identity, Ownership, and Interoperability
By locking a refundable deposit of IOTA tokens you can store digital identities, mint NFTs, and mint native tokens on the layer 1. Digital identities (DIDs) for humans and things enable the interoperable world of Web3. You may associate your DID with verifiable credentials that enable everything from logging into a website, applying for a loan, or proving ownership of your property. On IOTA 2.0 NFT’s can be associated with DIDs, and also can become economic actors in their own right. An NFT can have it’s own wallet in which it owns other NFT’s or tokens. Minting tokens on the base layer provides the security of the Tangle while opening atomic, composable interoperability with a bridgeless, multichain protocol. In other words, any DID, NFT, or Token minted on the Tangle may easily interact with Layer 2 chains without a third party bridge.
Going Bridgeless and Multichain
As mentioned previously, IOTA 2.0 has pivoted toward an ‘internet of everything’ approach and this is partly facilitated by extending the functionality of the UTXO ledger. With the Chrysalis upgrade, IOTA abandoned some of the novel approaches that simply weren’t practical or effective. It shifted to more industry standards as the industry itself was maturing. Pioneering work by the Cardano team demonstrated that unique output types on the UTXO ledger allowed for increased functionality on the base layer. This extended UTXO (eUTXO) ledger has enabled a new tokenization framework on IOTA and for a bridgeless integration of layer 2 smart contracts that may use account based ledgers. The account based ledger such as used in Ethereum has certain benefits of simplicity for smart contract design. On the base layer, the eUTXO ledger enables decentralized identity, data storage, and creative applications of NFTs. With the base layer serving as a bridgeless communication platform between layer 2 chains, it enables atomic, composable smart contracts written in industry standard languages including Solidity and Rust. Abstracting the smart contracts to Layer 2, increases scalability and allows for each application to design their own chain to suit their own security, throughput, and tokenomics needs while leveraging the qualities of the base layer. Given that validators of smart contract chains need to post transactions to the base layer, these nodes must have significant Mana to ensure high throughput. In this way, the security tokenomics of the base layer indirectly secure the layer 2 smart contracts.
Modular Frameworks for Custom Solutions
The IOTA Foundation has shifted to a modular framework for further IOTA development. As noted in the infographic above, these core modules support development of robust, custom solutions that leverage the unique qualities of the Tangle. Currently the following modules are available or in late beta stage development:
- Tokenized assets (Tokens and NFTs)
- Streams (Secure, encrypted data aggregation and access control. Powers Oracles)
- Smart Contracts (EVM & WasmVM, atomic, bridgeless, and multichain)
- Access (Lightweight Access Control for resourced constrained IOT)
- Digital Identity
- Stronghold (Secure management of sensitive data)
These modules in combination with the fee-less value and data transfer layer position IOTA 2.0 as an equitable, decentralized trust protocol. Companies such as Dell Technoligies and Intel in collaboration with the Linux Foundation developed Project Alvarium with IOTA to leverage a Data Confidence Fabric to enable privacy-preserving edge computing. We see IOTA used in smart cities, climate initiatives, supply chains, digital exchanges, and lending. A budding ecosystem of >80 projects is awaiting the full launch of smart contracts and an active community governance has matured to support both protocol and market development.
Assembling the Solutions, Integrating the Stack
Finally, we move to layer 3 and integrate the stack. Many in the IOTA community wonder about the Assembly project, including myself. It has beautiful graphics, a great storyline, and we’re repeatedly staking our IOTA to enable ASMB airdrops in our Firefly wallet. We know that Assembly is run outside of the IOTA Foundation and that this was done to enable market activities (such as marketing) that otherwise would be prevented under the strict German non-profit law that IOTA Foundation operates. Initially Assembly was positioned as a mechanism for enabling decentralized validator pools for the layer 2 smart contracts. The layer 2 smart contracts can have ‘Proof of Authority’ (POA) validator committees, and these validators may one day be linked to decentralized identities (DIDs) to enable social consensus and real-world accountability. In the meantime, we rely on POA validators to reveal their public identities to engender both trust and accountability in their chain. Assembly was positioned as a way to enable a marketplace for randomized validators of specific capacities to rotate through a chain’s validator committee. This leveraged the ASMB token as a proof of stake to ensure honest behavior of selected nodes. While this does seem to still be part of the plan, rapid advances in zero-knowledge proof (zk) technology have expanded the potential for Assembly. Some DLT layer 3 abstractions move applications to layer 3, though this can lead to complicated routing which limits functionality. This is usually done because the lower levels have inefficient consensus mechanisms. IOTA 2.0 has a very efficient consensus mechanism, and so we can leave application chains on layer 2. Assembly can then be the layer which orchestrates the structure of your layer 2 chains. For instance, one could design:
- POA validator committees based on known consortiums
- POA validator committees based on DIDs anchored to real world accountability
- Randomized validators committees to meet specific chain needs
- Zk-proofs anchored to layer 1
In short, Assembly can expand from a mechanism to ‘assemble’ a randomized validator pool to a means to assemble your layer 2 smart contract chain as to your particular needs. And, it is likely that the options will continue to increase over time as the industry continues to progress. IOTA 2.0 is designed in a very modular nature. Assembly may be a way to orchestrate the modules in personalized compositions to serve different needs.
Setting the Stage for Success
At the moment, the new tokenization framework has launched on IOTA’s stage network called Shimmer. This upgrade (known as the Stardust upgrade) will push to the IOTA main net once thoroughly validated. Next up on the staging network is the launch of the Ethereum virtual machine (EVM) on layer 2 which will enable the first set of applications building on IOTA or porting over from other ecosystems. Following this launch, the web assembly virtual machine (WasmVM) arrives and this enables smart contracts in languages beyond Solidity including Rust, Go, and Typescript. The research team building the IOTA 2.0 prototype has merged with the team writing production ready node software, and they are beginning to polish the prototype into the first production model featuring OTV.
Meanwhile, the IOTA Foundation has restructured with a focus toward protocol R&D. They have spun off teams outside of this capacity into independent businesses. This extends the project runway during challenging times, and gives talented teams the market motivation to deliver as IOTA now has the functionality to compete in the DLT space. IOTA continues to have the unique selling propositions (USPs) of being a fee-less, decentralized, lightweight data and value transfer layer. With the addition of atomically composable smart contract chains, it competes with top layer one protocols in the industry while offering the enhanced security of a bridgeless design and eliminating miner extractable value. Admittedly, the layer one space is becoming a crowded field during a global financial downturn. For those of us who have been in the community since 2017, it is a relief to see the many promises of ‘SOON’ becoming realizations of ‘NOW.’
The community continues to be one of IOTA’s strongest resources as it has both broadened and matured over time. There are over 80 projects waiting to deploy on Shimmer when the EVM launches this year. More will migrate with the WasmVM. As the upgrades push to main net and the applications transition as well, we can anticipate the need for education around the advances in IOTA protocol since few have been following along. Being conversant in IOTA’s advances and USPs in a collegial way will be essential for both recruiting and developing projects that are a good fit for the IOTA protocol.
The IOTA Foundation now has a Swiss non-profit arm that has more flexibility in marketing activities. Community governance structures are maturing. Ecosystem funding is primed for deployment. The IOTA Foundation team recently met in Berlin to align on the next steps in product development and market positioning. We can anticipate a rebranding featuring the expanded capacities and USPs of IOTA 2.0.
The IOTA Community and the larger Crypto Community are facing big questions at this time. Profiteers have made over-leveraged gambles and off-ledger deals that have caused massive liquidations across the crypto markets. Ironically, in our techno-social movement to create platforms for distributed trust, we have been too quick to trust without verifying. These are growing pains, and only highlight the need for what we are building. In my previous article, I discuss the societal needs of why we must get this right. There are many reasons to applaud the team and community that persevered through challenging times to deliver an accessible platform for distributed trust. Innovation is often a series of inspired failures leading to breakthroughs that become the new norm. DLT’s are dynamic systems, and in such systems fundamental incentives drive the organic formation of unexpected, complex structures. At the root of IOTA’s innovation is that helping others grants access to the protocol: one can only post a transaction by confirming the transactions of others. Ultimately, this reciprocity drives the progression of IOTA’s DAG, known as the Tangle. And, ultimately this reflects the only way forward for humanity: one of reciprocity and trust. In many ways our modern culture has forgotten this, and itself needs a renovation. May our technology reflect the reality that we are en-Tangled in this interdependent world together. May the value of reciprocity and trust become the new norm.
For support in joining the Ecosystem connect with Touchpoint
Connect with IOTA community on Discord
Follow Development on GitHub