BIP360で提案されているP2MRとは?本質的な量子耐性獲得ではない理由
ビットコインと量子コンピュータに関する話題は近年ますます注目を集めています。
ここ最近では、BTQテクノロジーズという企業が独自のテストネット上で量子耐性に関する改善提案のBIP360を実装したとしてニュースで取り上げられていました。
BTQテクノロジーズ、ビットコイン量子耐性提案「BIP360」をテストネットで初実装
このニュースに対して、以前ビットコイン研究所に記事を寄稿して頂いた株式会社Chaintope CTOの安土茂亨氏はXにて以下の様な見解を示しています。

「BIP-360のP2MRはTaprootからkeypathを削除した仕様に過ぎず、本質的にBitcoinに量子耐性をもたらすものではない」と投稿をされていました。
本稿では、BIP360とはどのような提案なのか。また、本質的な量子耐性獲得と言えない理由と、本質は何かについて筆者の見解も含めて解説していきます。
P2MR(BIP360)の概要
| 名称 | P2MR |
| 登場 | BIP360 |
| プレフィックス | bc1z |
| エンコード方式 | Bech32m |
| 文字数 | 62文字 |
BIP360は、2026年2月にBIPリポジトリにマージされており、ソフトフォークにより導入可能な新しい出力タイプのP2MR(Pay-to-Merkle-Root)が提案がされています。
P2MRのアドレスは、プレフィックス(先頭文字列)がbc1zで始まり、全体の長さが62文字の構造をしています。アドレスの例としては以下の様な形になります。
P2MRの例
bc1zzmv50jjgxxhww6ve4g5zpewrkjqhr06fyujpm20tuezdlxmfphcqfc80ve
エンコード方式はBech32mで、P2TR(Pay-to-Taproot)と同じ方式です。
P2MRの概要について説明していくために、構造が類似しているP2TRと比較するのがとても理解がしやすいです。まずは、P2TRの支払い方法について知らない方のために簡単に整理しておきます。
P2TRの2種類の支払い方法
P2TRには、以下の2種類の支払い方法が存在します。
- Key Path Spend(鍵で送金)
- Script Path Spend(条件で送金)
1つ目のKey Path Spendは、内部公開鍵(Internal Public Key)に対応する署名を提示することで送金を行う方式です。一般的な支払い(公開鍵に対応する署名を提供する方法)と同等のものだと考えて問題ありません。
2つ目のScript Path Spendに関しては、特定のスクリプト条件(マルチシグやタイムロックなど)を満たす場合に支払いを行う方式です。Tapscriptと呼ばれるスクリプトを公開し、その条件を満たすことで送金が可能になります。
両者の支払い方式を束ねることで公開鍵を作成しているのですが、P2TRはこの公開鍵がブロックチェーン上に露呈するという構造上のデメリットが存在します。
P2TRとP2MRのトレードオフ
P2MRはP2TRの公開鍵がオンチェーン上に露呈してしまうというデメリットを解消するために、Key Path Spendを削除してScript Path Spendのみにした新しいアウトプットタイプです。
P2MRはP2TRと比較した時様々なトレードオフが存在します。
| 比較対象 | 項目 | 評価 | 理由 |
|---|---|---|---|
| P2TR(鍵で送金)vs P2MR | 手数料 | P2MRの方が高い | P2MRは署名だけでなく、スクリプトの構造を証明するデータ(パス)が必要なためデータ量が大きくなるから。 |
| P2TR(鍵で送金)vs P2MR | プライバシー | P2MRの方が低い | P2MRは自分は複雑な条件(スクリプト)を使っているという事実を隠せない。 |
| P2TR(条件で送金)vs P2MR | 手数料 | P2MRの方が安い | P2MRは内部鍵やtap tweakといったステップを削除してKey Path Spendを無効化しているため、その構造分のデータ量が少なくなる。 |
| P2TR(条件で送金)vs P2MR | プライバシー | 同等 | 支払い方式が同じなため |
まずは手数料面から考えてみましょう。P2TRのKey Path Spendと比較するとP2MRは常にScript Path Spendの支払いを行うため、データ量が多くなり手数料はP2MRの方が高くなります。
一方で、P2TRのScript Path Spendと比較すると実はP2MRの方が安くなります。 理由としては、P2MRにはKey Path Spendが削除されているため、P2TRに存在するはずの内部鍵やtap tweakなどの構造が存在せず、データ量がP2TRと比べて少なくなるからです。
プライバシー面ではどうでしょうか。P2TRでは、Key Path Spendを用いることでスクリプト(条件)の有無を隠すことができます。一方P2MRでは、スクリプトを使っているという事実を隠すことができず、P2MRの方がプライバシー面で低くなってしまいます。 両者がともにScript Path Spendを使用する場合は、プライバシーレベルは同等になります。
次の章からは、BIP360のP2MRが量子コンピュータとどのように関係してくるのかを見ていきましょう。
量子コンピュータとビットコインの関係性
将来暗号解読に有効な量子コンピュータ(CRQC)が完成した場合、最大の脅威はビットコインの暗号学的仮定を打破してしまう可能性があるということです。
ショアのアルゴリズムにより量子コンピュータの離散対数問題を解くスピードは古典的な手法と比べて指数関数的に上がることがわかっています。この離散対数問題(DLP)を応用して作られた暗号がビットコインの署名にも使用されているECDSAです。
しかし現状は、量子コンピュータの開発はエラー訂正機能をもつ量子ビットの開発に時間がかかっており、解読には程遠いとされています。
この現状を顧みて将来の量子コンピュータの発展に備え、アメリカ政府(NISTやCNSA)は2030年代には今の暗号は使わないと発表しました。
このようにアメリカを始めとする全世界が、量子コンピュータに有効な暗号に移行し始めているという流れが来ています。
また、心理的不安要素として公開鍵から秘密鍵を導出される(量子鍵復元)可能性は今後もあるという点も残ります。
そこで開発者間では、将来の量子コンピュータの発展に脅えるのではなく、備えていこうとしてBIP360を提案したという背景があります。
ただし、量子コンピュータは万能ではありません。すべての計算を同時に解けるというのは俗説であり、ノイズや誤りによる制約も存在します。詳しくは次の記事をご覧ください。
量子コンピュータのビットコインへの攻撃シナリオ2選
どのようにして量子コンピュータに備えていくのでしょうか。ここでは、鍵が盗まれるリスクや技術的な観点から2種類の攻撃シナリオに大別して考えていきましょう。
量子コンピュータの攻撃シナリオとして以下の2つを取り上げます。
- Short Exposure Attacks:トランザクションがメモプール内で承認される短い時間に公開鍵を通じて秘密鍵を復元し、RBFなどで自分宛てに資金を送る「偽の取引」を作成することで資金を盗み出す攻撃
- Long Exposure Attacks:トランザクションがブロックに取り込まれ承認されたのち、ブロックチェーン上に露呈している公開鍵に対して量子コンピュータで秘密鍵を復元し資産を盗み出す攻撃
Short Exposure Attacksに関しては、ビットコインはトランザクションの構造上不利です。なぜなら送金時には必ず関連するアドレスの公開鍵を公開する必要があるからです。 Short Exposure Attacksから完全に保護するためには耐量子署名をビットコインに導入する必要があります。
Long Exposure Attacksは、ブロックチェーン上の公開鍵を標的にしており、攻撃に対する時間的な余裕をもてるため、ビットコインにおける最初の量子脅威になる可能性が高いです。そのため、対策の第一歩としてLong Exposure Attacksに耐性のあるアウトプットタイプを作成しようというのがBIP360の提案になります。
Long Exposure Attacksに脆弱なアウトプット
Long Exposure Attacksに対して脆弱なアウトプットとは、公開鍵が常にブロックチェーン上に露呈しているアウトプットです。具体的には以下の3つが挙げられます。
- P2PKのアウトプット
- 再利用したアウトプット
- P2TR(Taproot)のアウトプット
P2PKはビットコイン初期のアドレス形式で、公開鍵に直接支払う構造のため公開鍵が常にブロックチェーン上に露呈してしまいます。サトシ・ナカモトのコインなどはP2PKが多いため攻撃の対象として一番に考えられるでしょう。
再利用したアウトプットというのは、先ほど軽く触れたとおりビットコインのトランザクションは、送金時に公開鍵を公開する必要があります。そのため、送金に一度でも使用したアドレスでビットコインを再度受け取った場合、そのビットコインの公開鍵はすでに過去のトランザクションによってブロックチェーン上で知られています。なので、新たに受け取ったビットコインも攻撃に対して脆弱になっていることがわかります。
特に量子コンピュータの個人でできる対策としてよく言われているのは、同じアドレスを何度も使用しないことです。受け取りのたびに新しいアドレスの使用を推奨されるのはこのためです。
P2TR(Taproot)のアウトプットは、アドレスそのものに公開鍵のデータをほぼそのまま含んでおり、ハッシュ関数に隠されているわけではありません。そのため、ブロックチェーン上に記録した時点で、量子コンピュータの攻撃対象として公開鍵が知られてしまうことになります。
P2MRとは、言うなればLong Exposure Attacksの対策として、実装しやすいようにP2TRのコードを活用しながらP2TRの脆弱性(公開鍵の露呈)を改善した提案ということになります。
補足として既存のビットコインアドレスでどのようなものがあるかを知りたい場合は、以下の過去記事をご確認ください。
P2MRは本質的な量子耐性獲得ではなく拡張性
ここで一つ疑問が残ります。それは、Long Exposure Attacksの耐性であれば、ハッシュ関数で守られているP2WPKHのアドレス形式で事足りるのではないかという事です。確かにP2WPKHでLong Exposure Attacksには耐えられます。
しかし、P2WPKHについては拡張性がない=オペコードを追加するのが大変な構造が問題点として挙げられます。
P2MRはOP_SUCCESSという将来どのような命令を追加してもOKという予約枠を組み込んでいるところが重要なポイントです。
アメリカ国立標準技術研究所(NIST)選定の量子耐性をもつ署名アルゴリズムとして以下の2つなどがあります。
- ML-DSA
- SLH-DSA
将来このような耐量子署名がビットコインへ採用されたときに、実用的な基盤となるようにP2MRは設計されており、耐量子署名のための拡張性としての面がP2MRの本質だと私は考えます。
まとめると、P2MRはLong Exposure Attacksに対するP2TRの改善案であり、また将来のビットコインの拡張性が真実です。
ユーザー自身の量子コンピュータに対するリスク軽減の願いに対して選択肢を提案するものであり、今回のP2MRが本質的な量子耐性獲得とは言えないというのが結論になります。
まとめ
BIP360で提案されているP2MRは、P2TRからKey Path Spendを削除しScript Path Spendのみとすることで、公開鍵のオンチェーン露呈を防ぎ、Long Exposure Attacksへの耐性を持たせた新しいアウトプットタイプです。
ただし、手数料増やプライバシー低下といったトレードオフがあり、送金時に公開鍵が公開されるShort Exposure Attacksには依然として脆弱であるため、本質的な量子耐性の獲得とは言えません。
P2MRの真の意義は、OP_SUCCESSによる拡張性を備えている点にあり、将来NISTが選定したML-DSAやSLH-DSAなどの耐量子署名アルゴリズムがビットコインに導入される際の実用的な基盤となることにあります。
ビットコインと量子コンピュータに関する話題は良くも悪くも誇張され、流されやすい印象です。だからこそ、私たちは正確な情報を見極めて冷静にキャッチアップしていく必要があると思います。
次の記事
読者になる
ビットコイン研究所の新着記事をお届けします。

ディスカッション