▼Ethereumハードフォークの背景と日時
Ethereum Foundationは、サービスへのDoS攻撃に対応するため、ハードフォークを提案しています。
ハードフォークは、10月18日火曜日(日本時間で18日の23時過ぎ頃)、ブロック2463000で発生します。
現在のブロックはEtherchainから確認ができます。
ハードフォーク実行の背景は、ここ数週間繰り返されているイーサリアムネットワークへの攻撃です。
この攻撃が原因で、ネットワークの機能が麻痺し、取引所での入出金が遅れたり、一時停止したりなどの影響が出ています。
▼イーサリアムネットワークへの攻撃の原因
一部のOPコードのgasの価格が低すぎることが原因とされています。
イーサリアム上プログラムを動かすには、プログラム内容に応じた手数料(=gas)が必要になり、プログラム実行の命令はOPコードという形で定義され、幾つかの命令のセットをそれぞれを実行すると幾らという価格がつきます。
しかし、一部の命令は安い手数料で実行され、その割には実行時にコンピュータリソースがかかりすぎるという仕様があり、この仕様を悪用した攻撃がされている状態です。
安いgasで動くプログラムを大量に命令し、イーサリアムネットワークを僅かなコストで麻痺させるという攻撃です。
問題のOPコードは、承認にかかる時間が20~60秒もかかるようになります。
その間に、~50,000回ものディスクアクセスがされ、ブロックの生成に通常の2,3倍の時間がかかるほどネットワークが遅延しています。
この対策として、命令に対するgasを引き上げ、価格計算を改定することが必要となります。
価格計算のロジックはイーサリアムのソフトウェアに記録されているため、ハードフォークをして新たなチェーンに移行する必要があります。
▼新たなチェーンへの移行
新たなチェーンへの移行は自動的に行われます。
ハードフォーク開始前後、移行準備のため一時的に入出金をストップさせていただきます。
※売買取引はハードフォーク中も通常通りに行うことが出来ます。
ネットワークが安定し、新たなチェーンへの移行が完了しましたら入出金を再開いたします。
古いブロックチェーンでトークンを維持したい場合は、
ハードフォーク前にEtherを外部へ移動して下さい。
▼ハードフォークの影響は?
前回のハードフォークでは、元々のチェーンを利用できるイーサリアムクラシックが誕生しました。
今回のハードフォークでは、分派するオリジナルのチェーンは残るので、ふたたび2つのコインが生成されます。
しかし、ネットワークが不具合を起こしている状態なので、そのネットワークのコインであるクラシックのように、古いチェーンを支持してマイニングする人は少ないと言われています。今回は利害の一致する問題を解決するためのハードフォークでなので、問題は起こりにくいと考えられます。
しかし、このハードフォークにはリスクも指摘されています。
コードの実行の価格の変更やロジックを変更したことにより、既に存在するコントラクトにおいて、問題が起こる場合があるとの内容がredditで指摘されています。
コントラコクトがgas不足で止まる可能性や、資金がロックされて取り出せなくなるという危険性があります。
参照:イーサリアムハードフォークの問題点
同じ仕様に基づいているイーサリアム・クラシックも、同じ問題を修正するためにハードフォークを行います。
ETCのハードフォークは25日頃の予定です。
詳細:THE UPCOMING ETHEREUM (ETH) HARD FORK