イーサリアム 2.0(ETH 2.0)に関する開発作業は現在、ほぼすべて不具合修正に向けられており、開発チームは既存全クライアントをマルチクライアント用テストネットの単一バージョンに同期させようと試みているそうだ。
5月14日開催のETH 2.0実装者会議の議事録において、現開発作業の大変はコードの不具合修正と、その検出方法の改善に費やされていることが明らかになった。
不具合検出については、Sigma Prime(シグマ・プライム)のメディ・ゼロウアリ(Mehdi Zerouali)氏が、「fuzzing(ファジング。Beacon Fuzz)」手法を用いた設計により大きな進歩を報告したという。
Sigma Primeによる分析は、ETH 2.0(ビーコン チェーン)クライアントソフトとその依存ライブラリーにおいて、低レベル層の不具合の検出に役立ったそうだ。具体的には、後述の7種類のETH 2.0クライアントソフトのうち、PegaSysの「Teku」(旧名Artemis)クライアントにおける無限ループ、Statusの「Nimbus」クライアントのメモリーセグメンテーションエラーを発見したという。
不具合解決にフォーカス
議事録によると、ETH 2.0用に7種類のクライアントソフト開発が進められており、これらを用いてネットワークの構成、および整合性を取る必要がある。7種類の内訳は、PegaSysのTeku(旧名Artemis)、ChainSafeのLodestar、StatusのNimbus、イーサリアム財団のTrinity、NethermindのCortex、Prysmatic LabsのPrysm、Sigma PrimeのLighthouseだ。それぞれブロックチェーンを保持および検証する責任があるため、互いに完全に同期していることが重要だという。
なお、EthHubの「Teams Building Eth 2.0」ページによると、合計10種類(2020年5月中旬現在)がリストアップされている。先の7種類に加えて、HarmonyのHarmony、Parity TechnologiesのSubstrate Shasper、YeethのYeethの3種類も記載されている。
これらクライアントの多くは、メインネット環境をシミュレートする、初のマルチクライアント用ETH 2.0テストネット「Schlesi(シュレシ)」の最適化に取り組んでいるそうだ。
Schlesiテストネットは、Prysmatic Labs開発のPrysmクライアント、Sigma Prime開発のLighthouseクライアントによって開始された。既報の通り、Prysmatic Labsはすでにシングルクライアント用テストネットを実行済みだ。
Schlesiテストネットの開始後、PegaSysのTekuクライアントも参加できたという。一方、StatusのNimbusとChainSafeのLodestarは、今のところ限定的な成功のみとなっているそうだ。
メインネット仕様にさらに近づけたテストネットを、6月にローンチか
Schlesiテストネットのコーディネーター役アフリ・スコエドン(Afri Schoedon)氏は、厳しいスタートを切ったと説明した。不具合により初起動が妨げられ、修正後にはクライアントが頻繁にクラッシュしたため、トランザクションのファイナリティが「ひどい」ものになったそうだ。
一方でスコエドン氏は、問題を修正しネットワークを安定化させたクライアント開発者らの対応能力を高く評価した。「我々は、これほど安定していることに、驚いている」と付け加えた。
この成功を踏まえてスコエドン氏は、現在の0.11.2仕様ではなく、0.12実装をターゲットにすえ、メインネット仕様にさらに近い、新たなマルチクライアント用テストネットの立ち上げを提案した。
スコエドン氏は「リリース日のターゲットを、2020年6月としたい」と述べたものの、0.12クライアントの実装に強く依存していると付け加えた。
また同氏は、新たなテストネット稼働時には、3種類のクライアントで開始することを希望しており、同時にイーサリアム 1.xとイーサリアム 2.0をつなぐ架け橋となるデポジット・コントラクト「dry runs(ドライ・ラン)」を可能にしたいと述べた。
翻訳・編集 コインテレグラフジャパン