Mainnet Alpha introduces the Root Chain, which is a robust foundation for future Layer 2 (L2) chains and dApps. As the manager of all L2 chains, the Root Chain utilizes Roll-DPoS consensus to guarantee security, reliability and transparency. The Root Chain provides P2P networking and consensus resources, which are leveraged by all L2 chains in the IoTeX Network. The Root Chain will allow developers to spin up custom L2 chains just as they would a new instance on Cloud! Cross-chain communication is also enabled by the Root Chain, which allows L2 chains to interoperate. The safety-oriented Root Chain acts as a launchpad for various L2 chains, which are meant to be flexible and fit-for-purpose. L2 chains can be created with distinct crypto-economics and architectures to satisfy specific use cases: permissioned vs. permission-less, storage vs. micro-transaction focused, privacy vs. transparency-centric. The first L2 chain (codename: “AvoChain”) focused on privacy and trusted computing will be launched in Q2 2019.
Key components that have been released in Mainnet Alpha include:
- Roll-DPoS Consensus: IoTeX’s in-house consensus mechanism is a variant of Delegated Proof of Stake (DPoS), which delivers higher scalability without sacrificing decentralization or security. Roll-DPoS randomly selects 24 of the top 36 community-elected Delegates using distributed key generation (DKG) + BLS signatures. New Delegates are randomly selected every epoch (one hour) to ensure high security and hardware efficiency.
- Ethereum-to-IoTeX Bridge: until the IoTeX Gravity Chain (governance layer) is launched in Q3/Q4, governance tasks (e.g., staking/voting) will be run on Ethereum. To facilitate this cross-network interoperability, we built a first-of-its-kind decentralized bridge between IoTeX and Ethereum, where the status of Ethereum staking/voting smart contracts instruct the IoTeX blockchain to perform Delegate swaps based on live voting results.
- Extensible State transitions: IoTeX’s state transition component is designed to be extensible, meaning a subprotocol can be conveniently plugged in to support certain state transitions (e.g., confidential txns) without disrupting performance/security. As of now, there are five subprotocols implemented in Mainnet Alpha:
- EVM-compatible execution unit: Mainnet Alpha uses Ethereum Virtual Machine (EVM), which is widely used by blockchain developers. Existing EVM-based dApps can be ported over to the IoTeX Network starting now!In the future, we will use EVM as a standalone execution unit for edge devices and develop an in-house IoTeX Virtual Machine, interpreter, and corresponding programming paradigms for decentralized computing.
- SDK and explorer: to ensure a great developer experience, we provide the latest tech stack in the industry. dApps can interact with the IoTeX blockchain using our SDK (iotex-antenna) via gRPC. Developers can also create/unlock accounts, prepare smart contracts, and query the chain with GraphQL via our explorer (iotexscan). We use typescript to support type check and type annotation for ease of use and engineering quality.
Read more details in our blog ▶️https://medium.com/@iotex/everything-you-need-to-know-about-iotex-mainnet-alpha-b8d790e0bd55