The Hitchhiker’s Guide to the IRISnet

The aim of this article is to provide a high level overview, background story, and introduction to a relatively unknown project in the blockchain ecosystem: the IRISnet. In preparation for the launch of the IRISnet’s betanet, which is planned for the end of February 2019, just like we did with a previous article, I thought it would be a good idea to write a easy-to-read article with relevant information for all the stakeholders (token holders, validators, developers, investors) who are interacting with the network or planning to, in one way or another.

Monkey in Zhangjiajie National Forest Park

What is the IRISnet?

High Level, Consensus, and Proof-of-Stake

The IRISnet is a public blockchain, built using the Cosmos Network SDK, and open-source project written in Golang, an increasingly popular programming language in the industry that is characterised by being syntactically similar to the C programming language, yet with additional features such as memory safety or garbage collection.

In addition to the stack, the IRISnet inherits the properties of any Cosmos SDK-based chain, so it relies on Bonded Proof-of-Stake (BPoS), a variant of the new family of Proof-of-Stake mechanisms, which determine the conditions that nodes must fulfil to participate in consensus. As up to date, most networks rely on Nakamoto Consensus, another novelty that Cosmos SDK chains bring is the combination of BPoS with Tendermint Consensus, which states that consensus is reached as soon as 2/3 of the validating set has voted on the latest block.

The main objective of the IRISnet, with its project the IRIShub, is to become an infrastructure layer for end-user applications or services (iServices), with a strong focus on enabling communications across private, consortium chains, public chains, and even legacy systems via the IBC protocol. The realm of possible use cases is vast, while the IRISnet founding team is building the infrastructure, they also take iService infrastructure into practice. For instance, building application blockchains supporting distributed AI for privacy preserving data analysis or data e-marketplaces. An example of the former is BEAN (Blockchain Edge Analytics Network). Furthermore, these type of capabilities can be used by users/applications on other chains through the enhanced IBC.

Status of the Project

Following the tradition to name all the testnets and major releases after Chinese mythological characters, the latest testnet was named Fuxi (伏羲), which is the last public testnet before the betanet’s launch (planned for the end of February 2019). Regardless of the naming, records produced in the betanet will not only persist in mainnet, but transfers will also be enabled. Fuxi-8000 was an incentivised testnet, where top 40 participating validators who completed successfully a list of tasks will be rewarded with tokens at genesis.

Initial Token Supply and Distribution

IRISnet’s initial token supply will be ~2,000,000,000 IRIS. In the initial token distribution, 25% were allocated through a private sale (~80 institutional and qualified participants or institutional supporters), 15% are allocated to the Bianjie developer team, a Shanghai-based entity who developed the IRISnet, (with a 4-year vesting period starting from IRIShub launch), 10% allocated to the Tendermint developer team (2-year vesting period starting from IRIShub launch), 15% to the IRIS Foundation, 30% reserved for ecosystem development (swap with zones connecting to IRIS Hub, grant to potential users, awards to outstanding partners, potential public sale), and 5% airdrop to Rainbow Wallet users (link to the how-to guide) and future Cosmos ATOM holders next year.

How to Acquire IRIS Tokens?

At the moment the only ways of acquiring IRIS tokens were via participating in the initial token distribution or participating in Fuxi-8000. Nonetheless, the IRISnet has planned to airdrop IRIS tokens to all the Rainbow Wallet users after the betanet launch. Finally, as the betanet will have transfers enabled, and which might open the door for OTC deals.

Must-Know Particularities of the IRISnet Protocol

At genesis, the parameters are the following: The annual inflation rate is set to 4% (~80,000,000 IRIS) in the first year. Liveness will be penalised in the event a validator’s signature has not been included in the last 20,000 blocks. Considering that the minimum time between blocks is ~5 seconds, a validator will commit a liveness fault if there has not been any signature for ~27.78 hours or ~1 day and 3.78 hours.

Liveness will be penalised by 0.5% and the validator will be removed from the set for 2 days. Regarding safety faults, when the evidence of a validator signing two different blocks at the same height is submitted, the validator is penalised by 1% and the validator will be removed from the set for 5 days. Additionally, if any validator provides evidence of censorship (that a validator includes invalid transactions in a block at the same height), 2% of the validator’s stake (including delegations) will be slashed.

Bonding periods last 3 weeks and are set by the parameter unbonding_period.

Governance

The IRISnet also supports a form of on-chain governance to manage future amendments of the parameters mentioned above, as well as core protocol changes. Specific to the changes of parameters, the proposal must fulfil the following specifications (TBA).

Major Stakeholders on the IRISnet

Bianjie AI

Bianjie AI (you might need a VPN to view the page in Chinese, English version TBA) is a company based in Shanghai, founded by Harriet Cao, who had been part of the IBM Research team for 16 years. Part of the core team and CTO of the company, Haifeng Xi worked as a CTO and technologist for various companies in the financial sector, and for Wanxiang Blockchain Wancloud before becoming involved with the IRISnet. Bianjie’s development team is in charge of developing and maintaining the IRISnet. In return, 15% of the initial supply of IRIS tokens is allocated to them with a 4-year vesting period from launch.

The IRIS Foundation

The IRIS Foundation is a Hong Kong-based entity that conducted the initial token distribution. The Foundation will also be in charge of launching the IRISnet and fostering the growth of the ecosystem.

Validators

In BPoS, only entities that accumulated enough stake (by staking themselves or receiving delegation) to rank top 100, among all the validator set, participate in consensus and hence are in charge of validating and producing blocks. In return, they receive a portion of the annual inflation (80,000,000 IRIS, which is 4% annual inflation in the first year).

Should they ever commit a safety fault, a portion of their entire stake (both own stake and delegations) will be slashed. Another particularity of validators in BPoS is that rewards’ payments are written in protocol: delegators will get paid as soon as the rewards are unbounded directly into their delegation accounts and fees will be automatically subtracted and sent to the validator’s account.

Delegators

Delegators are IRIS token holders who want to participate in consensus but lack the resources of operating a validating node (time, technical expertise, operational resources, etc). Thus, they delegate to public validators. Unlike other PoS variants, in BPoS delegations are also at stake: should the chosen validator commit a safety fault, a portion of the delegation will also be lost. Another characteristic of BPoS is that rewards’ distribution happen in protocol: as soon as the rewards of a period are unbounded, the delegation account will automatically receive the portion of rewards minus fees.

The IRISnet Ecosystem

iServices

Some of the projects building on the IRISnet are PlatOn (privacy preserving distributed computing), HashQuark (mining pool), and HashGard (asset management).

Essential Services

For now, some of the essential services are the Rainbow Wallet, the mobile client that IRISnet’s team has developed, and the IRISplorer. As the network is launching soon, this section will be updated as soon as the ecosystem grows. For testing purposes, one can use the Testnet Faucet.

Further Reads