ASIC耐性と中央集権化:イーサリアムへのProgPowの導入
PoWによってブロックチェーンが生成される場合、PoWに使用されるハッシュ関数は非常に重要な要素となります。例えば同じアルゴリズムを採用するコインが複数あるとハッシュレートの綱引きが起こったり、ハッシュレートが小さいコインにおいて51%攻撃の可能性が増したりします。
今日は、急遽イーサリアムに導入予定となり物議を醸したProgPowに触れ、PoWにおけるASIC耐性についておさらいしたいと思います。
PROGPOW
イーサリアムは現在はEthashというアルゴリズムを使ってマイニングを行っています。これはビットコインなどにおけるシンプルなSHA-256とは異なり、メモリ負荷が高いアルゴリズムなので、すでにASIC耐性があると言われます。これを"Memory-hardness"といいます。
BTC用のASICは基本的には並列にハッシュ値を計算する大量の集積回路を積んでいるだけなので、無駄が少なく、電気効率がいいです。
一方、アルゴリズムにMemory-hardnessがあると、並列に処理をする場合はその分メモリ容量が必要になり、ASIC自体のコストが嵩み、GPUマイニングに対する優位性が失われる…という理論です。
ちなみに、Memory-hardnessがあっても、メモリが速いほうが処理速度は上がるので、基本的には汎用PCでのCPUマイニングではなく、大量のGPUと高速なメモリを積むグラフィックカードでのマイニングが行われます。(GPUマイニング)
しかし、ASIC耐性があると言われていたにもかかわらず、EthashのASICが2018年に登場し販売されています。汎用ハードウェアであるGPUより、無駄を省いたASICのほうが同じハッシュレートを安価に提供できることが理由です。
今回急遽導入されようとしているProgPowはそれを嫌った、より強いASIC耐性を持つEthashの発展版として提案されました。ProgPowでは複数種類のハッシュ値の求め方があり、計算方法のランダム性を高めることで、汎用ハードウェアであるGPUを有利にします。
「ASIC耐性化」の前例
最初からASIC耐性のある暗号通貨もありますが、多くはそうではありませんでした。しかし、時代とともに多様なASICが登場しだし、様々なコインにおいてアルゴリズムの変更によるASIC耐性化が多く議論されたのが2018年でした。
時期的にはフォークコインの流行と、フォークコインに対する51%攻撃の流行と重なります。「ASIC耐性を謳うフォークコインを作りたい!」という需要と、実際に51%攻撃耐性を求める需要によるものだったと思います。
基本的に、これらの反ASIC運動の動機は「ビットコインにおけるようなマイニングファームへのハッシュレートの集権化を防ぐ」という目的にあります。この効果の是非は後述しますので、まずは反ASICの立場を取った代表的なコインとしてモネロについて触れます。
モネロは2018年4月のフォークで元々使っていたCryptonightというアルゴリズムを改変し、「ASICの登場を妨げる」という意図でそれ以来半年ごとにマイニングアルゴリズムを変更するなどの定期的なハードフォークを行っています。半年ごとの変更がASICの採算性を防ぐほか、改変の内容自体にもMemory-hardnessとランダム性を高めて汎用的なハードウェアの優位性を高める効果があります。
しかし、フォークコイン全盛期だった2018年はこれらのハードフォークの際に多くのモネロのフォークが誕生しました。ハッシュレートの半分ほどのマイナーが移動した「モネロ・クラッシック」などです。定期的なハードフォークのたびに半分かそれ以上のハッシュレートを失ってきたので、モネロのハッシュレートは伸び悩んでいました。
ちなみに初回の減少はASICの退場によるものも含むかもしれませんが、それ以降はウイルスなどによってインストールされたマイニングソフトの更新ができず、ハードフォークに対応できなかったことによる影響の可能性が高いです。無価値なフォークコインを掘り続けるマイニングウイルス…。
2019年12月にはRandomXというアルゴリズムへの変更でASICのみならずGPUも不利・CPUは大幅有利の改変を加えると、ハッシュレートがおよそ4倍に伸びました。これはウイルスなどによってCPUマイニングされている割合の多いモネロならではの現象と思われます。
ASICはダメなのか
では、根本的にASICはマイニングを中央集権化させてしまっているのでしょうか。
ASICの「大規模で運用したほうがコストが下がる」という性質が中央集権化を促すというのが一番主流な批判で、ビットコインの場合は主にコスト面やASICの調達面からハッシュレートの約6割が中国にあると言われています。ただし、これは市場が地理的リスクを含め評価してこうなっているという意見もあると思います。(例えば中国がマイニングへの圧力を強化するなどしてリスクが見直されれば、他国への分散が進むでしょう。)
市場からハッシュレートを調達しての51%攻撃という側面から見た場合も、汎用的なハードウェアを調達するほうが簡単かつ費用対効果が高いので、51%攻撃のコストが下がると考えることができます。例えばGPUが一番有効なマイニングアルゴリズムであれば、世界中の家庭やデータセンターに存在するGPUを使って攻撃することができますが、ASICが一番有効であればハッシュレートの調達コストが跳ね上がります。(大半を専門業者が所有し使用しているASICをウイルスで乗っ取ったり買い集めたりするほうが困難とされる)
また、アルゴリズムを改変したところで、十分な時間が経過すれば汎用ハードウェアより効率的なASICが誕生してしまうことも明白です。ASICを追放してハッシュレートが下がったところに新たなASICが登場し、より危険になる可能性もあります。
さらに、モネロのフォーク時のハッシュレートの変動から明らかなように、アルゴリズムの改変周りに利害関係が発生します。改変プロセスの透明性や妥当性が問われますが、こうなるとブロックチェーンというよりは政治の世界です。
したがって、むしろASIC対策がその暗号通貨を中央集権化させる可能性が高いと個人的には思います。
PROGPOWがなぜ揉めているのか
1.そもそもPoS化が一番のASIC対策になっているイーサリアムの場合は、PoS化に近づいている(スケジュールは不透明ですが)こと自体がASICへの投資を渋らせる効果があります。それにも関わらず、わざわざハードフォークを引き起こす可能性のあるマイニングアルゴリズムの変更を行おうとしていることが反発を呼んでいます。
また、PoS化が中央集権化につながるのになぜASIC耐性にこだわるのかという皮肉な疑問もあります。
2.いずれASICが登場するこちらも前述したとおり、ASIC対策のためのアルゴリズム変更は継続的に行う必要があり、ネットワーク自体にとってリスクやコストが大きいです。頻繁なハードフォークに対応しないといけないままの普及は不可能だと思います。
3.コミュニティの声を聞かずに導入を決定しようとしている「ProgPowは導入されない」というふうに決着したはずだったのが、突然一部の開発者の間だけで導入日程まで決定されてしまったことへの反発があるようです。プロセスの適切性の問題です。
4.マイニング市場への介入は際限ない中央集権化を促す?個人的には前述のとおり、マイニング市場への介入は政治的プロセスを生み、特定の開発者やマイナーへの権力の集権化につながりかねないと思います。ASIC耐性を維持するために改変を継続する必要があるので、一度介入しだしたらやめるのは困難でしょう。
おわりに
PoWコインのASIC耐性化はアルゴリズムの変更を伴うのでハードフォークが必要になり、そのプロセスによって中央集権化が進んでしまうほか、ASICを追放した結果として逆に51%攻撃に対して脆弱となる可能性をはらんでいます。今回イーサリアムで揉めているProgPowに関しても、特に採用プロセスが問題視されていますが、その効果やPoS化との主張の一貫性に関しても疑いの余地があります。
私はASICの存在より、利害が対立するハードフォークを行うことのほうが中央集権化につながりやすいと感じますが、皆さんはいかがでしょうか。
次の記事
読者になる
一緒に新しい世界を探求していきましょう。
ディスカッション