- Suiのv1.72アップグレードにより、メインネットの停止を引き起こした二つの別々のバグが導入されました。
- 最初の2つの停止は、新しいアドレス残高に関連するガス課金の不具合が原因でした。
- バリデーターが再起動した後、別のランダムネス状態のバグが3回目の障害を引き起こしました。
Sui Foundationは、5月28日および5月29日にネットワークを停止させた3つの別々の障害について、詳細な事後分析を公開しました。
foundationによると、v1.72ソフトウェアリリースを通じて導入された2つのバグがこの混乱を引き起こしました。これらの事象により、Layer-1ブロックチェーンは2日未満で3回停止し、SUIトークンの価格が急落しました。
停機期間中にSUIは約8%下落し、0.90ドル付近まで下落しました。このトークンは月曜日に約0.90ドルで取引されており、一週間で約19%下落しました。
財団は、すべての停止期間中にユーザーの資金にリスクはなく、完了した取引は取り消されなかったと述べました。
新機能がガス料金課金の失敗をトリガーしました
最初の2つの障害は、ネットワークのガス課金システムの不具合に関連していました。バージョン1.72では、「アドレス残高」という機能が導入され、ユーザーがコインオブジェクトに完全に依存するのではなく、口座残高から直接取引手数料を支払えるようになりました。
このアップデートでは、アドレス残高と従来のコインベースの支払いを組み合わせた新しい支払いパスが導入されました。複数の取引が同じ残高を同時に使用しようとした際に、この問題が発生しました。
場合によっては、利用可能な資金が不足しているため、トランザクションがキャンセルされることがあります。しかし、キャンセル後もガス処理システムの一部がその資金の課金を試みたため、決済中にマイナス残高が発生し、バリデーターがクラッシュしました。
最初の障害は5月28日午前7時頃(PT)に発生し、午後1時30分頃(PT)まで続きました。ネットワークを迅速に復旧させるため、開発チームは一時的な対応策を適用しました。当時、チームはこのパッチにネットワークを停止させる可能性のある既知の低確率リスクが含まれていることを認めていました。しかし、そのリスクは翌朝に現実のものとなりました。
緊急パッチが2回目の停止を引き起こしました
5月29日、PT時間で午前5時頃に2回目の障害が発生しました。Suiは、いくつかの取引が複数の理由によって同時に失敗する可能性があると述べました。あるシナリオでは、パッチが捕捉するように設計されていた資金不足エラーが、別のキャンセルエラーによって隠蔽されました。
元のエラーが隠されていたため、一時的な対策では同じ負の残高状態が再発するのを防ぐことができませんでした。
バリデーターが同じアンダーフローの問題で再びクラッシュしました。開発者はより包括的な修正を完了し、十分なバリデーターがアップグレードしたことで、太平洋標準時午前9時40分頃にネットワークが復旧しました。
ランダムネスバグにより3回目のシャットダウンが発生
三回目の障害は、ガスバグ自体とは無関係でした。バリデーターが二番目の修正をインストールするために再起動した後、ネットワークのランダムネス設定プロセスへの参加率が必要な閾値を下回りました。
ランダムネスシステムは設計通り自動で無効化されました。ただし、別のバグによりバリデーターがその無効化状態をディスクに保存できませんでした。バリデーターが再起動した際、ランダムネスプロセスがまだ有効であると誤って認識されました。
オンチェーンのランダムネスに依存していたアプリケーションは実行も失敗もできず、トランザクションが一時停止したキューに蓄積しました。次エポックの移行時に、そのキューを完全にクリアできなかったため、ネットワークが停止しました。
3回目の停止は太平洋標準時で午後1時30分頃に始まり、同日午後7時20分頃まで続きました。開発者は永続性バグを修正し、必要に応じてバリデータが停滞したエポックを強制終了できる新しいメカニズムを追加しました。
財団はまた、AI搭載の内部ツールが、バリデーターログの照会、本番データの分析、復旧作業中の運用指標の統合により、エンジニアが事象を迅速に診断するのを支援したことを明らかにしました。
免責事項:本記事に記載されている情報は、情報提供および教育目的でのみ使用することを目的としています。本記事は、金融アドバイスまたはいかなる種類のアドバイスでもありません。Coin Editionは、本記事で言及されたコンテンツ、製品、またはサービスの利用によって生じた損失について一切の責任を負いません。読者は、同社に関連する行動を取る前に注意を払うことを推奨します。

