Google Quantum AIが、ビットコインで使われる楕円曲線暗号を量子コンピュータで攻撃する場合、公開鍵の露出後に秘密鍵を最短9分で解読できる可能性があるとの試算を論文で示した。CoinDeskが4月18日に報じた。
論文では、ビットコインが採用する楕円曲線「secp256k1」を対象に、2種類の量子回路を設計した。1つは約1200個の論理量子ビットと9000万個のトポリゲート、もう1つは約1450個の論理量子ビットと7000万個のトポリゲートを必要とするという。必要な物理量子ビット数は50万未満と見積もられ、従来の数百万個規模の推定から約20分の1に縮小した。
今回の試算のポイントは、攻撃準備時間を大きく短縮できるとした点にある。すべてのビットコインウォレットに共通する楕円曲線の固定パラメータ計算は事前に済ませられるため、量子コンピュータは計算工程の約半分を終えた状態で待機できる。標的の公開鍵がメモリプールに現れる、あるいはブロックチェーン上ですでに露出していれば、残る計算だけで済む。Googleはこの後半部分の処理時間を約9分と試算した。
ビットコインの平均ブロック生成間隔は約10分だ。利用者が取引をブロードキャストして公開鍵がメモリプールに現れた場合、攻撃者はその間に秘密鍵を特定し、資金を別アドレスへ移す競合取引を送信できる。この場合、元の取引より先に承認される確率は約41%とされた。
より大きなリスクがあるのは、公開鍵がすでにブロックチェーン上に記録されているウォレットだ。こうしたウォレットには約690万BTCが保管されており、総供給量の約3分の1を占める。このケースでは、時間との競争がなくても攻撃が可能になるという。
CoinDeskによると、Taproot以降に移動したビットコインは公開鍵がすでに見えている。一方、従来のアドレスにあるコインは支出時まで公開鍵が隠されるものの、いったん送金すると約9分の時間的な猶予が生じるとしている。