Ethereum 2.0 コンプリートガイド #2

イーサリウムが抱えている現状の課題について

イーサリウムが直面している課題の中で一番重要なものは、スケーラビリティである。イーサリウムは、何百というDAppsをサポートしており、その分、かなりの数のトランザクションを1秒間に裁かなくてはいけない。ノードの数を増やしてもスケーラビリティは上がらない。

なぜなら、ノードの数が増えるほどコンセンサスの時間がかかるからだ。

Dappsの増加や、そのトランザクション数の増加による、イーサリウムネットワークの利用増加に伴って、これがイーサリウムネットワークをスローにし、かつ不便なものにしている。最近のスピードテストによれば、イーサリウムは、現時点で、20件のトランザクションを秒間あたり処理することができる。(複数のソースに夜と、12から45件という報告もある)

これと比較して、中央集権的なネットワークであるPayPalやVisaは、数千から数万のトランザクションを秒間にsとりすることができる。イーサリウムがマスアダプションを実現するには、Ethereum 2.0でスケーラビリティの問題を解消することは必須と言える。

複数の選択肢を調査し、イーサリウムチームは、最終的にシャーディングをスケーラビリティ問題を解決する策として選択した。

オフチェーンソリューションである、Plasma ChainsやState Channelsもまた、スケーラビリティを引き上げる解決策になるだろう。

イーサリウム2,0がもたらすもう一つの改良点は、効率性と環境への配慮である。Bitcoin同様、現在のイーサリウムのコンセンサスプロトコルは、PoWを使っており、この場合、投入するコンピューター資源と電気代に比例してマイニング勝率が上昇する。

あるアルゴリズムが、各新しいブロックに対して、ターゲットする値を設定し、マイナーは、その一番手になることを競い合う。実際にどう競い合うかというと、彼らは、ネットワーク全体かれ提案されたブロックのヘッダーデータと共に、ハッシュ関数を通じてランダムに算出される”nonce value”をスクランブルされた数字に置き換えれる固定の長さの数字として返すのである。

もし、そのターゲットバリューが合わない場合、そのNonceの値は変わり、ハッシュ関数が再度走る。マイナーたちは、このハッシュ値が、その特定のターゲット数にマッチするまでハッシュ関数を走らせ続けるのである。マッチ次第、その新しいブロックは、認証するため、各ノードにブロードキャストされ、台帳に書き込まれ、その成功したマイナーは報酬としてビットコインを受け取ることができる。

PoWの主なメリットは、新しいブロックの承認プロセスが早くシンプルなことである。

しかし、そのネットワーク上のセキュリティを確保するため、そして不正を防ぐため、その正しいハッシュ値を見つけることがマイナーにとって大量のコンピューター資源を要求するため高いのである。

この事実を更に悪化させているPoWの仕組みの一つは、正しいハッシュ値を見つけたマイナー以外の作業は、すべて無駄になってしまうことである。結果的に、PoWのコンセンサスは、莫大な量のサーバーと電気代がかかることになってしまい、とても非効率的なのだ。

例えば、この記事を書いている段階での、イーサリウムネットワークで各トランザクションを処理するのにかかる電気代は、29kwh(キロワットアワー)であり、これはアメリカの平均的な家庭が使っている24時間あたりの電気量に相当する。これをもとにするなら、イーサリウムのマイナーは、毎年、アメリカの平均家庭の652,669世帯分の電気代を消費していることになる。これを国家レベルで比較すると、現在のイーサリウムの消費電力量は、南米のボリビア一国分(人口1,000万強、一人当たりのGDP6,500ドル/年間)に相当する。これはかなり大きな課題だ。

このイーサリウムのPoWの過剰な電力消費は、環境への配慮とシステム自体の長期のサステイナビリティにとってはネガティブな影響を及ぼしている。

PoWプロトコルは、初期のブロックチェーンネットワーク自体を実用化することを可能にする上で重要であった。

しかし、とても非効率なのだ。また、マイナーの寡占化に対しての抵抗力も低い。経済力のある個人や組織ほど、大量のサーバー資源を投入することができ、それによってリワードを獲得することができる。

たとえば、ビットコインのマイナーのうち、5社で65%のシェアを持つ。彼らは、ASICsと呼ばれるビットコインのマイニング専用のコンピィターチップを開発してマイニングしている。このため、より専業化が進んでいる。

これに比べて、イーサリウムは、GPUsを使ったマイニングが主流であるため、ビットコインほど寡占化が進んでいない傾向にある。

しかしながら、イーサリウム用のASICsも最近リリースされてきているため、ETHのマイニングもやはり寡占化のリスクに晒されている。

Ethereium 2,0では、このコンセンサスプロトコルをPoWベースからPoSベースに移行することが計画されており、このPoSのことをCasperと呼ぶ。この転換は、2017年のByzantiumへのアップデート時に実装されたマイニングの難易度を調整するDifficulty Bombを踏まえても、非常に重要である。

Difficulty Bombは、結果的に不可能なレベルになるため、イーサリウムのマイニング難易度が上がっていく仕組みである。

この機能は、PoWからPoSへの転換に合わせて実装が進められている。

Ethereum 2.0の最後の主要課題はは、スピードとユーザービリティである。これは、シャーディングによって解決が進められているスケーラビリティの問題とある程度関係している。シャーディングの導入は、一番重要なボトルネックとなっているトランザクションスピードとスループットの問題を取り除くが、今度は、EVMに新たなボトルネックを引き起こす。

EVMが、イーサリウムネットワークの内部のステートを管理している。同時に、EVMが、各人が保有するETHの残高などのアカウント情報、GAS価格、アドレス、そして、ブロック情報などをセキュアに管理している。更に、EVMは、ブロック情報、ストレージのステート、アカウントのステート、そして、ランタイム環境情報もトラッキングしている。

EVMは、SolidityやVyperなどで書かれたスマートコントラクトをユニークなEVMのバイトコードにコンパイルすることにも対応している。これらのコントラクトは、ネットワーク上のノードが実行する。

EVMが、イーサリウム上の多くの側面に責任を負っていることから、EVMのタスクの処理能力がネットワーク全体に与える影響は大きい。
この新たなボトルネックに対する,イーサリウム2.0における解決策は、Ewasm(Ethereum Wasm)と呼ぶ。Wasmは、W3Cのコミュニティグループの運営するオープンスタンダードプロトコルの一つで、現在、Googleや、Mozillaや、Maicrosoft、そしてAppleなどのエンジニアによって開発が進められている。

Ewasmに関する記事は、追ってまとめる予定である。

つづく。

Ethereum 2.0 コンプリートガイド #3

関連記事