SuiテストネットWave 2を振り返ると、公式はどのような重要な情報を明らかにしましたか?
執筆:Sui 財団
編纂:Babywhale,Foresight News
Sui テストネット Wave 2 は無事に終了し、今回のテストは Sui 上でのステーキング操作の目標を達成するのに役立ちました。ネットワーク上の多くの活動により、私たちはメインネットの立ち上げに向けて重要な一歩を踏み出したと自信を持っています。Sui をより良くするために参加し、助けてくださったすべての方に心から感謝いたします!
私たちは Wave 2 から多くのことを学び、今後、Wave 2 のすべての内容を振り返る三部構成のブログシリーズを公開する予定です。最初のブログではネットワークに関する内容を取り上げ、次の記事ではトークンエコノミクスや Frenemies game についてさらに深く掘り下げます。
統計スナップショット
Wave 2 の期間中、コミュニティは 3 週間、33 のエポックのテストで共同で多くの新記録を達成しました。
- 7000 を超えるノードが 41 のバリデーターに接続
- 169 万のアドレス
- 3650 万件の取引(Wave 1 比 1.6 倍増加)
- 324 万の NFT
- 118,614 件の契約が発行(Wave 1 比 45 倍増加)
- 134 万 SUI をステーキング
- 735 万回のステーキング操作を処理
- 67 回の TPS ピークを観測
- 1 月の最初の 3 週間と比較して、Wave 2 の期間中に Sui ウォレットの DAU が 2.2 倍増加し、17.1 万に達し、Sui ウォレットのインストール数は 3 倍以上増加し、33.3 万に達しました
- Sui ブロックエクスプローラーは 100 万ページビューと 57.1 万のユニークビジターを記録し、過去最高を更新
- Sui Discord コミュニティは 60 万人以上のメンバーを持ち、世界最大の web3 コミュニティの一つとなっています
特に言及すべきは、Wave 2 の期間中に 100 万件を超える取引を処理した 4 つのスマートコントラクトがあり、合計で Wave 2 の取引量の 40% を占めています:
- Sui のシステムオブジェクトが首位で、730 万件を超えるステーキング関連の取引を処理しました。
- Frenemies game が第2位で、わずか 5 日間のゲーム時間で 350 万件を超える取引を完了しました。
- 第三に活発なスマートコントラクトは 8192 game で、契約は 0x137aebf47cd16956b68633b6f6f00a992d87d9c6、200 万件を超える取引を処理しました。
- 第四に活発なスマートコントラクトは Sui Capys で、契約は 0x4c10b61966a34d3bb5c8a8f063e6b7445fc41f93、160 万件の取引を処理しました。
100 万件の取引を突破したコミュニティプロジェクト 8192 game に特別な祝賀を!また、Wave 2 のデータ分析を提供してくれたコミュニティプロジェクト Suiscan にも感謝します。
これらの新記録とネットワーク活動のレベルにより、重要なソフトウェアの更新を確定し、バリデーターやノードオペレーターコミュニティとのさらなる協力を通じて運用能力を向上させることができます。
注目すべきネットワークの更新
Wave 1 と同様に、Wave 2 は Sui インフラストラクチャの改善が必要な点を発見することを目的としています。
大規模なメッセージや取引の処理
Wave 2 はステーキングに焦点を当てていたため、ネットワークは多くのステーキングおよびアンステーキング取引を経験し、これにより大規模なネットワークメッセージや取引の処理能力が向上しました。特に、各未決のステーキング委託およびアンステーキング取引はエポック変更の期間中にイベントを生成します。これはエポック変更取引の取引サイズに影響を与え、生成された各イベントが取引効果の一部となります。Wave 2 では、1 つのエポックで最大 23 万回のステーキング操作が見られたため、そのエポック変更の取引効果は非常に大きくなりました。
これらの超大規模な取引は多くの問題を引き起こします。エポック変更取引の効果がネットワークを通じてダウンロードできないほど大きくなると、エポック変更は失敗します。取引の影響が最大 JSON RPC 応答を超えると、取引を取得できません。このような大規模な取引を読み込もうとするアプリケーション(例:エクスプローラー)はクラッシュのリスクがあります。このような大規模な取引は計算上も非常に高価であり、ネットワークが処理できなくなる可能性があります。Wave 2 の期間中、私たちのチームは大量の取引を処理する際にネットワークが正常に動作するようにいくつかの緊急制限を引き上げなければなりませんでした。
これらの状況に対処するために、オブジェクト、パッケージ、およびさまざまな取引データ(入力パラメータ、取引効果、イベント)の保護的なサイズ制限の追加を加速しました。これらの制限は、ストレージ、ネットワーク、および計算リソースがメインネット上の超大規模な取引によって圧倒されないようにするのに役立ちます。
取引のタイプパラメータ入力をより堅牢に処理
2 月 1 日、私たちはエラーを発見しました。Move モジュールをタイプパラメータの取引入力として指定すると、取引処理ロジックが Move モジュールの依存関係(つまり、そのタイプに属するモジュールが公開されているかどうか)を正しく検証できません。Move パッケージの公開はビザンチン合意のブロードキャストの高速パスを通じて行われるため、一部のバリデーターは他のバリデーターよりも早く公開された Move モジュールを知る可能性があり、このモジュールをタイプパラメータで使用する取引の有効性に同意しない可能性があります。このような取引の1つがシステムの次のチェックポイントの形成を妨げ、多くのフルノードが停止し、バリデーターがネットワークをフォークする結果となりました。これは 2 月 1 日の早朝に Wave 2 が中断された主な原因です。
タイプパラメータに無効なモジュールが入力された取引が提出された場合でもテストネットを運営し続けるために、私たちのチームは以下のいくつかの緊急修正を実行しました:
- タイプパラメータのモジュールが公開されているか常に確認する;
- 提出された無効な取引が失敗として実行を完了できるようにする;
- 未公開のタイプパラメータを持つさらなる取引の提出を防ぐ。
その後、取引入力チェックロジックが Move モジュールでない契約をタイプパラメータに挿入することを拒否しないという二つ目のエラーを発見しました。タイプパラメータは Move モジュールでなければならないため、取引は決して完了せず、次のチェックポイントを形成することもできません。同様に、私たちのチームは、問題のある取引が実行エラーにより失敗するように緊急修正を追加し、ネットワークを回復させなければなりませんでした。
私たちは Sui のコードベースにこの二つのエラーの修正を追加しました:入力オブジェクト生成の修正 #7940。
Narwhal コンセンサスメカニズムの遅延改善
Wave 1 と同様に、テストネット Wave 2 は 41 の分散型バリデーターを持つ Narwhal コンセンサスをさらにテストする貴重な機会を提供しました。Wave 2 の期間中、私たちはこの機会を利用していくつかのコンセンサスの遅延削減最適化を行いました(2 つのバリデーターへの並行コンセンサス提出、並行証明書検証、minheaderdelay パラメータ、1 秒の minheaderdelay)。私たちはパフォーマンスを継続的に改善し、さらに多くの最適化計画をすぐに発表する予定です。
注目すべき開発者の経験教訓
ネットワークの安定性を確保することが最優先事項ですが、私たちの長期的な目標は Sui を一流のスマートコントラクト開発者プラットフォームにすることであり、開発者が Sui を基に Web3.x のために最高の体験を創造できるようにすることです。そのために、Wave 2 の期間中に開発者とユーザーの摩擦点にも注目しました。
トークン管理
Wave 2 の期間中、いくつかの要因によりユーザーがトークン管理の問題に直面する可能性がありました。これらの問題は通常、ガス料金不足のエラーや、ユーザーが取引に十分な SUI 残高を持っているように見えるときに灰色のステーキングボタンが表示される形で現れます。
Validator Game がネットワーク上で活発であるため、ガス価格の参考値が変動し、各エポック間で通常よりも大きな増加が見られます。高いガス価格の変動は、ユーザーが保持する単一のトークンの価値がガス料金を支払うのに不十分になる可能性があります。次に、初期の参考ガス価格設定が Devnet よりも高く設定されているため、ユーザーが複数のトークンを保持する可能性が低く、トークンを使い切る速度も速くなります。最後に、ステーキング操作は本質的にユーザーが既存の SUI 残高を 1 つまたは複数のバリデーターに委託することを含みます。しかし、ユーザーが保持する SUI の配置が、彼らが期待するステーキング操作と常に一致するわけではありません。
私たちは Wave 2 の期間中にこの状況を緩和するためにいくつかの変更を行いました:
- 高い参考ガス価格の期間中にデフォルトのファウセットの数を増やしました;
- Sui クライアントが gas_budget よりも大きいガスオブジェクトを選択する SDK バグを修正しました;
- Sui ウォレットのステーキングに基本的なトークン管理を追加しました。各ステーキング操作に対して、paySui 取引を使用してステーキングとガス支払いのためのモジュールをそれぞれ構築しました。
- 近いうちにプログラム可能な取引をサポートする予定で、これによりアプリケーションのトークン管理が簡素化されます。
今回のテストのその他の収穫
各テストネット Wave は緊張と興奮の組み合わせです。私たちは Sui コミュニティのすべての人と協力し、ネットワークのステーキング能力を限界まで引き上げることを意図し、この精神のもとにテストネット Wave 2 の期間中に Sui を強化することに成功しました。
コミュニティの積極的な参加に心から感謝し、高負荷を生み出し問題を発見するのに貢献してくれました。私たちの次のマイルストーンは、開発者コミュニティのために恒久的なテストネットを立ち上げることであり、これはもはや一時的なものではなく、その際にさらなる協力を期待しています。