ビットコインの量子コンピュータ対策に全体像、BIP-360やSHRINCSなど開発進む

CRQC登場前の対策案にBIP-360とSHRINCS

イーサリアム(Ethereum)やビットコイン(Bitcoin)のプロトコル開発動向を取材するクリスティン・D・キム(Christine D. Kim)氏が、ビットコインの将来的な量子コンピュータへの対策について、複数の技術提案を組み合わせた全体像を示した。自身のニュースレター「BTCビフォア・ライト(BTC Before Light)」で9月8日に記事を公開し、9月15日に自身のXで紹介した。

キム氏は、量子コンピュータによる脅威が現実化する前の対策として、ビットコイン改善提案(Bitcoin Improvement Proposal:BIP)の「BIP-360」と耐量子署名方式「シュリンクス(SHRINCS)」を取り上げている。また、脅威が現実化した後の資産救済策としては、「ライフボート(Lifeboat)」と「ドロップキック(DropKick)」を挙げた。

これらは単一のロードマップとして策定されたものではなく、それぞれ異なる開発者らが研究や提案を進めている。

ビットコインでは、秘密鍵を使った電子署名によってBTCを使用する権限を証明する。現在のコンピュータでは公開鍵から秘密鍵を求めることは現実的に困難だが、この前提を崩す可能性があるのが「暗号学的に関連する量子コンピュータ(Cryptographically Relevant Quantum Computers:CRQC)」だ。CRQCが実現した場合、公開鍵から秘密鍵を導出し、第三者がBTCを不正に使用できる可能性が指摘されている。

このため、量子攻撃への対策の1つとなるのが、公開鍵をできるだけ露出させないことだ。

BIP-360では、ソフトフォークによって新たなアウトプットタイプ「ペイ・トゥ・マークル・ルート(Pay-to-Merkle-Root:P2MR)」をビットコインに導入する。P2MRでは、ユーザーがBTCを使用するまで公開鍵を隠せるほか、複数の支払い経路を設定できる。そのうちの1つでは、理論上、公開鍵を明らかにせずにBTCを使用できる。またP2MRは特定の暗号方式に依存しない設計となっており、将来的にビットコインへ耐量子署名が追加された場合にも対応できるとのことだ。

ただしBIP-360だけでは、量子コンピュータによるすべての攻撃に対応できない。P2MRはBTCが使用されるまで公開鍵を隠すため、公開鍵が長期間露出することによる攻撃への対策となる。一方、BTCを使用する際に公開鍵が明らかになれば、トランザクションがブロックに取り込まれるまでの短時間にCRQCで秘密鍵を導出される可能性が残る。この問題への対策には、量子コンピュータによる攻撃に耐えられる署名方式が必要になる。

こうした耐量子署名として、ブロックストリーム(Blockstream)の研究者らが開発しているのがSHRINCSだ。SHRINCSは「シュランケン・スフィンクス(Shrunken SPHINCS)」の略称で、ビットコインがマイニングですでに利用するハッシュ関数「SHA-256」を使用する。ビットコインが現在依存しているもの以外に、新たな数学的仮定を導入しないハッシュベースの署名方式となっている。

キム氏は、BIP-360とSHRINCS、さらにSHRINCS署名を検証するオペコードを組み合わせることで、CRQCの存在が確認される前からBTCを量子攻撃から保護できる可能性があると説明している。BIP-360は公開鍵の長時間の露出を避ける役割を持つ。一方、SHRINCSはBTCを使用する際の署名を耐量子化する。これらは後方互換性を維持するアップグレードやソフトフォークを通じ、ユーザーが任意で利用できる機能としての導入が想定されている。

CRQC登場後の資産救済にLifeBoatとDropkick

一方、CRQCが登場するまでに耐量子性を持つアドレスへBTCを移さなかったユーザーには別の問題が生じる。従来のアドレスからBTCを移動する際に公開鍵が明らかになると、CRQCを持つ攻撃者が秘密鍵を導出する可能性があるためだ。攻撃者がその秘密鍵を使ってユーザーより先にBTCを送金すれば、安全なアドレスへの移行前に資産を盗まれる可能性がある。

