イーサリアムに対するトランザクションスパムアタック

Home
Chart相場分析
News仮想通貨News
Wiki仮想通貨Wiki
ETHEthereum
BTCBitcoin

仮想通貨
最新速報

イーサリアムに対するトランザクションスパムアタック

2016年9月19日 03:04:56にイーサリアムクライアントのGethノードがDDoS攻撃によりメモリーエラーを起こし停止、ブロック生成ができなくなりました。問題のブロックは2,283,416から起き、イーサリアムネットワークのハッシュレートは一時的に1.5TH/sまで下落を記録しました。

スポンサーリンク

1.DDoS攻撃の内容

イーサリアムネットワークはDEVCON2の開催中にDDoS攻撃を受け、一部のマイナーとノードはブロック生成時間に長時間割く必要がありました。原因はオペコードのEXTCODESIZEが極端にガスコストが低い点をつかれたためです。

オペコードについては下記を参照してください

OPCODEとは?

2.イーサリアムに対するトランザクションスパムアタック

イーサリアムへのDoSアタックの正体はトランザクションスパムアタックでEXTCODESIZEのガスコスト問題でした。その結果ブロック生成の際20~60秒、トランザクションプロセスのため5万回のディスクフェッチを検証する必要があり、攻撃中2~3倍のブロック生成レート低下が生じましたが、コンセンサスの失敗ではなく、ネットワークまたはクライアントが完全に停止したわけではありません。現在ネットワークはなんとか回復している状態です。

2-1.攻撃に対する対策

とりあえずの解決策として、Gethユーザーは下記のフラッグにて起動

–cache 1024 –targetgaslimit 1500000 –gasprice 20000000000

Parityの場合

–cache-size-db 1024 –gas-floor-target 1500000 –gasprice 20000000000 –gas-cap 1500000

結果キャッシュサイズを上げ(デフォルトが128だから約9倍)、ノードがディスクの読み込みする回数を減らし~3倍にすることによってガスリミットをダウン、スパムアタックの際ブロックの最大処理時間を減少させました。

2-2.ガスリミット

マイナーがブロックプロセスに5秒以上かかるのを発見した際一時的に2倍以下のガスリミットを自動でカットするマイナーソフトウェアの変更。 自動で本日起こった様な修正を行うことを許可する

・キャッシュの設定のツイーク

・追加のキャッシュ

・EXTCODESIZEに追加のキャッシュ(ほとんどEXTCODESIZE読み込みは~18KB長いコントラクトから他のIO-heavyオペレーションより数回遅い)

・ディスク型キャッシュの状態値はアクセス速度向上を許可する( O(log(n))スピードアップ)

3.プロトコル変更のハードフォークの可能性

スポンサーリンク

Leveldbデータベースと高性能なユースケースを最適化するオプションの置き換えを検討しているが、現状すぐというわけにはいきませんが、Parityチームは独自にパフォーマンスの改善に取り組んでいます

長期的にはローレベルのプロトコルの修正も同じく検討しいる。例えば、アカウントステータス(SLOAD, EXTCODESIZE,CALL,etc…)の読み込み要求をするオプコードのガスコストの値上げ、そして特に外部アカウントの読み込みオペレーションはガスコストを少なくとも500上昇させることで十分でしょう。
しかしすでに存在するコントラクトを避ける必要があります(例えば同時に実装するEP-90は十分)

そしてトランザクションが読み込む最大バイト数よりも低い上限となり、今回の攻撃の様な全ての潜在的攻撃に対して安全性を向上することができ、マークルプルーフのサイズの減少、その結果両クライアントのセキュリティをサイドエフェクトの様に改善する







スポンサーリンク


ビットコインやイーサリアムその他仮想通貨の情報はツイッター上で速報を出しています。





仮想通貨ランキング

返信する

イーサリアムのテストネットフォークでコンセンサスバグにより分裂

イーサリアムはコンスタンティノープルのテストを行うために、テストネットのロプステンのブロック #4,230,000でハードフォークを実施。メインネットと違い、ブロックタイムが15秒より早く、予定の2日前にブロックに達した...

コンスタンティノープルテストネットブロック決定とProgPoWの進行

イーサリアムは年末にコンスタンティノープルフォークを控え、前回のコアデベロッパー会議で決まっていた10月9日のテストネット”ロプステン”のハードフォークを今回の会議で決定しました。本稿では、イーサリアムの大型アップデート...

イーサリアム 10月9日にテストネットのコンスタンティノープルフォークを予定

イーサリアムクライアントのParityとaleth(cpp-ethereum)はメトロポリスのPt.2となる”コンスタンティノープル”に実装するEIP(改善提案)の残りの実装となるEIP-1283とEIP-1...