ProgPoW アルゴリズムに脆弱性が露呈、Ethereum ASIC マイニングは止められないのか?

ProgPoW アルゴリズムに脆弱性が露呈、Ethereum ASIC マイニングは止められないのか?

物議を醸している ProgPoW アルゴリズムに関して、独立系開発者の kikx は本日、このアルゴリズムの脆弱性を公開しました。この脆弱性により、ASIC 対策の目標を真に達成することは不可能になります。 Kikx 氏はまた、この脆弱性は新たに発見されたもので、現在 Ethereum で使用されている Ethash アルゴリズムに脅威を与えるものではないとも付け加えた。

これに対して、イーサリアム開発者のフィリップ・カストンガイ氏は次のようにコメントした。

「ProgPoW の現在の実装は、ASIC 耐性がそれほど高くないようです。基本的に、ProgPoW ハッシュ関数は 64 ビットのシードを使用しますが、ASIC は、意図したとおりにマイニングするのではなく、これを「簡単に」ブルート フォース攻撃することができます。これを公式に確認するには、さらに注意が必要です。」

イーサリアムのハードフォークコーディネーターのジェームズ・ハンコック氏は後に脆弱性の存在を確認し、感謝の意を表した。

では、この抜け穴とは一体何なのでしょうか?

Kikx が公開した詳細を見てみましょう。

ProgPoWの設計上の欠陥

ProgPow には設計上の欠陥があります。

64 ビットのシードは小さすぎるため、ASIC はメモリにアクセスせずにハッシュを計算できます。

初期実装

読みやすい実装を提供してくれた chfast に感謝します。

ProgPoW ハッシュ関数は次のように定義されます。

結果ハッシュ(const epoch_context& context, int block_number, const hash256& header_hash,
uint64_t nonce) 例外なし
{
const uint64_t シード = keccak_progpow_64(header_hash、nonce);
const hash256 mix_hash = hash_mix(コンテキスト、ブロック番号、シード、calculate_dataset_item_2048);
定数hash256 final_hash = keccak_progpow_256(header_hash、seed、mix_hash);
{final_hash, mix_hash} を返します。
}

ASICフレンドリーなコンピューティング

ブロック ヘッダー block_header とブロック番号 block_number が指定されていると仮定します。

次に、次の 3 つの手順に従います。

  1. シードを任意の 64 ビット値に固定し、 mix_hash = hash_mix(block_number, seed); を計算します。

  2. header_hash が難易度条件を満たすように extra_nonce を検索します。

  3. keccak_progpow_64(header_hash, nonce) == seed となるように nonce を検索します。

最初のステップは、固定のシードとブロック番号の mix_hash を計算することです。 mix_hash は seed と block_number の関数として設計されているため、有効な 3 つの要素 (seed、mix_hash、block_number) が得られます。ここでの目標は、次の 2 つの条件を満たす header_hash と nonce を見つけることです。
    1. (A) keccak_progpow_64(header_hash、nonce) == シード;

    2. (B) keccak_progpow_256(header_hash、seed、mix_hash) <= 境界;

覚えておいてください、追加の乱数を変更することで、任意の数のヘッダー ハッシュを生成できます (Ethereum の ExtraData を使用)。したがって、条件 (B) はステップ 2 で簡単に達成できます。これで、(header_hash、seed、mix_hash、block_number) は固定されますが、nonce は自由になります。最後に、ステップ 3 では条件 (A) の nonce をスキャンします。シードの長さは 64 ビットしかないため、条件 (A) では 64 ビットのセキュリティしか提供されず、ステップ 3 は ASIC によって実行できます。

コストを計算する

関数は keccak_1600、keccak_progpow_64、hash_mix、keccak_progpow_256 の 4 つです。コストは、ネットワーク難易度 D に応じて必要な関数の呼び出しを計算することによって計算できます。

通常のハッシュ計算では、block_header から header_hash を計算するために keccak_1600 呼び出しが必要であり、その他の関数は nonce 値ごとに順番に呼び出されます。

