As we unveil the Sirius Release (rc/v1.6.7) for MultiversX, it's crucial to begin with a focus on the immediate impacts and the actions required from our developer community. This approach is not just a matter of priority, but of utmost importance for several key reasons. Our aim is to guarantee that the MultiversX community is thoroughly equipped, adequately informed, and primed to welcome these latest advancements. These updates are strategically designed to lay the groundwork for the next important leaps as outlined in our ambitious roadmap for this year.
Breaking changes
Enhanced Smart Contracts Upgrade Process
- New Upgrade Mechanism: Introduces a more streamlined process for upgrading smart contracts, distinctly separating it from the initial deployment.
- Legacy Contracts Compatibility: Existing contracts remain functional, with the new upgrade process applying to future upgrades.
- Documentation: For detailed information, visit Upgrading Smart Contracts - Sirius Mainnet v1.6.0.
Gas Cost Increase and Load Balance Adjustment
- Dynamic Gas Cost Introduction: Slight increase in gas costs to reflect the actual time consumed in accessing the trie.
- Reason for Cost Adjustment: Due to an imbalance in data tries, a trie structure rebalance is planned, aiming to decrease access time and optimize gas costs.
- Interim Gas Cost Impact: Expect an approximate 20% rise in gas costs before full implementation. Post-optimization, an estimated 10% increase in gas costs remains.
- Documentation and Announcement: Further details in Release Specs v1.6.0 - Sirius.
- Upcoming Report and Simulations: Detailed impact analysis on contracts and projected gas costs to be released.
Multi-async on a Single Level
- Async Call Handling Overhaul: Allows continuous execution post-asyncCall in smart contracts, enabling multiple async calls without flow interruption.
- Execution and Storage Details: Sequential processing of registered async calls; intrashard calls executed synchronously, cross-shard calls propagated as smart contract results.
- New Limitations: Restricts multi-level asynchronous calls to maintain system integrity.
- Documentation: Detailed in VM1.5 - Release Specs v1.6.0 - Sirius.
In case there's a need for further discussion, we extend a warm invitation to all developers to join us on Discord, where a dedicated thread has been specifically created to address this topic.
The Sirius Release marks a significant step forward for the MultiversX platform, introducing both necessary breaking changes and exciting new features. We're committed to ensuring a smooth transition and encourage the community to engage with these changes proactively. For detailed descriptions of each feature, visit Sirius Release Notes.
Main Features
- Multikey Support: Enhances node functionality by allowing them to sign with multiple keys, boosting security and flexibility in operations.
- Further Documentation: https://docs.multiversx.com/validators/key-management/multikey-nodes
- Consensus Signature Check Optimization (#4467): Major CPU efficiency improvements in block signature verification during consensus, reducing processing time significantly.
- Governance v3 Contract (#4879): Introduction of a new governance contract in Go, running alongside existing system VMs, offering refined proposal and voting mechanisms.
- Further Documentation: https://docs.multiversx.com/governance/overview
- DNS v2 (#5045): An update to the DNS functionality, allowing multiple and deletable user names, managed through specialized smart contracts.
- Balance Data Tries (#4636): Crucial for developers, this update leads to more balanced data tries by hashing keys, ensuring backward compatibility with the addition of a Version field.
- VM1.5 (#4789): Integration of the new smart contract processor with features like Multi-async, ManagedBigFloats, ManagedMap, BackTransfers, and updated to Wasmer 2.2.
- Transaction Execution Ordering Refactor (#4918): Redesigns the grouping and execution order of transactions for improved efficiency and reliability in cross-shard interactions.
Governance vote results
The Sirius Release has successfully passed its first governance vote, reflecting overwhelming community support. The vote, which ran from November 23rd to December 3rd, resulted in a decisive 97.89% voting in favor of the upgrade, with only 0.56% against and 1.55% abstaining. A negligible veto percentage of 0.07% was also recorded. The entire discourse surrounding the release took place off-chain on Agora, and can be reviewed here.
Following the conclusion of the vote, we've decided to revise the voting process for future governance calls. A key insight from this governance call was the identification of a potential security concern with the quadratic-based voting power calculation. In response, we are transitioning to a linear weight voting system to ensure enhanced security and fairness. This change and its implications were thoroughly discussed in the following Agora thread: Governance Formula Problem.
Activation epoch
The activation epoch for all documented features except the DNS v2 is set to the value 1265 which should happen on January 16th 2024, ~16:05 UTC.
The DNS v2 feature will be activated at a later time when the related services integration will be finalized and will be later communicated.
Mainnet Config: https://github.com/multiversx/mx-chain-mainnet-config/releases/tag/v1.6.7.0
Github Release: https://github.com/multiversx/mx-chain-go/releases/tag/v1.6.7