ビットコインの量子耐性を理解するには?脅威と対策

量子コンピュータの研究が進むなかで、ビットコインの秘密鍵も解読されるのではないかと不安に感じる人もいるでしょう。
現在のビットコインは、将来想定される十分に高性能な量子コンピュータに対して、完全な量子耐性を備えているわけではありません。
特に影響が懸念されるのは、送金権限の証明に使われる電子署名です。
ただし、量子コンピュータが登場した瞬間にブロックチェーン全体が消えたり、すべてのコインが直ちに失われたりするわけではありません。
リスクは、量子コンピュータの実際の性能、公開鍵が見える状態、利用している出力形式、ネットワークの移行状況によって異なります。
本記事では、電子署名とハッシュ関数の違い、公開鍵露出によるリスク、耐量子化の方法と課題を順番に解説します。
ビットコインの量子耐性とは

量子耐性は量子攻撃に耐える性質
量子耐性とは、量子コンピュータを使った攻撃に対しても、情報や資産の安全性を維持できる性質を指します。
量子コンピュータは、すべての計算を一律に高速化する装置ではありません。
しかし、現在広く利用されている一部の公開鍵暗号については、従来型のコンピュータとは異なる計算方法によって安全性を低下させる可能性があります。
そのため、量子計算でも現実的な時間内に破りにくい暗号方式は、耐量子暗号またはポスト量子暗号と呼ばれます。
現在のビットコインは完全な量子耐性を備えていない
ビットコインの送金では、楕円曲線暗号を基礎とする電子署名が利用されています。
現在のコンピュータでは、公開鍵から秘密鍵を求めることは現実的に困難です。
一方、十分な性能と誤り訂正能力を持つ量子コンピュータが実現した場合、公開鍵から秘密鍵を導出できる可能性があります。
したがって、現在の方式を変更しなくても将来にわたって安全という意味での完全な量子耐性はありません。
ただし、実際にビットコインの鍵を短時間で破れる量子コンピュータが一般利用できる状態にあると断定することもできません。
量子コンピュータが影響を与える暗号技術

電子署名は秘密鍵の所有を証明する仕組み
ビットコインでは、秘密鍵を使って電子署名を作成し、対応する公開鍵によって署名を検証します。
秘密鍵そのものを公開せず、正当な所有者が送金を承認したことを証明できる点が電子署名の役割です。
攻撃者が公開鍵から秘密鍵を求められるようになると、本来の所有者になりすまして署名を作るおそれがあります。
量子耐性の議論で中心になるのは、ブロックの記録そのものより、コインを動かす署名権限を奪われる問題です。
楕円曲線暗号は量子計算の影響を受ける可能性がある
楕円曲線暗号の安全性は、公開鍵から秘密鍵を逆算する問題が非常に難しいことを前提としています。
量子計算向けの特定のアルゴリズムは、この種の数学問題を従来より効率的に解ける可能性があります。
必要な量子ビット数、誤り訂正、計算時間などには大きな技術的条件があるため、現在の研究成果だけから攻撃時期を断定することはできません。
それでも、長期的な安全性を考えるうえでは、電子署名の置き換えや移行準備が必要なテーマになります。
SHA-256への影響は電子署名と異なる
ビットコインでは、電子署名とは別にハッシュ関数も利用されています。
ハッシュ関数は、入力データから一定の長さの値を作る仕組みで、ブロックの識別やマイニング、アドレス生成の一部に使われます。
量子計算によって探索が高速化される可能性はありますが、公開鍵暗号と同じ方法で直ちに無効になるわけではありません。
電子署名とハッシュ関数をまとめて「量子コンピュータで破られる」と説明すると、リスクの違いが見えにくくなります。
公開鍵の状態によって異なる量子攻撃のリスク

公開鍵が長期間見えているコイン
ブロックチェーン上に公開鍵がすでに記録されている場合、攻撃者に長い時間をかけて解析を試みる猶予を与えてしまいます。
古い出力形式や、過去に使用したアドレスで再び受け取ったコインなどでは、公開鍵が長期間見える状態になることがあります。
十分な能力を持つ量子コンピュータが登場した場合、このようなコインは長時間露出型の攻撃を受けやすいと考えられます。
送金時に初めて公開鍵が見えるコイン
公開鍵ハッシュを利用する形式では、未使用の間は公開鍵そのものではなく、公開鍵から作った値が記録されています。
送金時に署名と公開鍵がネットワークへ公開されるため、攻撃者が秘密鍵を求めるには、正規の取引が承認されるまでの比較的短い時間に計算を完了する必要があります。
この状態は長期間公開されている場合より攻撃条件が厳しいものの、非常に高速な量子攻撃が可能になれば別の対策が必要です。
アドレスの再利用を避ける意味
同じ受取アドレスを繰り返し使わないことは、プライバシーだけでなく、公開鍵の露出時間を短くする観点からも意味があります。
多くのウォレットは、取引ごとに新しい受取アドレスやおつり用アドレスを生成します。
ただし、アドレスを再利用しなければ完全な量子耐性が得られるわけではありません。
利用しているアドレス形式によって公開鍵の見え方が異なるため、単純に新しいアドレスなら安全と断定しないことが大切です。
ビットコインを量子耐性化する方法

