Ethereum ロンドンハードフォークについて
2021年7月に予定されているEthereumのロンドンハードフォークについて解説します。
2021年6月24日にEthereumのテストネットRopstenで稼働を開始したロンドンハードフォークがメインネットでは2021年の7月に予定されています。ロンドンハードフォークでは、主に下記の5つのEIPが実装されています。
- EIP-1559: Fee market change for ETH 1.0 chain
- EIP-3198: BASEFEE opcode
- EIP-3529: Reduction in refunds
- EIP-3541: Reject new contracts starting with the 0xEF byte
- EIP-3554: Difficulty Bomb Delay to December 1st 2021
それぞれのEIPに関して簡単に説明していきます。
EIP-1559 ガス手数料のルール変更
ロンドンハードフォークのメインの規格がEIP-1559です。手数料の徴収方法が大きく変わることになります。現在、Ethereumでは手数料はマイナー(ブロック作成者)が受け取っています。なので、マイナーはブロック報酬とトランザクションの手数料報酬の合計がブロック作成時の報酬になっています。これは、Bitcoinを含め多くのプロジェクトで採用されているファーストプライスオークション方式です。
しかし、EIP-1559で手数料は2つのカテゴリに分けられます。基本手数料(BaseFee)とチップです。そして、基本手数料はブロックごとに動的に決められ、この基本手数料は燃焼(Burn)されます。そして、チップのみがブロック作成者に渡されることになります。この手数料は、自動的にネットワークの需要が大きい時は高くなり、そうでない時は安くなります。そして、基本手数料が支払えるトランザクションのみがブロックに含まれるようになります。概要だけ見ると、マイナーの報酬が下がっただけのようにも見えますが、これにはさまざまな利点があります。
ユーザーにとっての変化
この規格は、一般ユーザーにとって一番有益な利点があります。この規格以前は、オークション形式で前のブロックの手数料やネットワーク上に存在する手数料を見ながら予想をして手数料の支払をしていました。もちろん、ユーザーが実際に計算するわけではなく例えばMetaMaskなどのツールがユーザーにおすすめの手数料を表示していました。
しかし、手数料は常に未来の予想なので急激な変化があった場合に対応できず、おすすめ通りの手数料で送ったのにも関わらずトランザクションが承認されないなどの現象が起きていました。これは、ユーザーが送ったと同時か少し前に急にネットワークに存在するトランザクションが増えたことによるものです。
EIP-1559では、ブロックごとに基本手数料が決まるのでユーザーがトランザクションを送信する時は、それに合わせて送る事ができるようになります。それにより、すぐ処理がされて欲しい場合はブロックの手数料で送るだけでよくなります。もちろん、安くなることを予想して、少なめの手数料で送り後々ブロックに含まれることも出来ます。
ただし、手数料が安くなるわけではありません。手数料はトランザクションの処理の需要とネットワークが供給できる処理スピードで決まるのでEthereumがスケールしない限りは需要が高いと手数料も高くなります。
マイナーにとっての変化
この規格では、マイナーにとってマイナスに捉えることが出来るので多くの反発が出ていました。しかし、さまざまな研究がマイナーの報酬が下がるとは言い切れないということと、反発しても利点が無いと言われています。つまり、マイナーのフォークでの分離は起こらないだろうと予想されています。
まず、マイナーの報酬が下がらないのではないかと言われているのにはいくつかの理由があります。1つ目は、基本手数料は燃焼(Burn)されるのでEthereum自体のインフレ率が下がります。ですので、価格上昇が期待されています。
もう一つの要因は、マイナーが受け取るチップには大きな変更が無いであろうと言われているからです。DeFiがEthereumでは大きな需要を作っていますが、現在でも大きな手数料を払っているのはDeFi関連のトランザクションです。これは、ブロックに早く含まれることも重要ですが、そのブロック内でも順番が重要になっているからです。この、需要がなくなるわけではないので、DeFi関連のトランザクションは高いチップを払うことが見込めるので大きく報酬が下がらないのではないかと言われています。
また、EthereumはPoSに移行が決まっているのでマイナーは近い将来どのみち報酬がなくなります。ですので、今反発して報酬をゼロにしてしまうより移行までに出来るだけ多くの報酬を受取る方が効率的な判断になります。
セキュリティ
マイナーの報酬が減るので、セキュリティも減るのではないかと言われています。実際に、ハッシュレートは下がると言われています。しかし、それはセキュリティが下がるということではありません。
Ethereum自体は、ブロック報酬のみでもセキュリティが担保される想定で設計されています。しかし、現在の大きな需要により手数料が高額になりマイナーが大きな報酬を得すぎていて想定外にセキュリティに対するコストが高い状態になっています。そして、そのセキュリティが高いコストを払っているのはユーザーという事になります。ですので、それを設計されているセキュリティ報酬に近づけるということもこの規格の一つの目的になっています。
EIP-3198 BASEFEE opscodeの追加
EIP-3198は、EIP-1559をサポートする規格です。BASEFEEがEVMに追加されスマートコントラクトからEIP-1559で追加されたBASEFEEにアクセスすることが出来るようになります。
EIP-3529 返金の減少
スマートコントラクトを書いているデベロッパーや企業にはこれも大きな変更かもしれません。
SELFDESTRUCT(スマートコントラクトの削除)のコマンドからガス代の返金の仕様がなくなりSSTOREコマンドの返金が減少します。元来、この仕様はデベロッパーが使わなくなったスマートコントラクトを削除することを推奨することにより、ブロックチェーンのデータを小さくすることが目的でした。しかし、実際にはガストークンが出来たことにより、そちらのデータが増え意味のないものになっていました。
さらに、この返金されていたガス分だけ多くのトランザクションを同じブロックに含めることが出来ていたので意図せずブロックのサイズが大きくなってしまっていました。なので、この変更でブロックサイズの分散を少し防ぐ事が出来る想定になっています。
EIP-3541 0xEFから始まるスマートコントラクトの禁止
EIP-3541は、将来のEVMの改善の為の基礎になっています。既存のスマートコントラクトには影響しませんが、ハードフォーク移行は0xEFから始まるスマートコントラクトアドレスは作成出来ないようになります。現在想定されている具体的な活用法はEIP-3540で、こちらの規格はスマートコントラクトのコードデータにフォーマットを追加してコードのチェックをしやすくするなどの利点があります。
EIP-3559 難易度爆弾の延期
EIP-3559は、難易度爆弾(Difficulty Bumb)とは、Proof of stake Ethereumへの以降に際して、現行のEthereumが新しいブロックを生成出来ないようにする規格ですが、Proof of Stake Ethereumへの移行が遅れている為、難易度爆弾が爆発する時期も2021年12月に延期されています。
まとめ
EthereumはBitcoinと同じ手数料の方式であるファーストプライスオークションを使ってきました。しかし、固定価格になることによりユーザーは、トランザクションを送って長時間ブロックに含まれないなどの問題はなくなります。
参考文献
本記事はShusetsu Todaさんによる下記のVIPPOOL BLOGの記事をAXELL BLOGに転載したものです。