BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

What are the worthwhile network updates for Sui testnet Wave 2?

Foresight News
特邀专栏作者
2023-02-28 09:45
This article is about 2472 words, reading the full article takes about 4 minutes
The performance of multiple data in Wave 2 of the test network far exceeds that of Wave 1, and improvements have been made in large transactions, type parameter input, and consensus delay.
AI Summary
Expand
The performance of multiple data in Wave 2 of the test network far exceeds that of Wave 1, and improvements have been made in large transactions, type parameter input, and consensus delay.

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 parallelParallel Certificate Verificationmin_header_delay parametermin_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:

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

Original link

Sui
Developer
smart contract
wallet
Welcome to Join Odaily Official Community