What are the worthwhile network updates for Sui testnet Wave 2?
Original compilation: Babywhale, Foresight News
Original compilation: Babywhale, Foresight News
Sui testnet Wave 2 has been successfully concluded, and this test has helped us achieve our goal of staking on Sui. The amount of activity on the network has made us feel even more confident that we have taken another critical step in our journey to mainnet launch. A big thank you to everyone who participated and helped us make Sui even better!
We learned a lot from Wave 2, and going forward we'll be posting a three-part blog series reviewing everything in Wave 2. The first blog covers the networking aspects, while the upcoming articles will discuss token economics and the Frenemies game in more depth.
statistical snapshot
During Wave 2, the community collectively set multiple new records in three weeks, 33 epochs of testing.
Over 7000 nodes connected to 41 validators
1.69 million addresses
36.5 million transactions (1.6x increase from Wave 1)
3.24 million NFTs
118,614 contracts issued (a 45x increase from Wave 1)
Pledge 1.34 million SUI
7.35 million staking operations processed
67 TPS spikes observed
Sui Wallet DAU grew 2.2x to 171,000 during Wave 2, and Sui Wallet installations more than tripled to 333,000 compared to the first three weeks of January
Sui block explorer hits all-time highs with 1 million page views and 571k unique visitors
Sui DiscordThe community has over 600,000 members, making it one of the largest web3 communities in the world
In particular, there are four smart contracts that processed over 1 million transactions during Wave 2, collectively accounting for 40% of the total Wave 2 transaction volume:
Sui's system object topped the list, handling over 7.3 million staking-related transactions.
Frenemies gameIn second place, over 3.5 million transactions were completed in just five days of play.
The third most active smart contract is8192 game, the contract is 0x 137 aebf 47 cd 16956 b 68633 b 6 f 6 f 00 a 99 2d 87 d 9 c 6 , processing more than 2 million transactions.
The fourth most active smart contract isSui Capys, the contract is 0x 4 c 10 b 61966 a 34 d 3 bb 5 c 8 a 8 f 063 e 6 b 7445 fc 41 f 93 , processing 1.6 million transactions.
Special congratulations to the community project 8192 game that broke through the million transaction mark! Also thanks to the community project for providing Wave 2 data analysisSuiscan。
These new records and levels of network activity allow us to identify important software updates and further work with the validator and node operator community to improve our operational capabilities.
Noteworthy web updates
Similar to Wave 1, Wave 2 aims to identify areas for improvement in Sui's infrastructure.
Handle large messages or transactions
Since Wave 2 was focused on staking, the network experienced a lot of staking and unstaking transactions, which helped us improve our ability to handle large network messages and transactions. In particular, each pending staking delegation and undelegation transaction generates an event during an epoch change. This affects the transaction size of epoch change transactions, since each generated event is part of the transaction's effect. In Wave 2, we saw up to 230,000 staking operations in an epoch, so the transaction effect of that epoch change became very large.
These oversized transactions create many problems. If the epoch change transaction effect becomes too large to be downloaded over the network, the epoch change will fail. If the transaction impact is greater than the maximum JSON RPC response, the transaction cannot be retrieved. Any application (such as Explorer) that tries to load such a large transaction may risk crashing. Such a large transaction may also be too computationally expensive for the network to handle. During Wave 2, our team had to raise some emergency limits to keep the network running while processing a high volume of transactions.
In response to the above, we have accelerated the addition of protective size limits for objects, packages, and various transaction data (input parameters, transaction effects, events). These limits will help ensure that storage, network, and computing resources are not overwhelmed by very large exchanges on mainnet.
More robust handling of transaction type parameter inputs
On February 1st, we discovered a bug where if a Move module was specified as a transaction input in the type parameter, the transaction processing logic could not properly validate the Move module's dependencies (ie whether the module the type belongs to was published). Since Move package publishing happens via the Byzantine consensus broadcast fastpath, some validators may learn about the published Move module before others and may disagree on the validity of transactions that use this module in the type parameter . One such transaction prevented the system from forming the next checkpoint, causing many full nodes to stall and validators to fork the network as a result. This was the main reason for the Wave 2 outage in the early hours of February 1st.
In order to keep the testnet running in the presence of submitted transactions with invalid input modules in the type parameter, our team implemented some emergency fixes:
Always check that modules of type parameters are published;
Allow submitted invalid transactions to complete execution via failure;
Prevents submission of further transactions with unpublished type parameters.
We then found a second bug where the transaction input check logic was not rejecting the insertion of contracts that were not Move modules as inputs into the type parameter. Because the type parameter must be a Move module, the transaction can never be completed, nor can the next checkpoint be formed. Likewise, our team had to add an emergency fix to force problematic transactions to fail due to execution errors in order to restore the network.
We added fixes for these two bugs in Sui's codebase:Fix input object generation #7940。
Narwhal consensus mechanism delay improvement
Similar to Wave 1, Testnet Wave 2 provides a valuable opportunity to further test the Narwhal consensus with 41 decentralized validators. During Wave 2, we took the opportunity to make several consensus latency reduction optimizations (Commit consensus to two validators in parallel、Parallel Certificate Verification、min_header_delay parameter、min_header_dela of one secondy). We are constantly iterating on features and will have more coming soonoptimizationplan.
Noteworthy Developer Lessons Learned
While ensuring the stability of the network is a top priority, our long-term goal is to make Sui the premier smart contract developer platform on which developers can create the best experience for Web3.x based on Sui. To this end, we also focused on developer and user friction points during Wave 2.
token management
During Wave 2, several factors made it possible for users to encounter issues with token management. These issues typically manifest as insufficient gas fee errors, or gray stake buttons appearing when users appear to hold sufficient SUI balances to transact.
becauseValidator GameBeing active on the network, the reference Gas price may fluctuate and have greater than normal increases between each epoch. High Gas price fluctuations may make the value of a single token held by users insufficient to pay for Gas fees. Secondly, the initial reference Gas price is set higher than that of Devnet, so that users are less likely to hold multiple tokens and run out of tokens faster. Finally, staking operations essentially involve users delegating their existing SUI balances to one or more validators. However, the layout of the SUI held by users may not always match their intended staking operations.
We made some changes during Wave 2 to mitigate this:
us
ussolvedSDK bug where Sui client selects a Gas object larger than gas_budget instead of gas_budget * gas_price;
Added basic token management for Sui wallet staking. Among them, for each pledge operation, we use the paySui transaction to build modules for pledge and gas payment respectively.
We plan to support soonProgrammable transactions, which will simplify token management for applications.
Other takeaways from this round of testing
Every Testnet Wave is a combination of tension and excitement. We worked with everyone in the Sui community to intentionally push the network's staking capabilities to the limit, and in that spirit successfully strengthened Sui during Testnet Wave 2.
Original link


