量子コンピュータでビットコインのブロックチェーンを破壊できるものは、現在存在しません。しかし開発者は、潜在的な脅威に対する防御を構築するための一連のアップグレードの波について、すでに検討を始めていますし、それは当然です。というのも、その脅威はもはや仮説上のものではないからです。
今週、Googleは、十分に強力な量子コンピュータなら、ビットコインの中核となる暗号を9分未満で解読できる可能性があるという研究を公開しました。これは、ビットコインの平均的なブロック決済時間より1分速いことになります。こうした脅威が2029年までに現実になり得ると考えるアナリストもいます。
賭け金は大きいです。量子コンピュータが直接狙える可能性のあるアドレスには、時価にして数百億ドルに相当する約650万ビットコイン・トークンが保管されています。そのうちには、ビットコインの匿名の創始者サトシ・ナカモトのコインが含まれているものもあります。さらに、潜在的な侵害はビットコインの中核原則を損ないます――「コードを信頼する」と「健全なマネー(sound money)」です。
以下は、その脅威がどのようなものか、そしてそれを軽減するために検討されている提案です。
まずは提案を議論する前に、脆弱性を理解しましょう。
ビットコインのセキュリティは、一方向の数学的な関係に基づいています。ウォレットを作成すると、秘密鍵と秘密の数値が生成され、それから公開鍵が導出されます。
ビットコイン・トークンを支払うには、秘密鍵を開示するのではなく、その秘密鍵を使って暗号署名を生成し、それをネットワークが検証できるようにすることで所有を証明する必要があります。
この仕組みは万全です。なぜなら、現代のコンピュータが楕円曲線暗号――具体的には楕円曲線デジタル署名アルゴリズム(ECDSA)――を破って公開鍵から秘密鍵を逆算するには、数十億年かかるからです。したがって、ブロックチェーンは計算上、侵害不可能だと言われています。
しかし将来の量子コンピュータは、この一方向の道を、公開鍵から秘密鍵を導き出し、コインを吸い上げるという二方向の道に変えてしまう可能性があります。
公開鍵は2つの方法で露出します。オンチェーン上で動かない状態にあるコイン(ロング・エクスポージャー攻撃)か、動いているコイン、あるいはメモリプールで待機している取引(ショート・エクスポージャー攻撃)です。
公開鍵(P2PK)アドレス(サトシや初期のマイナーが使用)と、2021年に有効化された現在のアドレス形式であるタップルート(P2TR)は、ロング・エクスポージャー攻撃に対して脆弱です。これらのアドレスにあるコインは公開鍵を明らかにするために移動する必要はありません。露出はすでに起きており、将来の量子攻撃者を含め、地球上の誰にでも読める状態です。およそ170万BTCが古いP2PKアドレスにあり、その中にはサトシのコインも含まれています。
ショート・エクスポージャーはメモリプール――未確認取引の待合室――に結びついています。取引がブロックに組み込まれるのを待っている間、あなたの公開鍵と署名はネットワーク全体に見えています。
量子コンピュータはそのデータにアクセスできますが、猶予はわずかです――取引が確認され、追加のブロックの下に埋もれるまでの短い時間の間に、対応する秘密鍵を導き出してそれに基づいて行動する必要があります。
先ほど述べたように、今日のタップルートを使って作成される新しいビットコイン・アドレスはすべて、公開鍵をオンチェーンに恒久的に露出させ、将来の量子コンピュータにとって立ち消えない標的を与えてしまいます。
ビットコイン改善提案(BIP)360は、オンチェーン上に恒久的に埋め込まれ、誰にでも見える公開鍵を削除します。そのために、Pay-to-Merkle-Root(P2MR)と呼ばれる新しいアウトプット・タイプを導入します。
量子コンピュータは公開鍵を研究し、秘密鍵の正確な形を逆算して、動作する複製を偽造します。公開鍵を取り除けば、攻撃側が頼れるものがなくなります。一方で、ライトニング決済、マルチシグのセットアップ、その他のビットコイン機能など、他のすべては同じままです。
ただし、実装された場合、この提案が保護するのは今後の新しいコインのみです。すでに露出している古いアドレスに存在する170万BTCは別問題で、以下の他の提案によって対処されます。
SPHINCS+は、ビットコインで使われている楕円曲線暗号が直面する量子リスクを回避し、ハッシュ関数に基づいて構築されたポスト量子署名方式です。ショアのアルゴリズムはECDSAを脅かしますが、SPHINCS+のようなハッシュベースの設計は、同様の脆弱性はないと見なされています。
この方式は、長年にわたる公開レビューの後、2024年8月に米国国立標準技術研究所(NIST)によってFIPS 205(SLH-DSA)として標準化されました。
セキュリティの代償はサイズです。現在のビットコイン署名が64バイトであるのに対し、SLH-DSAは8キロバイト(KB)以上のサイズです。そのため、SLH-DSAを採用すると、ブロック空間の需要が大きく増え、取引手数料も引き上げられます。
その結果、SHRIMPS(もう一つのハッシュベースのポスト量子署名方式)やSHRINCSのような提案が、ポスト量子セキュリティを損なわずに署名サイズを縮小するためにすでに導入されています。これらはいずれもSHPINCS+を基盤にしつつ、ブロックチェーン利用に適した、より実用的で省スペースな形でそのセキュリティ保証を維持しようとしています。
この提案は、ライトニングネットワークの共同創始者であるTadge Dryjaが示したソフトフォークであり、将来の量子攻撃者からメモリプール内の取引を保護することを目的としています。その方法は、取引の実行を2つのフェーズに分離することです。コミットとリビールです。
たとえば、相手に「あなたにメールを送る」と伝え、その後実際にメールを送ることを想像してください。前者がコミットフェーズで、後者がリビールです。
ブロックチェーン上では、これはまず「意図の封印された指紋」を公開することを意味します――単なるハッシュであり、取引について何も明らかにしません。ブロックチェーンはその指紋にタイムスタンプを恒久的に刻みます。次に、実際の取引をブロードキャストすると、あなたの公開鍵が可視化されます――そしてはい、ネットワークを監視している量子コンピュータは、それからあなたの秘密鍵を導き出し、あなたの資金を盗むための競合取引を偽造できてしまいます。
しかし、その偽造取引は即座に拒否されます。ネットワークは確認します――この支払いはオンチェーンに登録された事前コミットを参照していますか?あなたのものは参照しています。攻撃者のものはしません。彼らはほんの数瞬前にそれを作っただけだからです。あなたが事前登録した指紋があなたのアリバイです。
ただし問題は、取引が2つのフェーズに分割されることでコストが増えることです。そこでこれは、コミュニティが量子防御を構築する作業を進める間、暫定的なブリッジとして運用可能な現実的な策だと説明されています。
開発者Hunter Beastが提案したHourglass V2は、すでに露出している古いアドレスに保有されているおよそ170万BTCに紐づく量子脆弱性を対象とします。
この提案は、これらのコインが将来の量子攻撃で盗まれ得ることを認めた上で、販売を1ブロックあたり1ビットコインに制限し、(市場を壊滅させ得る)壊滅的な一夜での大量清算を避けることで、出血を遅らせようとします。
たとえ話は銀行取り付け(バンクラン)です。人々が現金を引き出すことを止めることはできませんが、引き出しのペースを制限して、システムが一夜で崩壊しないようにすることはできます。この提案は物議を醸しています。たとえこの制限が限定的であっても、ビットコイン・コミュニティの一部では、あなたのコインを支払う権利に対して、外部の誰かが干渉することは決してないという原則への違反だと見なされているからです。
これらの提案はまだ有効化されていません。また、ビットコインの分散型ガバナンスは、開発者、マイナー、ノード運営者にまたがっているため、どのアップグレードも実体化するまでには時間がかかる可能性が高いです。
それでも、今週のGoogleのレポートに先行して提出されてきた提案が着実に流れていることから、この問題は長い間開発者の監視領域にあったのではないか、という見方ができ、市場の懸念を和らげる助けになるかもしれません。