Our research
At the cutting edge of DLT research
The prototype implementation IOTA DevNet 2.0 is where the IOTA Foundation's Research Department implements the IOTA 2.0 modules in a full node software in order to study and evaluate their performance. For an introduction to our prototype, please read here.
The research specifications of the IOTA 2.0 protocol were made available with the release of the IOTA 2.0 DevNet. For some context before you dig into the specifications, please read our introductory blog post.
Distributed ledger technologies (DLTs) allow to replicate and independently update an immutable database across several nodes on a peer-to-peer network without a central authority. Nodes maintain consensus on the contents of the database. To ensure that all nodes can store the entire database (or at least the recent changes), access must be managed fairly with respect to some scarce, cryptographically verifiable resource
Furthermore the database is used to maintain a state machine known as the ledger. When conflicting updates are proposed to the database, nodes use a given consensus algorithm to decide which update is correct. Once a consensus has been determined, all the other nodes update themselves with the new, correct copy of the ledger. The choice of the consensus algorithm as well as the cryptographic mechanisms involved are crucial to guarantee the security of the ledger.
The DLT paradigm gained a lot of interest with the introduction of Bitcoin's blockchain in 2008. However, because a blockchain totally orders all of its data, this solution, while effective, is expensive, slow and non-scalable. IOTA aims to solve the limitations of Bitcoin’s blockchain by using a data structure based on a directed acyclic graph (DAG). The DAG-based architecture, however, introduces new complexities which must be addressed.
The IOTA protocol is currently undergoing a series of developments. Currently, the main network is under the control of a centralized entity called ‘coordinator’, which directly tells participants which information is included in the database by issuing periodic milestones. However, the coordinator is a temporary solution which we are endeavoring to remove in our Coordicide project.
Eventually, the IOTA network will switch to the IOTA 2.0 protocol. A prototype is currently under development and is running on our DevNet. A simple description of the IOTA 2.0 protocol can be found here.
The problem of removing the coordinator is challenging as it involves consensus mechanisms, networking, cryptography algorithms and a complex protocol structure. The main ongoing research projects are described below.
Darcy, Serguei, Olivia, Billy, Andreas, Luigi
Since its conception, the IOTA network intended to develop on the top a DAG (directed acyclic graph) technology, in order to avoid the limitations of the blockchain DLTs. The Tangle is the name of the DAG data structure we developed. Its structure allows for many desired properties, such as the absence of miners, a confirmation system that is user-dependent (meaning that as more devices use the network, the better it works) and the possibility of confirmation within seconds. More details about the Tangle can be found here.
Sebastian, Serguei, Hans, Andreas, Jonas, Bart
Nodes have to decide whether a given message should be considered for being part of the Tangle. To enable an efficient voting system that enables consensus we leverage the DAG data structure of IOTA. In addition, to assure eventual agreement we introduce a breaking mechanism for metastable states, see here.
ResourcesIntroduction blogSpecifications (See Chapter 6)IOTA Releases Fast Probabilistic Consensus Simulator Simulation study of the Fast Probabilistic Consensus Simulator (FPC)
PublicationsFPC-BI: Fast Probabilistic Consensus within Byzantine Infrastructures Journal of Parallel and Distributed ComputingRobustness and Efficiency of Leaderless Probabilistic Consensus Protocols Within Byzantine Infrastructures Fast Probabilistic Consensus with Weighted Votes On Fairness in Voting Consensus Protocols
Jonas, Hans, Angelo, Vivian, Andreas
To deal with double spends, we introduced a new reality-based ledger state. In this approach, we model the different perceptions of the ledger state that exist in the Tangle. In each reality on its own there are zero conflicting transactions, and the composition of all realities defines the Realities Ledger State. Nodes are thus enabled to know which possible outcomes for the Tangle exist, where they split, how they relate to each other, if they can be merged and which messages are valid tips. All of this information can be retrieved in a fast and efficient way without having to perform heavy search algorithms on the Tangle. More on this here.
ResourcesSpecification
The Fast Probabilistic Consensus Simulator (FPC - IOTA's consensus mechanism) requires a random number to break metastability and make the voting outcome impossible to predict by an attacker. Since IOTA is a permissionless protocol it is natural to look for a random number beacon in the class of decentralized random number generators (dRNG).
In this project, we analyze existing dRNG technologies based on the threshold signature schemes, verifiable delay functions, and proof of work to find the optimal randomness source. This project combines research on dRNG with reputation systems and committee selection processes.
ResourcesDistributed Random Number Generatormin-Hash dRNGFluid dRNG committee selectionCommittee selection in DAG distributed ledgers Specification
Every DLT needs a Sybil protection mechanism embedded in it. Currently, the most common and well-studied Sybil protection mechanisms are the ones that allocate voting power based on non-subjective physically well-defined scarce resources, like Proof of Work (based on hash power) or Proof of Stake (based on the agents' share of tokens). Another possible, though less studied, family of scarce resources is the reputation or relevance of the agent in the economy (which combines traditional and crypto industries). This second family is based on inherently subjective quantities and --for that reason-- demands a different theoretical treatment.
IOTA's scarce resource is called mana. Our end goal is to make mana a measure of reputation and collaboration with the system; consequently, it will be a mix of objective and subjective measures. In this project, we study how mana can be successfully integrated into a robust consensus algorithm while simultaneously introducing desirable economic incentives in the system.
ResourcesMana: Part 1, Mana: Part 2 and Mana: a non-technical introductionCommittee selection in DAG distributed ledgersSpecifications
Angelo, Sebastian, Andreas, Vivian, Olivia
In peer-to-peer networks like IOTA, a node’s neighbors are its only source of information. Any peering mechanism must therefore focus on connecting to a healthy number of honest neighbors. We introduce an autopeering mechanism in which every node has specific criteria for selecting potential neighbors. Its goal is to build a secure and reliable node neighborhood to be used by the gossip protocol, while preventing attackers from “deceiving” other nodes into becoming their neighbors. The autopeering mechanism also creates a small-world network, in which messages can be propagated to every other node in an efficient and fast manner. More on this here.
ResourcesIntroduction: Autopeering: Part 1, Autopeering: Part 2Specifications Autopeering implementation (GitHub) used by GoShimmer Simulator (GitHub)
IOTA permits all nodes to participate in network activity by issuing and validating messages. However, this unique characteristic needs an ad-hoc networking layer to deal with network congestion and denial of service attacks. The problems investigated are somehow similar to the ones in traditional networking (e.g., TCP, scheduling, queueing theory), but also need to address specific challenges, such as security against adversaries and fairness.
ResourcesOn Congestion Control for Distributed Ledgers in Adversarial IoT NetworksHeterogeneity-aware flow controlAdaptive PoW: On the Fairness of Distributed Ledger Technologies for the Internet of ThingsThe networking layer in Coordicide (iota.cafe)Networking layer overview (video): part1, part2Simulator (GitHub)Specifications
Verifiable delay functions (VDF) are a new type of function which requires an exact number of sequential steps to be solved but can be verified in a short time. In our team, we study verifiable delay functions based on modular multi exponentiation which can be used to replace Proof of Work as a rate control mechanism or to provide a source of distributed randomness.
ResourcesVDF-based rate control: Preventing Denial of Service Attacks in IoT Networks through Verifiable Delay FunctionsAnalysis of RSA based VDFs: Implementation Study of Two Verifiable Delay Functions Simulator (GitHub) Fast Generation of RSA Keys using Smooth IntegersDistributed RSA Modulus Generation: On the Decentralized Generation of the RSA Moduli in Multi-Party Settings Presentation at Stanford VDF Day 2020State of the art: VDF Alliance website
Various research topics related to the multichain L2 IOTA Smart Contract protocol. It includes adjustments and verification of HoneyBadger BFT protocol to IOTA setup, reputation and hierarchical trust system to support a permissionless market of committees of validators, conceptual design of UTXO ledger to support multi-chain system, extended scripting on the L1 UTXO ledger, tokenomical models of a multi-token system with incentivized feedback loops between L1 and L2.
ResourcesIOTA Smart Contracts whitepaper
From the beginning, IOTA has been conceptualized as a DLT of unbounded scalability. This design requirement led to the selection of the DAG data structure, and it also led our efforts in developing our sharding solution, which we refer to as “fluid sharding.” This novel approach to sharding differs from many previous attempts at scalability, which have relied on a predefined shard space. Our dynamic approach aims to bring true unlimited throughput to the IOTA network in version 3.0 of the IOTA Protocol.
ResourcesScaling IOTA Part 1 - A Primer on ShardingScaling IOTA Part 2 - Untangling the TangleData sharding (iota.cafe)
Billy, Darcy, Andreas, Angelo, Wolfgang
From its initial concept, the IOTA network was planned as a self-sustainable, ever-evolving entity. This means that the development of the network will never stop, with old features optimized and new features added. Our goal is to creatively develop IOTA to achieve the infinite possibilities offered by our architecture. The name IOTA 2.0 also implies that there will be a 3.0, and after that a 4.0, and so on.
With this in mind, the research department is always working on protocol improvements, changing things from the structure of the messages to the mechanism of consensus. We always work with the objective of making the network as efficient as possible, while keeping an open mind to replace components that may be hindering the evolution of the protocol. We aim to simplify the mechanisms as much as we can, without sacrificing the limitless potential of the Tangle.
Let's start a conversation.