Sui Testnet Wave 2 Recap (Part 1)

Sui Testnet Wave 2 Recap (Part 1)
Sui Testnet Wave 2 Recap (Part 1)

Welcome to Sui Testnet Wave 2 recap! This will be a 3-part series. Let's start with part 1 - Network Learnings.

The recent conclusion of Testnet Wave 2 has been a significant milestone for the Sui network. This testing phase has enabled the team to exercise staking operations and gain valuable insights into network activity. The successful completion of Wave 2 has instilled greater confidence in the team that they are progressing well towards their goal of reaching Mainnet. As a result of the extensive learnings from Wave 2, Sui plans to publish a three-part blog series, with the first installment focusing on network learnings. The upcoming blog posts will delve deeper into tokenomics and the Frenemies game, offering readers a more comprehensive understanding of the Sui network.

Data overview

Throughout the 33 epochs of the three-week run, the community managed to set numerous new records together, marking a significant accomplishment during Wave 2.

  • Over 7,000 nodes connected to 41 validators
  • 1.69 million addresses
  • 36.5 million transactions (1.6x increase over Wave 1)
  • 3.24 million NFTs
  • 118,614 packages published (45x increase over Wave 1)
  • 1.34 million SUI staked
  • 7.35 million staking operations processed
  • 67 peak TPS observed
  • Sui Wallet saw a 2.2X increase in DAU to 171K and a 3X increase in installs to 333K during Wave 2 (compared to the previous three weeks in January).
  • Sui Explorer reached 1M page views and 571K unique visitors, setting new all-time highs
  • The Sui Discord community boasts over 600,000 members, ranking among the world's largest web3 communities.

During Wave 2, four smart contracts generated more than 1 million transactions each, accounting for approximately 40% of all transactions.

  • Sui's system object with over 7.3 million staking-related transactions
  • Frenemies game with over 3.5 million transactions in just five days
  • 8192 game with just over 2 million transactions
  • Sui Capys with 1.6 million transactions."

Key Insights Gained from the Sui Network

The goal of Sui Wave 2 was to stress and improve Sui's infrastructure.

Managing Overly Large Messages or Transactions

During Wave 2, there were up to 230k staking ops in an epoch. This caused a significant trading impact, resulting in various issues. If the epoch change transaction is too large to download over the network, it fails. Retrieval is impossible if the transaction effect exceeds the max JSON RPC response. Additionally, loading such a large transaction risks crashing applications like Explorer. Furthermore, the network can struggle to process it. In Batch 2, Sui applied emergency cap increases to maintain network stability with large transactions.

Sui added protection size limits to objects, packets, and transaction data based on the findings. This prevents overwhelming storage, network, and computing resources on the Mainnet due to large transactions.

Improved Processing of Type Argument Input for Transactions

On Feb 1, Sui discovered a bug in transaction processing logic that fails to validate dependencies of Move modules specified as input arguments. If a module is published but not yet known to all validators, it can cause disagreements on the validity of transactions using this module. This led to a transaction preventing the formation of the next checkpoint and resulted in halted full nodes and diverged validators, causing Testnet Wave 2's outage on Feb 1.

To maintain Testnet's progress with a committed transaction having an invalid input module in type arguments, Sui’s team applied emergency fixes:

  • Verify the published module of type arguments
  • Allow the execution of the committed invalid transaction to fail
  • Block future transactions with unpublished type arguments from being committed.

Sui’s team discovered another bug where the transaction input checking logic fails to reject non-Move module object IDs being inserted in type arguments. This prevents transaction completion and the formation of the next checkpoint. Emergency fixes were added to force the problematic transaction to fail with an execution error, allowing network recovery.

Enhancements to Narwhal Consensus Latency

Testnet Wave 2, like Wave 1, allowed Sui to refine the Narwhal consensus with 41 decentralized validators. Sui’s team optimized consensus latency-reduction by submitting in parallel to two validators, verifying certificates in parallel, and setting parameters like min_header_delay to one second. They continue to iterate on performance and plan further optimizations.

Key Insights Gained from the Developer Experience

Although network stability was a top priority, their ultimate aim is for Sui to become the leading smart contract developer platform. During Wave 2, they also identified and addressed developer and user friction points.

During Wave 2, users were more likely to encounter coin management issues. Insufficient gas fee errors or grayed-out staking buttons appeared despite holding sufficient SUI balances. These issues were caused by fluctuations in reference gas prices, a higher initial reference gas price, and differences in users' coin layouts. Staking operations involve delegating SUI balances to validators, and the user's balance may not always match their intended staking operation.

  • Changes made during Wave 2 to mitigate coin management issues include:
  • Raising the default faucet amount during high reference gas price periods
  • Addressing a bug in the SDK where the Sui client selects a larger gas object than gas_budget * gas_price
  • Adding basic coin management for Sui Wallet staking by using a paySui transaction to construct a staking coin and a gas coin.

Sui gathered all the information pertaining to Tokenomics Suinami in the next part. Stay tuned for Sui Testnet Wave 2 Recap Part 2 - Tokenomics Suinami on the next blog.

Be sure to check out Suipiens website and social media channels to stay up-to-date on all things about Sui Blockchain!

About Suipiens: Website | Twitter | Discord