Hello IoTeX community! As we reflect on our 2018 milestones, we are also meticulously planning for the journey ahead. IoTeX’s next frontier will be the official kickoff of the IoTeX Delegates Program and launch of MainnetAlpha in Q1 2019. In this post, we introduce our guiding principles for governance design, the role of IoTeX Delegates, and initial requirements to become a Delegate. For details on Delegate applications, voting, and rewards please see our next post.
Guiding Principles for IoTeX
The IoTeX Mainnet utilizes the Roll-DPoS consensus mechanism, a more democratic version of delegated proof of stake (DPoS) with high throughput, instant finality and high resilience to network attacks. In the IoTeX network, Delegates are elected by token holders to maintain the network. We strongly believe that IoTeX Delegates must be deeply rooted in our community and should be passionate and experienced enough to make our decentralized ecosystem a fair and prosperous place. As such, we use “PEGS” as our guiding principles for the design of our Delegate election process and overall network governance:
- Participation and inclusivity: mechanisms will be built-in to the election process to ensure power is not centralized to a few “big player” Delegates. Our process will aim to prevent collusion and the formation of “cartels”.
- Evolution driven by all stakeholders: Delegates will be responsible for maintaining consensus and will be rewarded appropriately. Delegates, together with all token holders and network participants, will participate in governance to make sure IoTeX evolves sustainably and fairly.
- Growth as a form of stake: Delegates should not only consist of stakeholders with large token holdings but also those that contribute to the growth of IoTeX in other meaningful ways (e.g., community/project awareness, network traffic, referrals, development of tools), especially during the initial bootstrapping phase.
- Sustainability in all circumstances: Instead of relying on inflation of native tokens, IoTeX employs a rewards scheme that is fair to Delegates regardless of the market environment. Delegates will always be able to cover their hardware and operational costs.
Fundamentally different from proof of work (PoW) and proof of stake (PoS) mechanisms, Roll-DPoS allows for massive scalability while maintaining high decentralization. In Roll-DPoS, token holders take into account several factors, such as HW/SW resources, tokens stake, network contributions, and reputation, when voting for Delegates. Delegates are rank-ordered by the number of votes they receive, and the top vote-getters are deemed “Consensus Delegates” for the current epoch — this is what we call the “ranking scheme”.
From the pool of Consensus Delegates, a sub-committee is randomly selected by a randomization algorithm to maintain consensus and produce new blocks for every new epoch. After being selected to the sub-committee, the primary role of a Consensus Delegate is to produce/verify blocks and are rewarded in IOTX tokens — this is what we call the “rewarding scheme”. For more details, please see our Roll-DPoS yellow paper and high-level video overview.
With high-quality implementation, Roll-DPoS provides the following benefits:
- A new block is produced every ~10 sec for great scalability (~3,000 TPS for each root chain and sub-chain on Testnet); block sync is fast and reliable.
- Delegates chosen to “mine” the root chain and each sub-chain are randomly selected; for every new epoch, the order for block production is also randomized, providing high resilience to oligopolies/cartels, attacks, and network blips.
- Distinct sub-committees of Delegates will be responsible for mining different/heterogeneous sub-chains (note: this is one form of sharding). This minimizes network/computation/storage overhead for Delegates. Furthermore, a Delegate can choose to produce blocks for the sub-chain that provides the highest ROI (currently the root chain) without needing to store data or maintain another sub-chain it doesn’t care about.
IoTeX Delegate Requirements
As block production in the IoTeX network is managed exclusively by IoTeX Delegates, it is crucial that all Delegates meet specific hardware, software, and operational requirements. These minimum requirements are set based on the fact that “the network is only as strong as the weakest Delegate”, and are necessary to maintain high security and performance in the IoTeX network:
- Server and backup server running IoTeX software (both with firewall)
- Memory: 16GB of RAM
- Local storage: 1TB SSD
- CPU: 64-bit
- Processor: 8 cores, 2.4 GHz each
- Network: 100Mbps
- Linux: Debian Stretch (9)
- Go-lang: 1.11.x
- Monitoring & alerting tools (feel free to DIY)
- Node monitoring and on-call support
- 99.9% server uptime, with failover across geolocations
- Data backup across geolocations
- Preventative measures to guarantee the security
- Handle frequent software upgrades during the bootstrapping phase
In addition, a minimum stake of 1,200,000 IOTX tokens is required to become a Delegate. The actual amount and duration of tokens staked will ultimately impact a Delegate’s ranking, as well as their rewards. Please note that these are initial minimum requirements, and may be subject to change as we bootstrap the IoTeX Network.
Estimated Expenses for the first year
Server: c5.2xlarge. ~$3,000/year
Memory: st1. ~$1,100/year
Storage: EBS gp2. ~$1,200/year
Total (with AWS Service): Less than $6,000 for the first year
Interested in becoming a Delegate?
We have now published the next blog post on the IoTeX Delegates Program, which details the Delegate election/rewards processes, as well as the Mainnet bootstrapping roadmap: https://medium.com/@iotex/iotex-delegates-program-application-voting-and-rewards-5cab7e87bd20
For those interested in becoming part of the initial set of Delegates, please complete this form. Please stay tuned to our official channels to stay in the loop!