(アイキャッチ画像引用元:ジェンスン・フアン (Wikipedia))
こんにちは!
弐号です。
仮想通貨は歴史的にうなぎのぼりに上昇していますが、無限に上昇すると言えるのでしょうか?
答えから言うと、「no」です。
なぜならば、仮想通貨の価格があまりにも上昇してしまうと、秘密鍵を総当りして資産を奪取するインセンティブが発生してしまうからです。
そこで本記事では仮想通貨の時価総額の理論的な上限額を計算してみたいと思います。
目次
仮想通貨が暴騰した際の攻撃シナリオ
冒頭で述べたような状況となると、具体的には以下のような事態が発生してしまいます。
- GPU等を大量に購入、またはクラウドサービスなどで借り入れる
- 秘密鍵を総当りして、すべてのアドレスの秘密鍵を解析する
- 解析できた秘密鍵から資産を奪い、売却する
現状では(幸運にも)この攻撃コスト(具体的には、計算を行うための電気代と、GPU等の費用)に見合わないため、このような攻撃をする人は発生しませんが、仮想通貨の価格があまりにも「上がりすぎてしまう」と、この攻撃が成立してしまいます。
また、GPUの性能上昇はAIブームの到来もあり目覚ましく、計算性能の向上により攻撃コスト自体がどんどん下がっている状況ですので、理論的にはいつか奪える資産に対して攻撃コストが下回り、この攻撃シナリオが成立してしまう可能性があります。
尤も、攻撃を行うためには国家予算レベルの資金と発電能力が必要になりますので、簡単にできるわけではないものの、「ヤンチャな」東側諸国などが協力して攻撃するというシナリオも十分想定できます。
時価総額について
秘密鍵の総当りによって盗めるアセットは、ネイティブトークンだけでなく、チェーン上で発行されているすべてのトークンが対象となりますので、ネイティブトークンの時価総額だけではなく、ロックされている資産(TVL)も合わせた金額が攻撃により奪える金額となります。
例えば、Ethereumでは執筆時点(2024年9月30日)で $ETH の時価総額は約$316B ですが、DefiLlamaのデータ によると $49B のTVLがありますので、これを足した $365B が攻撃対象となります。
さて、前置きはこのくらいにしておいて、現在の計算能力ベースで具体的にいくらぐらいのコストで攻撃が可能なのかを計算してみましょう。
攻撃コストの計算
GPUのベンチマーク結果
手元にあるGPUを実際に動かしてみた結果は以下のとおりです。
- GPU:NVIDIA GeForce RTX 3080 Ti
- 解析速度:毎秒480,000,000個
- 消費電力:350W
- 参考価格:135,000円(950ドル = 1ドル142円換算)
最新モデルからひと世代前のモデルではありますが、性能的にはせいぜい数十%程度の違いでしょうから、こちらのGPUをもとに計算をしていきます。
解析すべき秘密鍵の総数
多くのブロックチェーンでは256ビットの暗号強度の電子署名を用いていますが、Bitcoin(Taprootを除く)やEthereumなどでは公開鍵を160ビットのハッシュ関数に通したものをアドレスとして採用していますので、実質的な暗号強度は160ビットと考えていいでしょう。
そうすると、考えられるアドレスの総数は
2^{160} = 1.46 \times 10^{48} \text{通り}
となります。
必要な計算リソース
上記の結果をもとに、GPU一台だけを用いてどのくらいの期間の計算が必要なのか計算してみましょう。
なお、GPUを増やすことで理論的にはいくらでも期間を短縮することができますので、実際に攻撃する場合には大量のGPUを用いて並列処理をすることになると思います。
しかしながら、攻撃コストの計算においてはGPUを何台並べるのかはあまり関係がありません(実時間だけに影響する)ので、計算を簡単にするためGPU一台で解析するものと仮定して計算をしていきます。
一年間で解析可能な秘密鍵の総数は
4.8 \times 10^8 \text{個} \times 60 \text{秒} \times 60 \text{分} \times 24 \text{時間} \times 365 \text{日} = 1.51 \times 10^{16} 個 / 年
となります。
したがって、必要な計算時間は
2^{160} / (1.51 \times 10^{16}) = 9.68 \times 10^{31} 年
となります。
攻撃コスト
攻撃に必要なコストは大きく分けて「①計算を行うための電気代」と「②GPUを調達するためのコスト」の二つであると考えていいでしょう。
それぞれどのくらいのコストが必要なのかを見ていきます。
電気代
小売の電気代と比べると、発電所を直接所有するなどして発電すればコストはかなり抑えられます(そもそもそういう規模での攻撃になります)ので、発電所を運営するのにどのくらいのコストが必要なのかを見ればいいでしょう。
これには Levelized Cost of Electricity (LCOE) という指標があり、Wikipediaの記事によると、太陽光パネルを用いれば0.05ドル/kWh程度となるようです。
自然エネルギーとなりますので夜間は発電できませんが、昼間だけ稼働させればいいので、これをベースにして計算します。
そうするとGPU一台を一年間回し続けるために必要な電気代は
\$0.05 \text{/kWh} \times 0.45 \text{kW} \times 24 \text{時間} \times 365 \text{日} = \$197/年
となります。
GPU代
GPUについてはクラウドサービスなどでレンタルすると高いので基本的には自前で大量に購入して持つことになると思います。
GPUの寿命は一般的には5年程度ですが、一年中動かし続けると劣化が激しく2〜3年程度しか持たないのが筆者の経験(Ethereumのマイニングをしていました)です。
最も多い故障原因はファンの軸受の劣化で、ファンがものすごい音を出してから数ヶ月で止まってしまい使えなくなることが多かったのですが、ファンについては換装ができますので、平均的には3年くらいは保つと仮定していいでしょう。
そうすると、年間の償却費は
\$950 / 3 \text{年} = \$317
となります。
合計額
以上により、GPU一台を一年間運用するために必要な費用は
\$197/年 + \$317/年 = \$514/年
と試算できます。
総当りに必要な総費用
以上により、秘密鍵を総当りするのに必要な(現時点での)費用は
9.68 \times 10^{31} 年 \times \$514 = \$4.98 \times 10^{34} = \$498 溝
となり、これが仮想通貨の時価総額の上限値となります(※溝 = 10^{32}
)。
……途方もない数字ですね。
執筆時点(2024年9月30日)の仮想通貨全体の時価総額は $2.27T ですので、2.19 \times 10^{22}
倍の開きがあります。
この結果から、途方もない仮想通貨の暴騰や計算能力の向上がなければ(総当たり攻撃に対する)安全性は問題ないと考えられるでしょう。
ちなみに世界で最も時価総額の大きなアセットはゴールドなのですが、執筆時点(2024年9月30日)で18兆ドル程度です。
宇宙人の襲来
さて、ここまでで計算した結果は、現在の人類の技術力をベースにした試算となります。
しかしながら、人類を遥かに凌駕したテクノロジーを持った宇宙人が地球に襲来した場合にはその限りではありません。
Landauer限界
計算に必要な電気量は Moore(ムーア)の法則に従って指数関数的に向上していますが、これは無限に続くのでしょうか?
答えから言うと、「no」です。
計算の前後で情報の消去を伴わない、可逆な計算モデル(例:ビリヤードボール・コンピュータ)などでは原理的にはエネルギーゼロで計算を行うことができるのですが、計算を行う場合には途中で利用したメモリを消去する必要があり、この「情報を消去する」という行為については、環境に対してエントロピー、すなわち熱エネルギーを放出する必要があります(Landauer(ランダウアー)の原理)。
これは現時点で知られている最も原始的な計算能力の理論的な上限値であり、いかなる宇宙人であってもこの限界(Landauer限界)を超えることはできないというのが熱力学による結論です。
したがって、最も高度なテクノロジーを持った宇宙人はLandauer限界ギリギリの性能の計算能力を持っている可能性があります。
Wikipediaの記事によると、現在のコンピュータの性能はLandauer限界の10億分の1程度の効率となっているそうなので、宇宙人は10億倍の効率で計算できる可能性があります。
核融合炉
現在も研究が続いている核融合発電ですが、核融合発電では地球上にほぼ無限に存在するトリチウム(三重水素)が燃料の候補となっています。
まだ実用化されていないのでなんとも言えませんが、核融合発電などを利用すれば発電に必要なコストは大幅に削減できるかもしれません。
そうでなくとも、人間の脳のように電気エネルギー以外を燃料として、必要な燃料のコストを極限まで抑えるテクノロジーが存在する可能性は否定できません。
Landauer限界に達するテクノロジーを持ち、計算に必要なエネルギーが10億分の1だとすると、エネルギー効率が 2.19 \times 10^{19}
倍改善すれば宇宙人にとっては仮想通貨は攻撃可能なものとなります。
量子コンピュータ
現在も研究が続けられている量子コンピュータですが、楽観的な予想によると今後10年程度で実用的な量子コンピュータが開発されるという見方もあり、耐量子暗号 (Post Quantum Cryptography; PQC) の標準化や研究が進んでいます。
量子コンピュータを用いると、楕円曲線の逆計算はできてしまいますので、公開鍵さえわかれば秘密鍵は簡単に導けてしまいます。
残念ながらハッシュ関数の逆解きはできなさそう(?)なので、トランザクションを送ったことがないアドレスは無事になりそうですが、一度でもトランザクションを発行したことがあるアドレスは公開鍵がブロックチェーンに記録されていますので、量子コンピュータが完成した暁には秘密鍵が導かれてしまうことになります。
そのため、ブロックチェーン業界でも量子コンピュータ技術の進展に合わせて耐量子暗号への切り替えが急務となっていく可能性が高いですが、まだNISTによる標準化もずっとコンペをやっていて、今年の8月にファイナリストが決まったという段階なので、PQCへの移行にはまだまだ時間がかかりそうです。
PQCはいずれのアルゴリズムも公開鍵長ないし署名長がECCと比べると非常に長く、データ容量にシビアなブロックチェーンとは極めて相性が悪いです。
そもそも、現在有力候補として上がっているPQCアルゴリズムも、本当に量子コンピュータを用いても解けないかについては証明できていない(尤も、RSAやECCなどが古典コンピュータで解けないことも証明できていませんが……)ので、宇宙人であれば量子コンピュータで解けてしまうかもしれませんね。
まとめ
- 仮想通貨の時価総額については、総当り攻撃による攻撃コストによる上限値が存在し、それ以上価格が上昇すると資産がすべて奪われてしまう
- ただし、現状での攻撃コストは成果に遥かに見合わず、全く現実的ではない
- 人類を遥かに超越したテクノロジーを持った宇宙人が襲来した場合にはその限りではない