『マスタリング・イーサリアム』の翻訳に参加しました。

統計データを用いてイーサリアムの稼働状態を俯瞰してみる

暗号通貨

EthereumはEVM(Ethereum Virtual Machine)というチューリング完全のワールドコンピュータを実現させるプロジェクトで、目下活発に開発がなされています。イーサリアムを理解しようとすると「スマートコントラクト」や「Solidity」「ガス」などよく分からない用語が非常に多いです。故に「Ethereumという名前は聞いたことあるけど、時間を書けて調べようという気が起こらないし、ビットコインのような通貨じゃないなら興味もない」という方が多いのではないでしょうか。

この記事では、Etherscanで提供されているチャートやデータを用いて、Ethereumのネットワークを俯瞰してみようと思います。

ハッシュレートと採掘難易度

まずはハッシュレートです。ハッシュレートというのは計算量のことで、上の図はEthereumネットワークに投入されたハッシュレートの推移を表しています。ハッシュレートが多ければ多いほどセキュリティが強くなるため、ハッシュレートが重要ですが、現行Ethereumは計算量によってコンセンサスを形成するPoWによって運営されているため、ネットワークの維持のために膨大な電気が消費されていることになります。

こちらは採掘難易度です。採掘難易度は、その名の通り「ブロックを採掘する難しさ」を表しており、ハッシュレートとブロックタイム(ブロックが生成される間隔)の間を取り持つような役目を果たします。安定したブロックタイムを実現するためには、ネットワークのハッシュレートの増加に伴って、採掘難易度も一緒に増加するような仕組みが必要ですよね。

ハッシュレートが大幅に増加したのに、採掘難易度が一定であれば、より高い頻度でブロックが採掘されてしまいます。Ethereumはビットコインとは違いEtherの発行総数の上限は定められていませんが、Etherの過剰発行は価値の希釈(インフレ)を引き起こすため、ブロックタイムの安定は重要なのです。

更に上の図を見ると10月中旬ごろに採掘難易度が大幅に引き下げられているのが分かると思います。ハッシュレート自体は上がっているのに、採掘難易度が激減しています。これはByzantiumハードフォークによって、採掘難易度が引き下げられたためです。これに関連してブロックタイムも見てみましょう。ブロックタイムは、ブロック生成間隔のことです。

平均ブロックタイム

こちらをご覧下さい。Ethereumのブロックタイムは12秒が目安になっていますが、今年の4月頃からブロックタイムが増加し始め、10月16日のハードフォーク前にはブロックタイムが30秒を超えていることが見て取れます。

これはディフィカルティボム(Difficulty bomb)またはアイスエイジ(Ice age)と言われるものが原因です。ディフィカルティボムは、ハードフォークによってネットワークのアップグレードが行われた際に、元のチェーンにマイナーが居残るリスクを減らすために導入されたもので、Ethereumの採掘難易度を徐々に引き上げる仕様になっています。

ディフィカルティボムについてはこの記事では詳述しませんが、「Ethereumにはハッシュレートとブロックタイムに加えて、採掘難易度を増加させる仕組みが内蔵されている」と考えて下さい。ところがこのディフィカルティボムによって、採掘難易度が上昇し、ブロックタイムが大幅に延びてしまったため、Byzantiumハードフォークの際にディフィカルティボム発動が約一年半延期されました。詳しくはEIP-649をご覧下さい。

一日あたりのブロック報酬と新規発行Ether

ブロック報酬はByzantiumハードフォーク前は5Etherで、ハードフォーク後には3ETHに引き下げられました。上の図では一番下の窪みになっている部分が10月前半の1日あたりのブロック報酬です。10月16日のハードフォーク後に1日あたりのブロック報酬が増えていることが見て取れます。1ブロックあたりのブロック報酬が5Etherから3Etherに減ったにも関わらず、1日あたりのブロック報酬が増えているのは、ブロックタイムが大幅に短縮したためです。ハードフォーク前には約30秒だったブロックタイムがハードフォーク後には約13秒になっているので、1ブロックあたりのブロック報酬が減ったとしても、1日単位では増えているというわけです。

※追記
HF前とHF後を比較するとHFを後の方が1日あたりの発行総数は増えていますが、ディフィカルティボムによってブロックタイムが延びる前の水準と比べた場合には、ブロック報酬が5ETHから3ETHに減っているので、単位時間あたりの新規発行Etherは減っています。

トランザクション数

トランザクション数は順調に伸びていて、100万の大台を超えています。これだけのトランザクションを捌きながらネットワークに大幅な遅延が発生していないのは特筆すべきことで、今や送金機能としてEtherを使用している方も多いでしょう。これは、特に取引所から暗号通貨を送る際、BTCよりもETHを使ったほうが大幅に安いことが多いためです。

暗号通貨全体で見てもEthereumのトランザクション数は全体の60%を占めています。

Cryptocurrency charts – Market Capitalization, Transactions last 24h, Avg. transaction value, Active Addresses last 24h …

右上の図がトランザクション数の比較グラフです。

トランザクション数の増加に伴って、Ethereumのチェーンデータのサイズが大幅に上がっています。このサイズの増加はフルノードやネットワークに対する負担になります。

ブロックガスリミット

最後にブロックガスリミットです。左に目盛りがあり、現在8M付近を推移している状況ですが、これは「Ethereumのブロックサイズが8MBサイズである」という意味ではないことにご注意下さい。これは8 million gas、つまり8百万ガスのことで、単位はGasです。最新のブロックガスリミットは「Ethstats」で確認できます。

ブロックガスリミットはビットコインにおけるブロックサイズのような働きをします。詳しくは以下の記事をご覧ください。

イーサリアムにおけるブロックサイズであるブロックガスリミットはどのように決定されるか?
少し前に「Ethereum in 25 minutes」の記事を書いた時にEthereumのブロックガスリミットについて言及しました。ブロックガスリミットはビットコインにおけるブロックサイズのような役割を果たします。なぜなら各トランザク...

Ethereum BlockChain Explorer and Search

EIP-649: Byzantium Difficulty Bomb Delay and Block Reward Reduction by 5chdn · Pull Request #669 · ethereum/EIPs

Toward a 12-second Block Time – Ethereum Blog