読者です 読者をやめる 読者になる 読者になる

墨汁の暗号通貨速報

主にETC、BTCを中心に海外で手に入れた情報を最速?で掲載してます

速報:イーサリアム再度ハードフォーク決定

DDoS攻撃 Ethereum Vitalik Buterin イーサリアム ハードフォーク 暗号通貨

お早うございます。昨日朝8時までかかって2つ記事出したのに今日も朝まで記事を書いている墨汁です。。。

 

ヴィタリックからもついにハードフォークという言葉が出てしまいました

 

イーサリアム(ETH)は再度ハードフォークを行います

 

長期に渡ってのガスコストの変更 IOヘビーオペレーションによるトランザクションスパムアタックの軽減

github.com

 

以下ヴィタリックからの発表

 

ハードフォークするために最有力候補は上記の物となり内容は、未だに続くDoS攻撃の問題をガスプライスの再調整によって解決するというものです。

スプライスのハードフォークにはいくつかの選択肢があります

 

基本的には下記のガスコストの値上げとなります

 

スプライスの変更点

 

・EXTCODESIZEを700に

・EXTCODECOPYを700に

・BALANCEを400に

・SLOADを200に

・CALL, CALLDELEGATE, CALLCODEを700に

・SUICIDEを5000に

 

これはアクセスされていない一部のステートにアクセスする全てのオぺコードをカバーする。

(例えば CODECOPYが現在呼び出されているコードをコピーするが、そのコードはすでにロードされておりそれはカウントされない)

 

SLOADは5倍ほどコストを増加

それ以外のオぺコードは10-20倍の範囲内です。

 

これは実際計算してみるとIOオペレーションはオリジナルガステーブルより安く、ガスコストはオぺコードにアクセスするのに多くの時間を必要とするような悪影響はありません

 

ほんとかよ。。。なぜコンセンサスを得られなかったかというとガスプライス引き上げることで単純にアタッカーのアタックコストを上げるためですが、そうすると末端の人までガスコストの影響を受けることになるからだったと思いますが。。。

 

計算式公開してよヴィタリッ君

 

SUICIDE

 

SUICIDEは独自に5000という高いガスコストとなる。

SUICIDEはステート読み込みのオペレーションではなく、ステートを変更するオペレーションのためである

(*SUICIDEはブロックチェーン上のコントラクトデータとかを一掃するために使用 しかも使用すると残りのイーサを差し引いてガスコストを減らすことができる)

 

このフォークは全てのステート変更を少なくとも5000ガスを消費するという不変条件であることを維持することが目的であるため

 

追加のルール

 CALLが多すぎるガスを要求してきた際、クラッシュして失敗する代わりに子は最大許容のガスを手にすることとします。

これはとても重要で、現在ほとんどのコールは msg.gas - 40ガス でハードコード(様は変更できず強制される感じ)されされ、コールのガスコスト増大は全てのコールを破壊します。

 

この追加ルールによってこの問題を解決したといえるでしょう

 

(1b)コールの子は、親の63/64以上のガスを消費することはできない

これには2つ目的があります。

 

1.ハードリミットの代わりに最大コールスタックの深さとソフトリミット、ディープコールタワーを作成する場合は指数関数的に増加するガスの量を要求する

これによってコントラクトディベロッパーが心配しなければならなかった問題のコールスタックの深さ制限攻撃を回避することが可能となり、それだけでなく将来的にoff-by-oneエラー(ループが正しい回数より一回多く、または一回少なく実行された場合などに発生するエラー)によるコンセンサスの失敗を防ぐ可能性を少し上げることができます

 

2.事実上のコールスタックの深さを最大~300までと減らし、将来クライアントに対する2次攻撃により脆弱になるというリスクを幾分か軽減します

 

ヴィタリックの意見

 

まさに今がこのハードフォークを実行するのにベストタイミングであり、63/64の変更とCALLガスコストの増加という変更はディベロッパーにとっては相容れないもの、また同じことを2回繰り返すより一度の経験で済むため得策である。

 

