イーサリアム・ノード、13%がバグでオフラインに──クライアントソフトウエアの集中化が課題

ソフトウエア開発プラットフォームのGitHubで5月と6月に示唆されたように、少数派のクライアントソフトウエア、パリティー・イーサリアム(Parity Ethereum)とオープンイーサリアム(OpenEthereum)バージョン2.7以降は、未知の重大なバグを抱えており、ノードがネットワークの最新ブロックと同期できなくなっている。

このため、イーサリアムのノードの13%が使えなくなり、クライアントソフトウエアの集中化が大きな課題として浮上している。

こうしたバグは、修正に必要な時間の長さ(数週間〜数カ月)と、大多数を占めるクライアントソフトウエアのゲス(Geth)にさらなる負担をかけることがなければ、一般的な問題だったかもしれない。

重要なクライアントの多様性

複数のクライアントソフトウエアを運用することは、並列しているが、別のシステムを運用することによって、ネットワークへの攻撃を阻止する手段と考えられており、歴史的に有用なモデルと証明されている。

例えば2016年の上海アタックと呼ばれるDDoS攻撃(分散型サービス拒否攻撃)では、ゲスが一時的に機能停止に陥ったが、その間、パリティー・イーサリアムが単独でネットワークを運用し続けた。

イーサリアム財団が支援するクライアントソフトウエアのゲスは現在、イーサリアムネットワークの約80%をサポートしている。

この依存度合いは、攻撃のターゲットになりやすいと認識されており、開発者たちは7月、少数派のクライアントソフトウエアが一定のシェアを獲得できるようにするために、ハードフォーク「ベルリン」のローンチを延期した。

しかしそれから約8週間、ゲスの負担はさらに大きくなっただけだった。ハードフォークによって使えなくなったノードのオペレーターたちは、クライアントソフトウエアを使えなくするか、古いバージョンに戻すか、あるいは、まったく別のクライアントに移行する決断を迫られている。ゲスのシェアと負担はさらに大きくなりそうだ。

CoinDeskはゲスにコメントを求めたが、返答はまだない。

難しい問題

パリティー・イーサリアムを作ったパリティー・テクノロジーズ(Parity Technologies)社は2019年12月、コストを理由にメンテナンスから手を引いた。パリティー・イーサリアムはその後、コンセンシス(ConsenSys)からスピンアウトしたGnosisが立ち上げた開発者たちの自律分散型組織(DAO)、オープンイーサリアム(OpenEthereum)に引き継がれた。

イーサリアム開発者たちの間では、パリティー・イーサリアムが問題を抱えていることは公然の秘密だった。実際、オープンイーサリアムのプロジェクトマネージャー、マルセロ・ルイス・デ・オラノ(Marcelo Ruiz de Olano)氏は、彼のチームは解決不可能、かつ「メモリとディスクの使用に影響を与える非常に深刻な問題」を見つけたとCoinDeskに述べた。

GitHub上のゲスとパリティー・イーサリアムのコードを比較すると、特に12月の引き継ぎ以後、パリティー・イーサリアムのコードの整合性にはいくつかの疑問が生じる。P2Pマーケットプレースのローカルクリプトス(LocalCryptos)が5月にツイートで指摘したとおりだ。

一方、オープンイーサリアムのチームは、ノードオペレーターに対して、ノードをオンラインに復帰させるために、2019年のバージョン2.5に戻すことを求めている。

デ・オラノ氏は、このプロジェクトだけで4人のエンジニアを抱えており、9月半ばまでに実行可能なクライアントソフトウエアを生み出すことを望んでいると述べた。だが、さらなるサポートがなければ、クライアントソフトウエアの多様化は依然として問題となり続けると付け加えた。

「究極的には、これはイーサリアムネットワークにおけるクライアントの多様性を増やすためのコミュニティープロジェクトであり、皆が協力してくれるとありがたい」とデ・オラノ氏は語った。

翻訳:山口晶子
編集:増田隆幸、佐藤茂
写真:Shutterstocck
原文:Buggy Code Release Knocks 13% of Ethereum Nodes Offline