P2TRが常時公開鍵を晒す理由|P2PKHとの量子耐性比較
あなたが取引所に預けているビットコインは、いまこの瞬間も公開鍵をブロックチェーン上に晒しています。
これは比喩ではありません。2021年11月のTaprootアップグレード以降、多くの取引所がP2TR(Pay-to-Taproot)アドレスを採用しています。このアドレス形式は、BTCを受け取った瞬間から32バイトの公開鍵がブロックチェーン上に記録されるという特徴を持ちます。
Taprootが作り出した「常時露出」の構造
P2TRのscriptPubKeyには、x-only公開鍵と呼ばれる32バイトのデータが直接書き込まれます。これはハッシュでもなく、プログラムコードでもありません。あなた(あるいは取引所)が署名に使う公開鍵そのものです。
BTCを受け取った瞬間から、その公開鍵はブロックチェーン上の誰もが参照できる状態になります。送金前の保管フェーズであっても例外はなく、残高を持っている間ずっと公開鍵は開かれたままです。
この状態を「常時露出」と呼びます。
P2PKHは何が違うのか
対照的に、P2PKH(Pay-to-Public-Key-Hash)は公開鍵を直接ブロックチェーンに記録しません。代わりに、公開鍵をSHA-256とRIPEMD-160という2段階のハッシュ関数で処理した20バイトのデータだけが残ります。
公開鍵本体がブロックチェーン上に現れるのは、そのアドレスから送金するときだけです。UTXOを使わない限り、公開鍵は計算上のベールに隠れたままです。
ハッシュ関数は一方向性を持ちます。ハッシュ値から元の公開鍵を逆算することは現在の計算能力では不可能であり、公開鍵が表に出ていなければ攻撃の入口がそもそも存在しません。
「今は安全」が永遠を保証しない理由
現時点では、楕円曲線暗号(ECC)を破れる量子コンピュータは存在しません。公開鍵から秘密鍵を逆算するには、フォールトトレラントな数百万量子ビット規模のシステムが必要とされており、現在の最先端機は100量子ビット台にとどまります。
ここで重要なのは、ブロックチェーンに記録されたデータは消えないという事実です。
P2TRアドレスに保管されたBTCの公開鍵は、10年後も20年後も同じ場所に残り続けます。将来的に量子コンピュータが十分に発展したとき、その記録は遡及的な攻撃対象になりえます。量子耐性は「今日」だけでなく、「保管している期間全体」において評価しなければなりません。
P2PKHであれば、そのUTXOが未使用のままである限り、将来の量子コンピュータが登場した時点でも公開鍵はブロックチェーン上にありません。P2PKHが持つ「公開鍵を隠す」という特性は、まさに長期保管においてその価値を発揮します。
取引所に預けると選択権を失う
核心的な問題があります。取引所に預けたBTCのアドレス型は、取引所が決めます。
取引所はコスト効率やシステムの実装事情を優先してアドレス型を選択します。Taprootにはバッチ署名検証の効率化や一部のプライバシー向上といった利点があり、多くの取引所が移行を進めています。技術的には合理的な判断かもしれません。
しかしその結果、あなたのBTCは保管中から32バイトの公開鍵を常時ブロックチェーンに晒した状態で管理されます。「P2PKHで保管したい」と思っても、取引所口座内では実現できません。自分のBTCの保管方式を、自分で決める手段がないのです。
これは法的な所有権の話ではなく、管理の主導権の話です。秘密鍵を自分で持たない限り、保管に関する技術的な判断はすべて取引所に委ねることになります。アドレス型の選択はその典型例のひとつです。
セルフカストディで取り戻せるもの
セルフカストディであれば、ウォレットの設定でアドレス型を自分で選べます。P2PKH(「1」から始まるアドレス)を指定してBTCを受け取れば、送金前の保管フェーズでは公開鍵はハッシュの後ろに隠れています。量子コンピュータの脅威に対して、少なくとも「まだ公開鍵を晒していない」という状態を維持できます。
アドレスの先頭文字を確認することで、自分のBTCが今どのアドレス型で保管されているかを把握できます。「bc1p」で始まるならP2TR、「1」で始まるならP2PKH、「bc1q」で始まるならP2WPKHです。
まず取引所の入金アドレスを確認してみてください。自分のBTCがどのアドレス型で管理されているかを知ることが、保管の主導権を意識する最初の一歩です。
※本記事は一般的な情報提供を目的としており、投資助言ではありません。
この記事が参考になったら、セルフカストディの具体的な始め方もチェックしてみてください。
LINE登録でセルフカストディの始め方を学ぶ 正しい手順を無料でお届けします