IOTA x Shimmer x Assembly
A Comprehensive Overview of All Three Networks
With the introduction of the Shimmer and Assembly networks, the IOTA ecosystem architecture has grown from one network to three. This expansion not only enlarges the opportunities each network represents but also the overall complexity of the IOTA infrastructure. This article outlines the core features and key functions of IOTA, Shimmer and Assembly as well as their interconnections, purpose and future.
The IOTA mainnet
Purpose and features
The current IOTA mainnet (IOTA 1.5 Chrysalis) is the safe haven for users, developers and organizations, offering feeless transactions, a stable environment, excellent documentation and mature tooling, and support for various popular programming languages providing feature parity across them. Currently, the IOTA mainnet allows for ~1,000 feeless data and value transactions per second (tps).
The current IOTA network is mostly used by for-profits, industrial entities, not-for-profit organizations, governmental bodies and a multitude of other actors that explore or rely on business cases that require feeless (micro) transactions. Offering feeless transfers in the smallest possible increments (IOTA), composed of value or data, primes the IOTA network for industrial and data-driven use cases that would not be possible in networks incurring any kind of transaction fee. The IOTA network, therefore, enables a secure machine-to-machine (M2M) economy allowing for potential advancements in full automation, enabling the Internet of Things (IoT). But it doesn’t stop there. What adds security and conserves resources, and is favorable in an M2M economy, is also positive for any other use case e.g. the ones popular in the cryptocurrency market.
Security
The current IOTA mainnet relies on an additional security mechanism provided by a centralized entity called the “Coordinator”. The Coordinator checkpoints all valid previous transactions by issuing milestones to the IOTA network. Milestones are collectively recognized and accepted by users as a signal for a secure and final transaction. Although network participants generally accept it, and the Coordinator is not able to alter or stop transactions in the network, it is a potential single point of failure. Therefore, the very nature of the Coordinator does not align with the ethos of the IOTA Foundation, nor with the general idea of decentralization, which is the sole reason for focusing development on a fully decentralized, permissionless and leaderless consensus algorithm, already being tested in the IOTA 2.0 DevNet (see “IOTA 2.0 (DevNet)” below).
Upcoming features
The next major milestone for the IOTA mainnet will be the integration of new output types for the base layer, included in the recently introduced Tokenization framework. The Tokenization framework will turn the IOTA ledger effectively into a multi-asset ledger capable of managing several native tokens in the very same ledger as the native IOTA token. Following the tokenization framework will be the integration of IOTA Smart Contracts. The long-term goal is the removal of the Coordinator, pending proper validation of the IOTA 2.0 protocol in IOTA’s staging network, Shimmer.
The IOTA token and wallet
The IOTA token is the native currency on the IOTA network. It has a non-inflationary total supply of 2,779,530,283,277,761 IOTA and is traded as “million IOTA”, called “MIOTA” on major and minor exchanges. The IOTA Foundation has developed its own wallet, Firefly, which is currently available on all major desktop operating systems (a mobile version of Firefly is currently under development). The IOTA token is used to transfer value and data and enable feeless micro-payments. With the introduction of the Tokenization framework on the IOTA mainnet, the native IOTA token will be required as a (returnable) deposit to enable feeless micro-value transactions as well as transfers of native assets (e.g. NFTs) in the upcoming IOTA multi-ledger.
Once the IOTA mainnet is updated to the decentralized IOTA 2.0 “multiverse consensus”, IOTA tokens will yield Mana, enabling prioritized, feeless transfers in times of network congestion (see below under “Upcoming features” for more on Mana). With the integration of the tokenization framework, the IOTA token will be the means of payment for NFTs, enabling tokenization of other assets, data sharing and monetization across ecosystems.
Node software
To increase the network’s resilience in case any bugs emerge, mainnet node software (Hornet and Bee), largely offering feature parity, is available based on the programming languages Rust and Go. Although not encouraged, in times of low throughput nodes can be run on machines as low-powered as RaspberryPi 4s.
IOTA 2.0 (DevNet)
Purpose and features
The IOTA 2.0 DevNet features a new consensus mechanism, designed to fully decentralize the IOTA network. The first iteration of the DevNet was released in June 2021 and is continuously updated to further improve, harden and optimize the upcoming, fully decentralized version of the IOTA mainnet.
The IOTA 2.0 DevNet is a public testing ground, allowing developers and the community to test different scenarios and attack vectors and improve features iteratively. Currently, the network is artificially limited to 1,000 tps. Tooling and specification are fairly mature but under constant revision.
The IOTA 2.0 DevNet offers smart contract capabilities in the form of the early beta version of IOTA Smart Contracts, allowing for permissionless deployment of different virtual machines (e.g. EVM) and smart contracts written in Solidity, Rust, TinyGo or Typescript (compiled to WASM/WebAssembly).
The IOTA 2.0 DevNet also contains the first version of the Tokenization framework and serves as Layer 1 for the IOTA Smart Contract DevNet run by Wasp nodes.
Security
IOTA uses a Nakamoto-style consensus on a directed acyclic graph (DAG), without outsourcing security to “miners” nor spending excessive amounts on energy for security through Proof of Work. Every node adds and validates incoming transactions to its own, local version of the IOTA ledger.
Unlike in blockchains, DAG-based ledgers allow transactions received from their connected neighbors to be added in parallel to the IOTA ledger. If a node detects a conflict, it publishes its opinion about it to the IOTA network by attaching its new transactions only to the non-conflicting transaction(s), thus signaling which one(s) they deem to be correct. By observing the votes of all connected nodes in the network (for example, in the case of a double-spend attempt), a collective opinion of which transaction should be accepted and which should be dropped emerges over time.
Once a collective opinion has emerged, the “longest chain wins”, which in IOTA’s case means that one branch of transactions gains the most approval weight by nodes: one transaction is collectively accepted by all nodes within the IOTA network and the other transaction is dropped by the nodes. In case there is a tie in opinions, IOTA’s “fast probabilistic consensus” (FPC) is used as a tiebreaker for such metastable states.
This consensus mechanism resembles Bitcoin’s Nakamoto consensus but is used on a DAG, allowing transactions to be added to the IOTA ledger in parallel, instead of a linear formation of blocks in predefined intervals as, for example, in Bitcoin.
Officially, the IOTA consensus mechanism is called “On-Tangle voting” (OTV). However, because nodes maintain their individual perception of the ledger state while observing opinions of neighbors on conflicts until a global perception has formed, the IOTA community coined the term “multiverse consensus” for IOTA’s upcoming consensus mechanism. It is important to note that the parallel reality-based ledger (we define a parallel reality as the temporary coexistence of conflicting transactions in the ledger) allows an extremely high efficiency to be achieved in the processing capabilities of nodes: all transactions are added to the ledger instantaneously, most of which will be confirmed and only a few reverted seamlessly, thus ensuring that legitimate traffic is not slowed down.
Upcoming features
Feeless DLTs that do not outsource security to miners or stakers risk being clogged by spam: If appending transactions to the ledger is free, then attempts to disrupt the system by submitting massive amounts of spam must be free as well. To mitigate this, IOTA uses a mechanism called Mana: virtual “good behavior points” that are credited to nodes for processing valid value transactions on the IOTA Tangle. Mana always follows IOTA tokens like a shadow. Only the last node that “touched” IOTA tokens is credited Mana in the same amount as the tokens it processed.
In times of congestion, nodes with Mana receive preferred access to the IOTA network. This means that spammers would need to own large quantities of IOTA tokens to be able to clog the network with spam and disrupt its operation – which would likely devalue the token of which they require large quantities to issue spam in the first place.
Many DLTs statically allocate available bandwidth, resulting in under-utilization or congestion. In IOTA 2.0, we propose a Mana-based access control that adapts in real-time with the variable network conditions, to reallocate unused bandwidth to nodes that are willing to use it. To the best of our knowledge, this is the first adaptive access mechanism achieving full utilization of network resources, fairness (based on nodes’ Mana), low delays and attack resistance. Mana-based access control is currently being tested and will soon be merged with the IOTA 2.0 DevNet, as well as snapshotting (discarding old transactions), timestamping and their syncing.
The IOTA 2.0 DevNet token and wallet
The IOTA 2.0 DevNet has a token and a basic DevNet GUI wallet that can be used to test token-based features, as well as the tokenization framework, allowing anyone to mint tokenized assets. These assets can be used as first-class citizens and transferred feelessly in the network. The IOTA 2.0 DevNet token is not listed on any exchanges and has no value.
Node software
The IOTA 2.0 DevNet node software (GoShimmer) is a publicly available research implementation, geared towards fast iterations and the ability to test aspects of the whole decentralized system architecture. The GoShimmer node is stable, being used in the DevNet, but not intended to be used as a future production version. It is not optimized for speed and low resource requirements.
Shimmer network
Purpose and features
The Shimmer network will be the younger brother of the IOTA 2.0 DevNet, based on the consensus mechanism tested in the IOTA 2.0 DevNet. As node software, Hornet (and likely Bee) will be used instead of GoShimmer. It will act as a validation network for any IOTA features before they are integrated into the IOTA mainnet. Like the current IOTA mainnet, Shimmer offers feeless microtransactions but, unlike the current IOTA mainnet, it will also regulate access to the network through Mana.
Another major difference to the IOTA 2.0 DevNet is Shimmer's persistent ledger. Unlike the IOTA 2.0 DevNet, the Shimmer network is not designed as a controlled-environment testnet but as a real, decentralized network. The Shimmer ledger state is not reset whenever major upgrades are made available. Because of that, it enables the validation of new modules in a real-life scenario and a token to be listed on cryptocurrency exchanges.
Over time, the Shimmer network and its features might slightly deviate from the IOTA 2.0 DevNet. After all modules and features necessary for the eventual Cordicide of the IOTA mainnet have been validated through the Shimmer network, Shimmer is expected to continue to live a life of its own, potentially focusing on different use cases than the IOTA mainnet.
Security
The future Shimmer network will rely on the security features developed and tested in the IOTA 2.0 DevNet. As a consensus model, Shimmer will use On-Tangle voting, a DAG abstraction of the pure Nakamoto consensus (“longest chain wins”) known from, among others, Bitcoin. A major difference is the absence of miners, leading to a feeless system and an energy efficiency of less than a billionth of a kWh for an IOTA transaction (compared to ~1,997 kwH/one ton of CO2 for a single BTC transaction, at the time of writing).
Upcoming features
The Shimmer network will start out as a duplicate of the current IOTA Chrysalis mainnet and will gradually be upgraded with modules of the fully decentralized IOTA 2.0 DevNet after they have been tested, vetted, and audited in a controlled environment on the IOTA 2.0 DevNet. Features that prove to work flawlessly not only on the DevNet but also under real-world conditions in the Shimmer network will then be ported to the IOTA mainnet.
After its initial launch, one of the first features of the Shimmer network will be the implementation of the Tokenization framework, turning Shimmer into a multi-asset ledger, capable of hosting multiple assets side by side on a feeless, scalable DAG. The Tokenization framework offers new output types on the network’s base layer, supporting composability and atomic transactions of IOTA smart contracts running on top of the Shimmer network. In addition, it will offer a feeless generation of NFTs and the emergence of NFT marketplaces.
The SMR token and wallet
The SMR token is the native token of the Shimmer network. If SMR is listed on cryptocurrency exchanges, Shimmer will enable testing of the IOTA 2.0 system architecture, consensus mechanism, and modules “in the wild” under real-life conditions with real value at stake. Once the Shimmer network uses the IOTA 2.0 consensus mechanism, holding/owning SMR tokens will be required to issue transactions in case of congestion, based on the Mana generated through SMR tokens.
Plainly speaking: network activity (which validates the network components) is much stronger when money is at stake. Shimmer's purpose is to validate all new features that are to be integrated into the IOTA ledger, most notably the modules allowing a scalable and fully decentralized architecture, not reliant on a centralized security component like the Coordinator. Firefly will be enabled to manage the SMR token (as well as ASMB tokens, IOTA tokens, and tokenized assets).
As a side effect, if the Shimmer token is listed on cryptocurrency exchanges these exchanges will most likely be able to make the switch to the future, fully-decentralized IOTA mainnet by copying their Shimmer integration and changing just one parameter (the network ID).
Node software
The Shimmer network will be based on Hornet and Bee nodes.
Staking
IOTA token holders can stake IOTA tokens to gain Shimmer tokens using the official Firefly wallet. For every staked MIOTA, users receive one SMR every ~10 seconds, for a duration of 90 days. After the 90-day period ends, the total of the awarded SMR tokens makes up the total initial supply of the Shimmer network at its launch. The beginning of the 90-day staking period is announced through the official Shimmer social media accounts.
Assembly network
Purpose
Assembly adds fully decentralized and scalable smart contract capabilities to the IOTA ecosystem. It is a highly scalable multi-chain network for sharded, composable smart contracts, implemented on the IOTA Smart Contracts framework. In addition, Assembly offers shared security, trustless interoperability, atomic composability on-chain, and asynchronous composability via trustless and feeless cross-chain transactions.
Put simply, Assembly is anchored to the IOTA network, which automatically enables sharded smart contract chains. As the IOTA Tangle does not follow the sequential state update rules of blockchains, smart contract chains can write their blocks to the IOTA Tangle in parallel. Using the feeless IOTA base layer, smart contract chains and smart contracts themselves also do not require bridges to be built between them – they can transfer and swap assets with each other without limits or incurring base-layer fees.
Due to the unparalleled scalability offered by IOTA’s DAG at L1, Assembly can allow anyone to create a decentralized smart contract chain without asking for permission or paying anyone a fee. In addition, any chain can communicate with any other chain using the feeless IOTA base layer, and the results of smart contracts can serve as inputs for another smart contract, making them “composable”.
In addition to the powerful features offered by the IOTA Smart Contracts, Assembly offers a permissionless pool of decentralized validators. By having validators pledging a bond (their “stake”) to a common pool, Assembly provides truly shared security among multiple smart contract chains in the network.
Furthermore, Assembly adds governance functions that allow individual chains to draw from a common pool of decentralized validators. The main chain of Assembly maintains and rotates the validator pool as well as committees of validators that validate specific chains. It rewards validators, punishes misbehavior and governs changes in core functions.
The properties of Assembly chains are defined by the IOTA Smart Contact framework. Among other things, it includes full binary compatibility with EVM (Solidity, APIs, tools, wallets) and, supports WebAssembly VM with multiple source languages such as Rust, TinyGo, and TypeScript.
Each smart contract chain will have its individual governance and configuration parameters. Those can either be delegated (fully or partially) to the Assembly root committee, handled by the chain itself in a decentralized way (DAO), or even be centralized. This ownership structure allows incentives for validators, fee structure, and/or other parameters of the chain to be defined.
Assembly relies on the IOTA DAG as a base layer, whose nature itself provides high scalability and full parallelization while being feeless. At the same time, due to their parallelization, L1 DAGs (which include IOTA and Shimmer networks) do not provide a “total order” of transactions, which is required for smart contracts and use cases such as DeFi applications. IOTA Smart Contracts, and therefore, Assembly provides such “total order” on each of its smart contract chains, thus making them atomically composable while retaining capacity advantages and fearlessness and enabling parallelization of chains and cross-chain transaction over the IOTA Tangle as the base L1 layer of the protocol.
Put simply, IOTA’s base layer is the anchor for Assembly. Assembly is the governance layer for the permissionless ecosystem/market of IOTA Smart Contract chains and their validators, who execute smart contracts.
Security
Any state changes in the Assembly main chain, as well as smart contract chains based on Assembly, are anchored to the IOTA network, offering a solution to immutably log high-frequency, parallelized audit trails.
Smart contract chains drawing validators from the decentralized Assembly validator pool benefit from a shared bond (or “stake”) and governance functions such as validator rotation and dispute resolution with possible punishment (“slashing”) in case of misbehavior (a deviation from the deterministic behavior). More detailed information on validators and committees can be found here.
As Assembly relies on the IOTA network to anchor smart contract state changes, Assembly node maintainers and validators benefiting from Assembly will be motivated to validate the IOTA network, i.e. run IOTA nodes. The smart contract chains will likely hold large amounts of IOTA L1 assets on behalf of their clients and therefore will be big Mana generators on the IOTA base network. Therefore, validators will have an interest in pledging Mana generated by the smart contract chain to their own L1 nodes. This is likely to make validators of the smart contract chains important validators and security guarantors on the IOTA base network.
The ASMB token and wallet
The ASMB token is the native token of the Assembly network. It is used to lock value as a bond for the main validator pool, as a staking asset for users who want to provide staking capital to validators, to pay rewards to validators (optionally), to pay gas fees to smart contract chains (optionally) and to prove voting rights on governance decisions. Because the network has not yet been launched, the ASMB token is currently not listed on any cryptocurrency exchanges.
While the underlying IOTA network has a limited supply, the Assembly network is designed to have an inflationary supply, making it possible to provide rewards for validators. The initial supply of the Assembly network is set to 100 billion ASMB tokens. Its initial inflation will be set to 8%. Newly minted tokens are being distributed to stakers pro-rata. The long-term inflation of the Assembly token supply is planned to be defined through a governance vote, sometime after the Assembly network is launched.
Upcoming features
The first step on the Assembly roadmap begins with the opportunity for IOTA token holders to gain ASMB tokens by staking IOTA tokens (see “IOTA staking” below). Some time afterward, the Assembly network and token will be launched.
To bootstrap Assembly, a single smart contract chain (known as the “root” chain) will be launched to establish core functionality, governance functions, validator pools and staking. It will create grounds for the full multi-chain system.
Node software
IOTA Smart Contracts (and by proxy Assembly) are based on Wasp nodes. An introduction explaining their core features can be found in the IOTA wiki here.
IOTA staking
Before the Assembly network launches, IOTA token holders are enabled to stake IOTA tokens during the bootstrapping phase to gain ASMB tokens as a reward. A total of 20% of the initial token supply has been reserved to be directly distributed to IOTA stakers. After the bootstrapping phase of 90 days, users will be able to continue staking IOTA tokens for another 21 months.
After the launch of Assembly, ASMB tokens can be used to secure the network and pay for smart contract execution fees. Users contributing to the security of the Assembly network by locking up ASMB tokens in a validator pool will receive a reward. The yearly inflation on the network will initially be set to 8%, to be distributed to stakers pro-rata. The long-term inflation will be determined through a governance vote, once the network has been launched. In addition, stakers will receive a share of the execution fees, as defined by the maintainer of the smart contract chain.
Follow us on our official channels and get the latest news!
IOTA: Discord | Twitter | LinkedIn | Instagram | YouTube