更にEXTCODESIZE、EXTCODECOPY、CALL、CALLDELEGATE、CALLCODE全てをガスコスト4000に変更しますが、終了時全てのガスを400とコードの6バイトごとに更に1ずつ返金します

 

このルールの目的は、18KBコントラクトにアクセス、さらにはスモールコントラクトにアクセスに対してペナルティーを課す、特に申告なDDoS攻撃ベクトルのフルサイズコントラクトのためです(実際1.の~2KBよりも小さいコントラクトにアクセスするユーザーよりも寛大です)

 

1.の場合、15倍〜30倍にすることによってDoS問題が軽減されるでしょう

2.の場合、100倍に限り軽減されるでしょう、しかし2.の場合はコードがより複雑となります。

 

結論とまとめ

CALLの件は最初の方の攻撃に使用されたものですね。

最初にイーサリアムディベロッパー達がガスプライスの増加を呼びかけ、それに賛成するよう促していましたがガスプライス増加=全てのユーザーに負担を強いることとなるため、コンセンサスを得られなかったわけです

 

実際にGitHubの方にも反対意見を見ることができましたね

 

ですが実際は未だに攻撃が続き、イーサリアムを基に作っているアセット(AugurのREPなど)はイーサリアムネットワークの攻撃によりShapeShiftなどで何度もオフラインとなってしまっています。

 

このままだとイーサリアムネットワーク崩壊の危機なのでしょうがなくハードフォークということでしょうけども。。。コンセンサスを得られないからハードフォーク

要はなにかあればハードフォークしてしまう何度でもハードフォーク

元々The DAOのときにハードフォークしたのはイーサリアム(ETH)をとりかえすという大義名分でしたが今回の件は訳が違います。

 

アタッカーの思惑通りとなってしまったわけですね。。。

しかも軽減であり改善じゃないという一時しのぎ

 

そしてPoSに移行するとはいえどイーサリアム(ETH)のマーケットシェアの10%を取られてしまってるわけですがCoin Ageとかどうするんだろうか

 

実際このハードフォーク宣言は7日の22時頃にすでにされており、今回のヴィタリックの説明が公開でイーサリアム(ETH)は200を切ってしまいました

 

f:id:bokujyuumai:20161009042258p:plain

 

やはり信用を失うのとハードフォーク時のリスクオフもあるとは思いますが十分予測可能でした。それは前回の記事を見ていただければわかると思います

 

自分はbitFlyerで今後イーサリアム(ETH)は何か有るたびにハードフォークをすることになると言っていましたがノストラダムスばりに予言があたっt(

 

ほんとは今日違う記事を書こうと思っていたのですが、イーサリアムのこの最悪の状況に更に追い打ちをかけることがあります。。。

 

下記クリックでIndie Squareを起動できます。 

Donate with IndieSquare

 

記事更新には多大な時間がかかり、モチベーション維持が大変です。役に立った、早くしれてよかったなどありましたら気持ちほど寄付していただければ幸いです!

 

Indie Squareなどのカウンターパーティーウォレットをご準備ください。すでにお持ちの方は上記Tip Meから寄付を行えます

 

寄付者には現在1.5円=1BKJにてお返ししております。

BKJトークンでできること

 ・不定期ですが配当をBTCにてお配りします。(第二回は配当済み)

・500BKJ以上保持している方は秘密基地(XCP)の方をアクセスできます!投稿内容はトレード手法の全公開、自分が見つけた極秘?サイトなど公開、ソーシャルネットワークRedditでまだ未公開の情報の先行公開などいろいろ更新しています。

・投票イベントを行いBKJ所持者にはイベントごとにSUMIトークンを配布します。2000円の墨汁やビットコインなどのプレゼント企画を不定期ですがおこなっております

xcp.how2nyan.info

 

bitFlyer ビットコインを始めるなら安心・安全な取引所で

 記事の拡散は下から!