IoTeX's Research and Development team is comprised of Ph.Ds from University of Waterloo and National University of Singapore, and engineers in cryptography, artificial intelligence, and IoT who previously worked for Google, Facebook, Uber and Bosch.
- Raised ~$20.0MM (25,000 ETH) via private token sales in Feburary 2018
- Launched mainnet in April 2019
- Buiding the "blockchains-in-blockchain" system as the infrastracture for connecting phyiscal world to blockchains based on IoT
- Utilizes Roll-Delegated-Proof-of-Stake ("Roll-DPoS") Consensus to deliver higher scalability with instant finality, without sacrificing decentralization or security
WHAT IS IOTEX?
IoTeX’s mission is to drive end-to-end trust throughout the entire information life cycle in an IOT network, including data collection, transport, storage, and utilization.
Key Features of the IoTeX Network
- Roll-DPoS Consensus: The consensus mechanism IoTeX utilizes is a variant of Delegated Proof of Stake ("DPoS"), which is designed to deliver higher scalability with instant finality and without sacrificing decentralization or security. Roll-DPoS randomly selects 24 of the top 36 community-elected Delegates using Distributed Key Generation ("DKG") + Boneh–Lynn–Shacham ("BLS") signatures. New Delegates are randomly selected every epoch to ensure high security and hardware efficiency.
- Layer 2 chain as a service: Leveraging the blockchain-in-blockchain architecture for heterogeneous computing, IoTeX provides an open architecture supporting customized and heterogeneous Layer 2 chains aiming for distinct use cases and applications powered by different underlying crypto economics. Layer 2 chains share the same pool of delegate resource which is the cornerstone of the collective trust. With that being provided, one can easily create a subchain as easy as an EC2 instance on AWS Cloud.
- Edge trusted computing: The edge trusted computing provided by Layer 2 chains will enable the sharing economy for trust computing and unlock many interesting trust and privacy centric dApps.
- Cross-network Interoperability: IoTeX rootchain supports cross-chain interactions with other public blockchains as well as all Layer 2 chains with IoTeX Network, which empowers new properties (e.g. privacy) for even classic crypto assets on other chains, and enables cross-chain governance (e.g. govern on one chain and operate on another one).
IOTX Token Overview & Use Cases
IOTX is the core utility token of the IoTeX network. A few examples of the use cases of the IOTX token include:
- Decentralized governance: Staking/voting for Delegates, Delegate rewards and slashing, and network-wide votes/referendums (i.e. changes to rules, parameters, protocols).
- Gas fees: Running transactions and executing smart contracts on the IoTeX Network. One novelty is that gas fees are collected as a "tax" and then pooled/distributed to block producing Delegates.
- Bond/operation costs for Layer 2 chains: To provision a Layer 2 chain, one must stake tokens on the Root Chain as bond and pay for operational costs. Each Layer 2 chain may have its own crypto-economics and tokens, but will pay "registration costs" to leverage Root Chain resources.
BLOCKCHAIN & NETWORK DATA
IoTeX is a network of many blockchains that are hierarchically arranged, where they run concurrently with one another while retaining interoperability. As the figure below illustrates, the root blockchain manages many independent blockchains, or subchains.
A subchain connects to and interacts with IoT devices that share something in common. They either have a similar functional purpose, operate in similar environments, or share the similar level of trust. When a subchain is attacked or experiencing software bugs, the rootchain remains completely unaffected. In addition, cross chain transactions are supported to transfer value and data from subchains to the rootchain or from one subchain to another via the rootchain.
The root blockchain is a public chain accessible by anyone, which has three main objectives:
- Relay value and data across subchains in a privacy-preserving way to enable interoperability among subchains;
- Supervision of subchains, e.g. penalize the bonded operators of subchain bybond confiscation;
- Settlement and anchoring of payments and trust for subchains.
With these defined objectives, the rootchain specifically focuses on scalability, robustness, privacy-preserving functions and the ability to orchestrate subchains.
A subchain, on the other hand, could potentially be a private blockchain and relies on the rootchain as relay to interact with other subchains. A subchain desires flexibility and extensibility to adapt diversified requirements of different IoT applications, and is very likely to be run by operators whose role is contingent upon a sufficiently high bond being deposited on the rootchain. Optionally, the system allows operators to nominate one or more operators to act for it with or without extra bond. The operator acts as a light client on the rootchain, and a full node on the subchain to seal new blocks.
IoTeX aims to utilize Roll-DPoS Consensus to deliver higher scalability with instant finality, without sacrificing decentralization or security. Below is a visualization of the Roll-DPoS consensus algorithm:
In Roll-DPoS, any node can self-nominate and register to become a block producer, and community members can cast their vote for their favorate self-nominated node.
Roll-DPoS runs in periods, or "epochs". At the beginning of each epoch (every 360 blocks), the highest-backed set of candidates is selected to form a "pool of candidates". Out of this pool, block producers are then randomly selected using Deterministic Random Bit Generator ("DRBG").
Block Producers take turns poposing and validating blocks, using pBFT to reach consensus.
At the end of each epoch, the protocol adjusts the size of the pool, based on the numnber of subchains running simultaneously.
The blockchain nodes in the candidate pool have an option to become the block producers for subchains if they are not being selected as the block producers for the root chain at the current epoch. As a result, the candidate pool is divided into multiple subgroups, one of which acts as block producers for the root chain and others for different subchains. Whenever the number of idle nodes (i.e. those nodes are not block producers for either root chain or sidechains) is larger than a predefined threshold, a certain number of blockchain nodes will be evicted from the candidate pool.
For the Alpha test, the network throughput has been capped at around 200 transactions per second ("TPS"). However the team claims the mainnet should be able to achieve 2,000+ TPS.
For the Mainnet Beta, Layer-2-chain-as-a-service will be provided, enabling developers and users to easily spin up an Layer 2 chain for specific use cases such as supply chain management. At the same time, the root chain will support cross-chain communication for all Layer 2 chains. While the root chain acts like an orchestrator (of all Layer 2 chains) with EVM-compatible smart contract, IoTeX aims to provide a Layer 2 chain in-house with trusted computing compatibility to enable privacy-preserving applications especially in the context of IoT, e.g. trusted data oracle, device identity management and sharing economics.