May 4, 2020
Welcome to our Bi-Weekly Tech Update, where we share what tech-related initiatives the IoTeX Foundation (core-dev) are currently working on and why it matters for the IoTeX Network. Over the past two weeks, core-dev has focused on:
Rolling Out Mainnet v0.11
In the past two weeks, we have been working closely with our global Delegates to roll out Mainnet v0.11. The rollout was pretty smooth except for a few Delegates who turned on API service and spent hours on reindexing due to an optimization we have. This code release’s primary new feature – probation for unresponsive delegates – is now live as of height 4,479,481 on April 22, which concludes another successful deployment of upgrades to the IoTeX Layer 1 protocol!
Preparing Release of Mainnet GA v1.0
Now that Mainnet v0.11 is out of the door, the team has been focused solely on Mainnet GA v1.0, which will come with a big new feature – Native Staking v2 (nsv2) – which will establish full independence from Ethereum. A fully native IoTeX blockchain is coming! There are two aspects of nsv2 that the team spent a lot of effort to make sure run correctly and efficiently under all circumstances:
- Native staking and voting: this went through a series of functional tests and load tests. We are also actively iterating on new tools to facilitate voting on member.iotex.io
- Migration of ETH stake/votes to IoTeX: this process involves cutting over all information on Ethereum to IoTeX; we cannot tolerate any mistakes! The basic idea is to collect staking and voting information from Ethereum contracts and nsv1 contracts, together with select information from Delegates, and inject the data into the IoTeX Blockchain before nsv2 kickoff. All the necessary tools and scripts have been developed and we are now conducting a series of dry-runs to aggregate all information (from prod) and test the migration process in our nightly blockchain pipeline. Looking good so far!
Next week, we are going to conclude the above two tasks and cut Mainnet GA v1.0, push it to our nightly pipeline, and then Testnet. If everything goes well, we will work with our Delegates to push to the Mainnet, after which we will have established independence from Ethereum. Exciting stuff! For more information, check out our Mainnet GA Migration Plan thread on the IoTeX Forum.
Ucam Beta Testing
As our first go-to-market product, Ucam packages many components of IoTeX technology – blockchain, decentralized identity, and decentralized storage, which we are working on with the IPFS team. After a long journey, we are getting close to the finish line. Over the past two weeks, we expanded our beta-testing program in Silicon Valley to ~100 homeowners. Many of them are impressed by the quality and convenience of Ucam and love the concept of #OwnYourData. Most importantly, all of them had constructive feedback that we have applied to make Ucam even better. Check out our new Ucam update for more details.
Other Ongoing Initiatives
Additionally, we have finished drafting the proposal to fine-tune our Roll-DPoS economics with the goal of making staking/voting more fair and efficient for Delegates, while encouraging the growth of the Delegate population. The actual implementation will be deferred to after Mainnet GA – we will seek feedback from Delegates in the meantime.
Also coming with the release of Mainnet GA v1.0, we have re-architected and re-factored iotex-core a lot with the goal to make iotex-core more efficient for delegates (e.g., even lower hardware cost), reliable regardless of the network situations and sustainable as we foresee a spike of transactions coming after Ucam launch. We will prepare a blog post talking about architecture v2 in the next few weeks. Stay tuned.
On the hiring side, while looking for more technical talents admin COVIN-19 and lockdown in California, we have onboard one full-stack engineer who is strong in solidity/blockchain in addition to other frontend technologies, who will help us to drive initiatives around trusted data and the DApps around it. We are actively interviewing candidates for our digital marketing positions as well. If you are interested, please drop me a line at [email protected].
April 17, 2020
Welcome to the Bi-monthly IoTeX Tech Update, where we share what tech-related initiatives the IoTeX Foundation (core-dev) is currently working on and why it matters for the IoTeX Network. Over the past two weeks, core-dev has focused on Delegate probation implementation, Native Staking v2 (nsv2), Ucam beta testing, and IoTeX 2.0 planning.
1. Enable probation for unresponsive Delegates
Stemming from a community-wide vote in March, core-dev has implemented Delegate probation in the latest Mainnet v0.11.1 code release. The frontend and backend have now both been implemented and thoroughly tested with load. Ready to launch!
Community Proposal #3 was passed in March
This release will be pushed to production on April 22. Delegates must upgrade their nodes following the instructions here, otherwise they will not be able to produce blocks (and will be put on probation!). Our new one-liner upgrader is a simple tool to automate node upgrades. Once v0.11.1 is activated on mainnet, unresponsive delegates will be put on temporary probation – great incentive to not miss blocks!
2. Implementation of Native Staking v2 (nsv2)
We are proud to announce the backend for nsv2 is complete and we are now moving into the testing stage, which is composed of unit tests, integration tests, e2e tests and load tests, and pushing to our nightly pipeline. With these tests all done, we will push this nsv2 to testnet and bake it there for a while. The frontend design of nsv2 is almost there – our engineers are working hard and things are in great shape as of now!
Throughout the development of our new native staking mechanism, we had many interesting discussions about PoS/DPoS and staking – here we share two insights for the community:
- In nsv2, voting buckets will be transferable. This opens up interesting engagement models, such as lending/borrowing, collateralization, and trading of buckets. We’re interested to see what you do with this new flexibility! The downside of transferability is potential impacts on-chain security – for example, an attacker may attack-and-sell-buckets to not get slashed. This problem exists for all “soft-staked” coins, where “soft-staking” is a service provided by central exchanges to attract users with both liquidity and staking rewards. To mitigate, it is likely we will limit the frequency of bucket transfers to sacrifice liquidity for security.
- We have had intensive discussions regarding the concept of “staking capacity” – this is a concept introduced by Tezos such that the amount of votes a Delegate can receive is a function of their self-stake (“throttled”). While this makes Delegates more accountable to receive more votes, it also raises the bar for community-based Delegates to grow. This is analogous to Keynes vs Hayek argument – two world-class economists holding exactly opposite views when it came to the role of government (or regulation) in the economy. Hayek viewed the market as capable of correcting itself, (e.g., an unaccountable delegate will lose votes eventually), while Keynes believed that the government (e.g., staking capacity) should play a greater role. After many rounds of discussions, we decided not to pursue the “invisible hand” in the short-term – aka we will not apply staking capacity for now.
3. Ucam beta testing
Ucam is quite close to the finish line and we are going to ship the first batch of pre-orders next week! Over the past weeks, the firmware, backend, and mobile app have all been improved based on feedback from our initial round of beta testers. Now, we are putting Ucam in the hands of the IoTeX community and we can’t wait! Based on your feedback, Ucam will have a final round of (minor and cosmetic) updates before debuting on top e-commerce platforms in May/June. The tokenomics that tie Ucam and future “Powered by IoTeX” to the IOTX token will be announced in May before Mainnet GA.
4. Global Delegate Sync
Finally, we had a successful Delegate Sync call on April 17th with almost all Delegates in attendance, who gave us many nice suggestions and feedback regarding enhancements to the Delegates Program. Much appreciated as always! The presentation deck can be accessed at http://t.iotex.me/dc-0417. We look forward to seeing many more of you developers become Delegates in the near future!
April 3, 2020
Q1 2020 Tech Summary
The core-dev has been focusing primarily on two initiatives:
- Enable probation for unresponsive Delegates
- Implementation of Native Staking version 2 (nsv2)
The probation of unresponsive delegates is a critical feature for the protocol’s reliability and scalability. As recently voted by the community proposal, core-dev has quickly moved to implementation and testing and will be deployed to testnet very soon. Read more
Implementation of a new transaction-based native staking mechanism. One major part of Mainnet GA is establishing independence from Ethereum by migrating all stakes/votes on Ethereum to IoTeX. In parallel, we are designing a new transaction-based native staking mechanism that will be much more scalable than the current smart contract-based mechanism. A faster, more secure, and finally independent IoTeX network is coming soon!
Along with our blockchain efforts, our product team is iterating on Ucam firmware, backend, and the iOS/Android apps. We are making great technical progress on Ucam, which will enable data ownership, privacy, and peace of mind for users around the world.
The Ucam app is being beta tested by the entire IoTeX team and select pre-order participants – we can’t wait for you to see how sleek and usable it is! We are actively working on the future crypto-economics of the IoTeX Network, which will introduce the economic models blending devices like Ucam with the IOTX token.