IOTA’s Coordicide 101: A Complete Guide on What You Should Know
The IOTA network has made giant strides towards real-world adoption in the three years of its existence. The project’s developers used the Coordinator as a vital element in the project to ensure the security of funds. The Coordinator is a security mechanism that was designed to prevent double-spends and provide transaction finality.
IOTA announced the launch of Coordicide in May 2019. This upgrade removes the network’s centralized Coordinator. Stated in the press release, Coordicide aims to provide a new type of decentralized mechanism for securing data and digital assets on IOTA’s Tangle-based network. Besides, IOTA’s developers had planned to remove the Coordinator to achieve a higher level of decentralization.
Gone are the days when users could directly vote on the fate of transactions, now users can instead vote on the credibility of timestamps. ‘Credible’ in this case means that the difference between the issuing timestamp of a deal and its arrival time to the nodes is not above a certain threshold. It has brought some benefits, including:
- All devices, even those that do not have full knowledge about the ledger state, can take part in the voting process, which is exceptionally beneficial for IoT environments.
- There will be a timestamp order to transactions since the network can reach a consensus on which transactions carry credible timestamps.
There hope is that this implementation will appease some dissenters because not having timestamps for IOTA and another DAG-based cryptocurrency has been one of the significant drawbacks.
It is possible to have various Tangles coexisting as separate domains without a coordinator. Here, each domain can use different logic for the transactions it processes and associate a different meaning to the tokens it contains. These domains do not necessarily share the same rules. However, it is still possible that transactions from one field refer to data from another domain.
With this, IOTA can model extremely complex use cases with every simple building block.
Apart from adding a lot of flexibility to IOTA, the modular approach enables a way of sharing network activity into separate domains, thereby further increasing IOTA’s scalability.
Additional rules encoded in the signature message fragment
Every single transaction carries a “signature message fragment” that contains arbitrary data. It makes it possible to encode more complex behaviors such as specific conditions for the application of a transaction, or side-effects that are triggered automatically.
As highlighted in the white paper, some of the benefits of Coordicide include:
- Increased scalability both in terms of transaction output and throughput.
- Smart contracts give the ability to create data transactions.
- Complete transactions within seconds
- Feeless transactions to allow safe transfer of data
The Coordicide Launch Roadmap
Each node connecting to peers on the network follows a semi-random process that selects peers intending to create a ‘small-world network.’
In simpler words, it will keenly seek out peers that connect it to as much of the network as possible in just a few steps as possible while depending as little as possible on any specific neighbors. This aids both to protect the user from potential betrayals by cheaters and to minimize the time it takes for confirmations to propagate.
It also makes it impossible to proactively target a user and set them up for an eclipse attack (Where the network remains healthy, but a specific user is peered by cheaters that coordinate to trick one user).
Coordicide Prototype: Go-Shimmer
As IOTA developers are working to further speed-boost towards the production node software, they are also working on a rapid prototype called “Go-Shimmer.” It aims to test the consensus algorithm and some of the other Coordicide modules.
Go-Shimmer allows an essential “Alpha Net” for development, feedback, and to only provide a sanity-check against Coordicide implementation without first formalizing the specification code.
Coordicide Network Launch: Testnet
Unlike Go-Shimmer, a rapid prototype, the Coordicide Testnet is first to release candidates for the Coordinator-free network. Currently, the IOTA Foundation and Community are facing the most challenging obstacle to overcome during this phase is to answer the question: “when are we confident enough to entrust the entire valuation of the IOTA network to our new node software?”
This question can’t work on new projects starting from scratch since the amount of money at stake may be small by comparison. The real test of security and resilience in any cryptocurrency network is done over time as the web grows and attracts users of any kind and provides a strong economic incentive for both types of users to participate.
Testnet needs alternative solutions to incentivize this kind of use since tokens do not typically have any real dollar value associated with them. IOTA developers are planning two bug-bounty programs:
- Standard bug-bounty program – used to find errors or bugs in the code or on the running network.
- Integrated bug-bounty program – here, Testnet tokens that are redeemable are inserted 1-to-1 with Mainnet IOTA tokens if a malicious actor can move them onto an address he/she controls.
Initially, IOTA developers will provide these programs, but we may set up a bounty pool for community members to “stake” their own IOTA tokens against Testnet tokens. The main aim is to provide an excellent mechanism for people who trust the new system to prove it, by putting their tokens on the Testnet before the full ledger is completed. Both programs will start with a relatively small amount of value and increase the bounty over time.
With help from the IOTA community, we can ensure that we are putting this network through the best and most thorough penetration test possible.
Mainnet Transition is the final step to transition the ledger balances from the existing network to the new, Coordinator-free Mainnet.
Depending on when the community reaches consensus, that’s when Testnet is stable and will support the IOTA Mainnet in full; IOTA will specify the exact time of the Transition. It will be the final period where all other network participants should prepare their applications for the upgrade.