ソラナ一時停止の背景
ソラナ(SOL)ブロックチェーンの共同創設者Anatoly Yakovenko氏は6日のインタビューで、直近のネットワーク障害について語った。
ソラナのメインネットワーク(ベータ)は、単一ノードの構成ミスが原因で、日本時間1日の午前9時45分頃から約7時間、稼働停止状態となった。
The Solana mainnet network will be restarted at slot 153139220, the last confirmed slot.
— Laine ❤️ stakewiz.com (@laine_sa_) October 1, 2022
It appears a misconfigured node caused an unrecoverable partition in the network.
Validators, please participate in finding consensus on the relevant data.
ソラナ財団が運営するSolana Statusは原因について、「誤って構成されたノードが原因で、ネットワーク内に回復不能なパーティションが発生した」と述べ、原因究明に当たっていた。
Yakovenko氏はこの件について「誤った設定のバリデーター(検証者)がネットワークを混乱させ、分岐(フォーク)のうちどれが正当なチェーンか後続のバリデーターが判断できなくなり、ネットワークが停止した」と説明。
しかし、ソラナには2,000の異なるバリデーターがあるため、「このような障害によってユーザーの資金やプログラムの状態が危険にさらされることは一切ない」と強調した。
バリデーターとは、ブロックチェーンに記録されるデータの妥当性を検証するノードのことで、対価として仮想通貨の報酬を得る。各バリデーターは独立して稼働するが、ネットワークデータのコピーを共有・更新する。
そのため、仮に大規模な障害が起きたとしても、Yakovenko氏は「これらのコピーの1つが残っている限り、ネットワーク全体を効果的に復旧ができる」と加えた。
ソラナの改善策
10月1日のソラナ・メインネットワーク(ベータ)の一時停止は、22年に少なくとも4回目となる。多くはボットによるトラフィック急増でネットワーク容量が圧迫されて起きたものだ。
ChainSadfeによれば、こうした課題はクライアントの多様化によりカバーできる可能性がある。イーサリアム(ETH)は 2016年にサービス妨害攻撃(DOS)を受け、Gethクライアント内でメモリ不足エラーが発生し、ブロック生成が停止した事例があった。しかし、別のクライアントが影響を受けず、マイナーはクライアントを切り替えて解決している。
冒頭のインタビューでYakovenko氏は、開発中の2つ目のクライアント「Firedancer」が長期的なソリューションになると指摘した。8月に開発が発表されたFiredancerは、Web3企業のJump CryptoがSolana Foundationと共同で構築している「C++」プログラミング言語ベースのクライアントである。
Solana Labsが提供するRustベースの既存クライアントに対して、Firedancerは有効な代替ソリューションとなる。Yakovenko氏は「独立したチームなので、彼らのコードに我々と同じバグがある確率はほとんどゼロだ」と加えた。
関連:ソラナ安定性向上へ VC大手「Jump Crypto」がクライアントを開発
クライアントとは、ノード(コンピューター)がブロックチェーンと通信するのを支援するソフトウェア。クライアントを介して、ノードはトランザクションのブロードキャスト(伝播)や検証、スマートコントラクトを実行し、ネットワークは合意形成を得る。
分散型ネットワークにおいて、ネットワークのセキュリティ、回復性、耐検閲性を強化するために、「クライアントの多様性」が重要となる。
イーサリアム(ETH)のエコシステムを調整するEthereum Foundationは、各クライアントのシェアが33%を下回ることを目標に開発チームを支援してきた。しかし、直近の大型アップグレード「The Merge(マージ)」を経て、単一クライアントのシェアが急増している。
関連:イーサリアムのメインネット強化へ 新たな奨励プログラムを発表
ソラナにおいて、今後12か月以内に予定されるFiredancerがリリースされると、Solana Labsの単一クライアントがバリデーターの圧倒的多数を占める状況を改善できる。将来、バリデータークライアントで問題が発生した場合にネットワークの安定性を確保できると期待される。
That’s great to hear! https://t.co/RHPlnPglOj is targeting >1m tps on a 10gbps link and as a second client will exponentially improve reliability on the network
— toly 🇺🇸 (@aeyakovenko) October 1, 2022
Yakovenko氏は以前、「2番目のクライアントにより、ネットワークの信頼性を指数関数的に向上させることができる」と語っていた。
関連:Solana Labs唯一の日本人エンジニアが語る、ソラナの魅力