11月1日~4日にかけてメキシコのカンクンで開発者カンファレンスが行われた。1日目に登壇したVitalik氏は、イーサリアムの"控えめな"プロポーザルを発表した。冒頭でイーサリアムの実績が簡単に紹介された後、イーサリアムの今後の課題とその解決策の一つであるSharding（シャーディング）についての説明がなされた。

イーサリアムのネットワークは成長した。多くのアプリケーションがイーサリアムのネットワーク上で構築され、1日あたりのトランザクションは11月17日時点で50万前後を推移している。また先日行われたByzantiumハードフォークでは、プライバシー機能の強化等が行われた。次期バージョンであるMetropolisへの移行にはもう一つハートフォードが残されており、そちらでも更なるプロトコルの改善が行われる予定だ。

勢いがあり順調そうに見えるイーサリアムの開発であるが、今後の更なる発展のためにはスケーラビリティ等の課題を解決しなければならない。解決策の一つとして挙げられ、今回の発表でも多くの時間が割かれたのがShardingだ。

現在個々のノードは全てのトランザクションを処理しており、ブロックチェーンのキャパシティは、現状各ノードのキャパシティに依存することになる。Shardingはブロックチェーンのステート（状態）を複数の破片（Shard；シャード）に分割して、各クライアントにはトランザクションのごく一部を処理させるというアイディアだ。Shardに分割されるため、Shard間のコミュニケーションは非同期になる。

Shardingのイメージ(3) Devcon3 Day 1 Stream - YouTube

イーサリアムはマークル木を用いて、効率的にステートをブロックヘッダーに格納している。上の図では、各ステートのハッシュ値がルートハッシュとしてブロックに格納されている様子が描かれている。メインチェーンのステートとShard state rootsがValidator manager contract（VMC）を介して接続されている様子が描かれている。

発表によればVMCはプルーフオブステイク（PoS）を実行し、二層レイヤーのShardingシステムのコンセンサスを司るようだ。VMCは誰もがバリデーターとして機能することを許可し、バリデーターの動きを記録する。またVMCは自身が管理するShardにおけるブロックを生成する権利をバリデーターに付与し、Shardへのブロックヘッダーを記録する。

Shardingは新しいアドレス空間を生み出し、既存のアドレス空間には影響を与えない。また後方互換性はないものの、イーサリアムのプロトコルに重要な改善をもたらすと述べられている。

今後の動きとしては、マークルツリーの改善、アカウントツリーとステートツリーの再設計、E-WASM（Ethereum flavored WebAssembly）などが予定されているようだ。

スケーラビリティ問題を他に先んじて解決することができれば、Dappsのプラットフォームとして、またエコシステムの基盤として、Ethereumは新しい道を切り開くことになるだろう。ビットコインとは毛色の異なるコミュニティとして、Ethereumの今後の発展に期待したい。

Devcon3 Day 1 Stream - YouTubeEthereum Transaction Growth ChartSharding FAQ · ethereum/wiki Wiki · GitHub