This project is IOTA’s top priority, and we are proud to be able to collaborate with you through our Coordicide grant program, which offers both large and small grants for research on any aspect of Coordicide. Please see below for a list of research topics that are most likely to receive grant funding.
IOTA’s research team has all the key ingredients for an efficient and secure solution for Coordicide. Now, the remaining research topics are about optimizing this solution.
Thanks to the Coordicide project's modularity, we can work on our initial node implementation while outside contributors move ahead with further optimizations. We aim to offer our initial implementation as soon as possible, and introduce optimizations if and when they are ready.
If you have any questions, don’t hesitate to reach out to us by email. When you’re ready to submit your application, you can do so by clicking the “Apply Now” button at the bottom of this webpage.
Proof of Work alternatives for spam prevention in the Tangle
At the moment, IOTA uses proof of work as a spam prevention mechanism. However, with specialized hardware such as FPGAs, users can complete proof of work too easily for it to prevent spam. As a result, we are researching alternatives to proof of work such as the following:
- Verifiable delay functions
- Admission control strategies such as filtering transactions by node reputation
Optimization of the networking layer to avoid network congestion
Nodes use their resources such as bandwidth to process transactions and forward them to their neighbors. At the moment, this use of resources is not optimized and puts a limit on the network's number of transactions per second. To improve scalability and to make the network more efficient, we are researching the following strategies:
- Optimize the gossip layer to prevent nodes from forwarding redundant messages to neighbors
- Allow nodes to route and process transactions only in predefined sections (shards) of the network
Reputation system based on node behavior
In our Coordicide proposal, we introduce global identities for nodes. To discourage counterfeit identities, the network needs an anti-Sybil mechanism such as node reputations. To build this mechanism we need to analyze such a reputation system under both an economic and a game-theoretical perspective. Potential aspects that may affect the node reputation are the following:
- Amount of tokens transferred
- Time the node is active
- Active or passive participation in the network activity such as voting
Theoretical behavior of cellular automata based consensus
In IOTA’s Coordicide proposal, we introduce a voting layer to resolve conflicts. A possible way for a node to vote is through cellular automata, using the “majority rule”: nodes adopt the opinion held by a majority of their neighbors. We are particularly interested in cases with two conflicting opinions, so we can do the following:
- Understand the convergence behavior of cellular automata using the majority rule on random graphs
- Increase the Byzantine resistance of the cellular automata. (Such schemes could include reputation based approaches or mechanisms that prevent nodes from lying about their opinion.)
Theoretical properties of query-based voting schemes (e.g., FPC)
Another way for nodes to vote is using the Fast Probabilistic Consensus (FPC) (see: https://arxiv.org/pdf/1905.10895.pdf). Theoretical and numerical results on the safety and efficiency of this consensus protocol are important for an optimal implementation. This includes robustness towards variations of the network topologies, Byzantine resistance, effective implementation of reputation-based systems, and an efficient use of decentralized random number generators.
Efficient algorithms for timestamping of transactions
The existence of credible timestamps has several key advantages for the protocol: E.g., by comparing timestamps we can define a global criterion, when a transaction becomes “too old” and can be safely removed in a snapshot. They also enable us to establish a fully ordered Tangle - a big step towards smart contracts.
The objective of this project is to investigate the feasibility of reaching consensus on the global ordering of the Tangle through timestamps, i.e., declared and signed values attached to each transaction. As a fundamental requirement, such an ordering should require a low network overhead (e.g., low number of votes or even require no voting system). Furthermore, this mechanism must be robust to attacks that target the consensus or that aim to increase the number of voting rounds.
Scaling through trustless partial Tangle validation
To fulfill IOTA’s vision, it is fundamental to make the Tangle scalable. The network layer optimization and reputation system projects help improve scalability. However, these projects cannot help the network exceed the intrinsic physical limitations. To confirm a larger number of transactions per second, we envision two strategies:
- Nodes probabilistically validate only a subset of transactions that they receive
- Each transaction carries a shard marker to partition the database
Attacks on the IOTA protocol
To make sure that the Coordicide solution is resistant to attacks, we need to theorize and simulate the behavior of the system. For example we can do the following:
- Develop new attacking scenarios that could use artificial intelligence
- Analyze the cost and feasibility of the proposed attacks
- Propose new security improvements to the protocol