キム氏によると、この問題への対策として提案されているのが、ビットコイン研究者のタッジ・ドライジャ(Tadge Dryja)氏によるライフボートと、ビットコイン・コア(Bitcoin Core)コントリビューターのコンデュイション(conduition)氏によるドロップキックだ。

ただし、両提案ですべてのBTCを救済できるわけではない。正当な所有者だけが知る情報を利用し、量子攻撃者より前から対象BTCを管理していたことを証明できる場合などに対象が限られる。

両提案では「コミット・リビール」と呼ばれる仕組みを利用する。ユーザーは秘密情報そのものを公開する前に、その情報を知っていることを示す「コミットメント」をブロックチェーンに記録する。その後に情報を公開することで、CRQCを使って後から秘密鍵を取得した攻撃者より前から、対象アドレスに関する情報を知っていたことを証明する。

ライフボートとドロップキックでは、オンチェーンに記録するコミットメントの順序や手数料の扱いなどが異なる。ライフボートでは、CRQCの存在をオンチェーンで証明し、その証明を契機としてあらかじめ導入したソフトフォークの規則を自動的に有効化する仕組みも提案されている。一方、ドロップキックの有効化方法については現時点で決まっていない。

SHRINCSの安全性検証や署名サイズなど課題も

BIP-360とSHRINCSはCRQC登場前の予防策、ライフボートまたはドロップキックはCRQC登場後の救済策として組み合わせられる可能性がある。ただし、各提案は現在も研究や検討が進められている段階で、技術的な課題が残されている。

その1つがSHRINCSの安全性だ。SHRINCSに関するBIPの初稿は8月下旬に公開されたものの、正式なセキュリティ証明はまだ完了していないとのこと。実装を本格的に検討するには、包括的なテストベクトルや仕様に対する独立したレビューも必要になる。

署名サイズも課題となる。SHRINCSの草案によると、公開鍵は48バイトで、ステートフル方式の署名は548~4,619バイトとなる。最小サイズでも、現在ビットコインで利用されている64バイトのシュノア(Schnorr)署名の約8.6倍だ。すべての鍵ペアにはステートレス方式へ切り替える仕組みも組み込まれており、この場合の署名サイズは5,777バイトになる。

耐量子署名が広く利用された場合、こうした署名データが限られたブロックスペースを圧迫する可能性がある。このため、ブロック内の複数の署名を単一の証明に圧縮する方法などが研究されている。コンデュイション氏は、ビットコインの技術フォーラム「デルビング・ビットコイン(Delving Bitcoin)」への投稿で、イーサリアム開発者らによる研究などを引用しながら、この方法を検討している。

また、所有者が秘密鍵を紛失するなどしてアクセスできなくなったBTCについて、CRQC登場後に盗難から保護すべきか、保護する場合にどのような方法を採用するかについても結論は出ていない。

参考:SHRINCS草案
画像:PIXTA

関連ニュース

関連するキーワード

この記事の著者・インタビューイ

渡邉洋輔

「あたらしい経済」編集部 記者
ブロックチェーンおよびデジタル資産分野を専門とし情報発信を行っている。オンチェーンデータや流動性構造など、市場設計の観点からのリサーチにも取り組んでいる。

「あたらしい経済」編集部 記者
ブロックチェーンおよびデジタル資産分野を専門とし情報発信を行っている。オンチェーンデータや流動性構造など、市場設計の観点からのリサーチにも取り組んでいる。

合わせて読みたい記事

GO・Waymo・日本交通、国内初の完全無人タクシー運行目指す。2027年に東京で100台規模

タクシーアプリ「GO」を運営するGO、米グーグル(Google)の親会社アルファベット(Alphabet)傘下の自動運転企業ウェイモ(Waymo)、東京最大手のタクシー事業者である日本交通が、東京における自動運転タクシーの商用化に向けた戦略的パートナーシップに合意した