耐量子署名を検証できる仕組みを追加する
本格的な量子耐性化には、量子計算でも秘密鍵を導出しにくい電子署名を利用できる仕組みが必要です。
耐量子署名には、格子問題やハッシュ関数などを基礎とする方式があります。
ビットコインへ導入する場合は、暗号強度だけでなく、署名サイズ、検証時間、手数料、ノード負荷、既存スクリプトとの互換性も考慮しなければなりません。
一般的な標準が存在しても、それをそのままビットコインへ追加できるとは限りません。
量子攻撃に弱い支払い経路を制限する
一部の支払い方式には、公開鍵による鍵経路と、条件を記述したスクリプト経路があります。
量子攻撃によって公開鍵から秘密鍵を求められると、攻撃者が本来予定された条件を回避して鍵経路からコインを動かすおそれがあります。
このため、鍵経路を使わず、量子耐性を持つ署名を将来追加できる経路を残す出力形式が提案されています。
ただし、提案が公開されていることと、ネットワークへ導入済みであることは同じではありません。
既存のコインを新しい方式へ移行する
新しい耐量子アドレスや署名方式が追加されても、既存のアドレスにあるコインが自動的に安全になるわけではありません。
利用者が現在の署名方式を使える間に、新しい耐量子出力へコインを移す方法が考えられます。
しかし、長期間動いていないコインや秘密鍵を紛失したコインをどう扱うかは難しい問題です。
古い署名を認め続ければ量子攻撃による盗難の可能性が残り、無効化すれば移行していない正当な所有者も使えなくなるおそれがあります。
耐量子化で解決する必要がある課題

耐量子署名はデータ量が大きくなりやすい
耐量子署名の方式によっては、現在の署名より公開鍵や署名のサイズが大きくなります。
取引データが増えると、同じブロックへ記録できる取引数、手数料、保存容量、通信量、検証時間に影響します。
暗号強度が高くても、ネットワーク全体の運用負荷が過度に大きければ実用化しにくくなります。
ビットコイン向けの方式では、安全性と効率の両方を評価する必要があります。
既存コインの扱いには合意形成が必要
ビットコインのルールは、ひとつの管理者が単独で変更するものではありません。
新しい方式を導入するには、開発者、ノード運用者、ウォレット提供者、採掘参加者、利用者などの採用が必要です。
特に、古い署名方式をいつ制限するかは、技術だけで決められません。
量子攻撃で作られた署名と、正当な所有者が作った署名を、検証結果だけで区別できない可能性があるためです。
移行時期を正確に決めることは難しい
早すぎる移行は、データ量や検証負荷を長期間増やす可能性があります。
遅すぎる移行は、利用者が安全な出力へ移す時間を確保できない可能性があります。
量子コンピュータの性能がすべて公開されるとも限らないため、危険が見えてから準備を始めるのでは間に合わない場合があります。
このため、研究動向を確認しながら、段階的に選択肢と移行手段を用意する考え方が重要です。
利用者が現時点で確認したいこと

同じ受取アドレスを繰り返し使わない
現在できる基本的な対応は、ウォレットが新しい受取アドレスとおつり用アドレスを生成する仕組みを適切に使うことです。
アドレスの再利用を避ければ、取引履歴を関連付けられにくくなり、公開鍵の長期露出を避けられる場合があります。
ただし、これは将来の耐量子署名への移行に代わるものではありません。
秘密鍵や復元用情報を適切に管理する
量子コンピュータの将来リスクより前に、秘密鍵の紛失、復元情報の流出、偽のウォレットによる被害など、現在存在するリスクへの対策が必要です。
復元用情報をオンラインへ不用意に保存したり、第三者へ送信したりしないようにしましょう。
量子耐性をうたう非公式なツールへ秘密鍵を入力しても、ビットコインのネットワークルールが対応していなければ量子耐性が得られるとは限りません。
複数の情報源で導入状況を確認する
量子対策に関する提案や研究は継続して更新されます。
提案番号が付いていても、ネットワークで有効化されたことを意味するわけではありません。
提案段階、実装試験、採用議論、実際の有効化を区別して確認することが重要です。
ひとつの記事だけで判断せず、複数の一次情報を確認しましょう。
まとめ|ビットコインの量子耐性は移行方法も含めて考える

現在のビットコインは、将来想定される十分に高性能な量子コンピュータに対して、完全な量子耐性を備えているわけではありません。
特に影響が懸念されるのは、楕円曲線暗号を使った電子署名です。
一方、ハッシュ関数への影響は電子署名と同じではなく、分けて考える必要があります。
公開鍵が長期間見えているコインと、送金時に初めて公開鍵が見えるコインでも攻撃条件が異なります。
量子耐性化には、新しい署名方式の追加だけでなく、古い支払い経路の制限、既存コインの移行、ネットワーク全体の合意形成が必要です。
利用者は、アドレスの再利用を避け、秘密鍵を適切に管理しながら、提案段階と導入済みを区別して情報を確認することが大切です。












