Sui、約2日間で3度停止した原因を公表。アドレス・バランス関連バグとDKG不具合で

スイ財団が連続停止の原因を公表

レイヤー1ブロックチェーン「スイ(Sui)」が、5月28日から30日(いずれも日本時間)にかけて約2日間で3度のネットワーク停止に見舞われた。同チェーンの公式Xアカウントより報告されている。

最初の停止は5月28日23:29ごろ(日本時間)に発生した。その後、スイ財団は翌29日5:32ごろネットワーク再開を報告した。この障害について同財団は、「バージョン1.72リリースで導入されたガス課金ロジックのバグ」が原因だったと説明している。

しかし同日21時19分ごろ(日本時間)、スイ財団はスイのネットワーク停止を再び報告した。スイ財団によると、1回目の復旧時に適用した修正はネットワーク機能を回復させるための暫定対応だったという。その後、既知問題の変種が発生し、再停止につながったとのことだ。スイ財団は30日0:42ごろ(日本時間)、ネットワーク再開を報告した。

しかし30日6:18ごろ(日本時間)、スイ財団はスイの3度目のネットワーク停止を報告した。その後、スイ財団は同日11:32ごろ(日本時間)、ネットワーク再開を報告している。

スイ財団は5月31日、一連の障害に関するインシデントレビュー(障害分析レポート)を公開した。同レポートによると、1回目と2回目の停止は、バージョン1.72で導入された新たな残高管理機能「アドレス・バランス(Address Balances)」を利用するガス支払い処理における不具合が原因だったという。

同財団によると、問題は「アドレス・バランス」と従来のコインオブジェクトを併用してガス代を支払う処理で発生した。特定条件下で残高不足と判定されてキャンセルされた取引に対し、本来実行されるべきではないガス処理が継続され、システム内部で残高計算の不整合が発生したとのこと。その結果、一部のバリデータがクラッシュし、ネットワーク停止につながったという。

1回目の停止後、スイ財団および開発チームは暫定的な修正を適用しネットワークを再開した。しかし同レポートによると、この修正には既知の制限が残されていたという。その後、別のエラーによって残高不足エラーが隠されるケースが発生し、同様の不具合が再び発生したことで2回目の停止につながったと説明されている。

また3回目の停止については、前2回とは異なる原因だったという。スイ財団によると、3回目の停止はエポック移行時に実行される分散鍵生成(DKG:Distributed Key Generation)に関連する潜在バグが原因だったとのことだ。

DKGは、オンチェーン上のランダム性を生成するためにエポック開始時に実行される初期設定処理だ。同財団によると、DKGの失敗状態がバリデータ再起動後に正しく保持されなかったことで、ランダム性を利用する取引の処理が滞留したという。その結果、エポック移行に必要な処理が完了できなくなり、ネットワーク停止につながったとのことだ。

なおスイ財団によると、一連の障害によってユーザー資産が危険にさらされることはなく、確定済みトランザクションの巻き戻しも発生しなかったとのことだ。

ガスレス送金支える「アドレス・バランス」導入後に発生

スイ財団によると、1回目と2回目の停止は、バージョン1.72で導入された「アドレス・バランス」を利用するガス支払い処理における実装上の不具合が原因だったという。

アドレス・バランスは、従来のコインオブジェクト管理方式に代わり、アドレス単位でトークン残高を管理する仕組みだ。同機能は、5月20日に発表されたガス料金不要のステーブルコイン送金機能を支える基盤技術として導入されていた。

スイ財団は当時、ユーザーが別途ネイティブトークン「SUI」を保有しなくても対応するステーブルコインを送金できる仕組みを発表していた。対象にはUSDsuiやSuiUSDe、AUSD、FDUSD、USDB、USDC、USDYの7種類のステーブルコインが含まれている。

同財団は、ガス代として別のトークン残高を管理する必要がなくなることで、企業によるステーブルコイン決済の導入障壁を下げられると説明していた。また、AIエージェントによる自律決済やインターネットネイティブな決済基盤としての活用も想定している。

スイ財団によると、同機能は新たな残高管理システムであるアドレス・バランスによって実現されている。同財団は、アドレス・バランスについて、グローバル決済やオンチェーン金融向けインフラを構築する取り組みの一環と位置付けていた。

今回の障害について、ミステンラボ(Mysten Labs)のエンジニアであるマーク・ローガン(Mark Logan)氏は、自身のXアカウントで「今回の障害について最も直接的な責任を負う一人だ」と述べた。

ローガン氏によると、アドレス・バランスはスイの実行モデルに対する大規模な変更だったという。同氏は、開発チームが半年以上にわたりテストを実施していたと説明する一方、「テスト戦略は不十分だった」との認識も示した。

またローガン氏は、今回の障害について「アドレス・バランスで導入されたガス・スマッシング(Gas Smashing)のエッジケース」が主な原因だったと説明している。

スイ財団はインシデントレビューにおいて、今回の不具合はアドレス・バランスの設計そのものではなく、アドレス残高とコインオブジェクトを併用するガス支払い処理における特定のエッジケースに起因していたと説明している。また同財団は、ガス課金ロジックやエポック移行時の耐障害性について改善を進める方針を示した。

 

参考:スイ・ブログ
画像:PIXTA

関連ニュース

関連するキーワード

この記事の著者・インタビューイ

渡邉洋輔

「あたらしい経済」編集部 記者 ブロックチェーンおよびデジタル資産分野を専門とし情報発信を行っている。オンチェーンデータや流動性構造など、市場設計の観点からのリサーチにも取り組んでいる。