ASIC ハッシュ計算では、ステップ 1 で hash_mix 呼び出しが必要であり、ステップ 2 で keccak_1600 と keccak_progpow_256 が呼び出され、ステップ 3 で keccak_progpow_64 が呼び出されます。

hash_mix は ASIC 計算で 1 回だけ呼び出されるため、ホスト CPU を使用して hash_mix を計算できます。その他の関数はすべて keccak ハッシュ関数であり、メモリ ストレージを必要とせず、ASIC 上で簡単に計算できます。

keccak_progpow_64 行の D を 2^64 と比較する必要があります。簡単に言えば、D が大きいほど ASIC の収益性が高まります。閾値を見積もることは困難ですが、現在の難易度 (> 2^50) は十分に大きいと思います。

デモ

デモはこのリポジトリにあります。
 $ git クローン https://github.com/kik/progpow-exploit.git
$ cd progpow-exploit
$ mkdir ビルド
$ cd ビルド
$ cmake ..
$ 作る
$ ./test/ethash-test --gtest_filter=asic.search
このデモでは、CPU 上で実行するためにシードは 24 ビット幅に切り捨てられます。コードを参照してください。

テストコードはシンプルです。

search_asicはここで定義されます

この脆弱性の存在を考えると、イーサリアムマイニングマシンメーカーは安堵のため息をつくことができるでしょうか?

<<:  プロの鉱山労働者のための必修コース:金融ツールを使用した鉱山リスクの管理

>>:  「半減期」の年に、ETHも「半減」しました!

推薦する

ビットコインは2年間沈黙しており、回復は弱い。仮想通貨の商業化は依然として困難な状況にあります。

ビットコインの価格は2年間の低迷の後、今年2月末に着実な上昇傾向を示し始め、16%近く上昇して1年ぶ...

Coinbase共同創設者がイーサリアムのハードフォークを警告

クレイジーな解説:Coinbaseの共同設立者フレッド・アーサム氏は、イーサリアムの開発者にブロック...

2017年のビットコイン強気相場の兆候が再び現れる

ビットコインはここ数週間、1万ドルから1万1000ドルの範囲で横ばいで取引されている。マクロ的な観点...

スマートコントラクト: ブロックチェーン技術が不十分な金融サービスの問題を解決

スマート コントラクトをめぐる最近の盛り上がりにより、このまだ比較的新しいイノベーションへの関心が高...

マイクロソフトはビットコインに賭ける

ロイター通信によると、マイクロソフトは、ビットコインと関連技術を金融機関に推進するため、ブルックリン...

石炭価格高騰、電力不足、乾季、南部の暗号化された採掘現場での停電

Wu Blockchainは、最近の電力不足により、四川省が暗号通貨マイニング業界に強制的な要件を課...

暗号通貨の世界のマイナーリズム

こうすることで、スマート コントラクトを小さく保つインセンティブが生まれ、コストが削減されます。コン...

Jasmine X4-1U ブレード コンピューティング サーバーのレビュー

Eth は長い間、グラフィック カード マイナーの領域でした。グラフィックカードの入手が困難だった年...

2016年リバタリアン党大統領候補がビットコインを支持

先週の日曜日、ゲイリー・ジョンソン氏が2016年リバタリアン党の大統領候補となり、ビットコインを使っ...

MIT のブライアン・フォード氏: 企業は主にパブリック ブロックチェーンによって混乱をきたすことになるのでしょうか?

クレイジーレビュー:シンギュラリティ大学とCNBCが共催した2016年エクスポネンシャルファイナンス...

PayPal、マスク、暗号通貨:啓蒙、進歩、探求

元のタイトル: 「PayPal、マスク、暗号通貨」執筆者: 陳一万峰2020年、多数の機関投資家が仮...

米国務省、ホワイトハットハッカーに最大1000万ドルの暗号通貨報奨金を提供

8月17日、米国は、ダークウェブ上で国家支援を受けた行為者や潜在的なテロリストを発見するホワイトハッ...

フォーブス:アメリカはビットコインを受け入れなければならない

アメリカは暗号化を採用しなければならないビットコインやより広範な暗号資産分野が米国で論争と討論の話題...