MSTR Cat

ブロックチェーン/レベル IV · プロトコルを深く知る/4.3 カストディとプライバシー/レッスン 7

サイレントペイメントと今後のプライバシー強化

チェーン上に同じ形で二度と現れない静的な鍵

用意するものサイレントペイメント(BIP352)に対応したウォレットBitcoin Coreバージョン27以降トランザクションのデコード機能を備えたブロックエクスプローラーサイレントペイメントに対応するフルノードまたはSPVウォレット(例:SparrowやCake)

問い

  1. 1つの公開アドレスで、それらが同じ主体に属することを明かさずに、無制限に支払いを受け取るにはどうすればよいのでしょうか?
  2. なぜ受取人が入力を1つ加えるだけで、チェーン分析者が用いる共通所有の前提が崩れるのでしょうか?
  3. 2者が静的な鍵ペアから、一意でリンク不可能な出力鍵を導出できるのは、どのような暗号学的な仕組みによるのでしょうか?

探究

    パート I目前に迫るプライバシーのアップグレード

  1. ビットコインアドレスは再利用できるため、オンチェーン上で紐付けが生じます。店舗がすべての顧客に向けて1つのアドレスを公開すると、そのアドレスへの支払いはすべて台帳上で目に見える形で結び付けられます。この紐付け可能性は、誰もが時間をまたいで資金の流れを追跡できるようにしてしまうため、プライバシーを損ないます。サイレントペイメント(BIP352)は、楕円曲線ディフィー・ヘルマンを用いてこれを解決します。受取人は静的なスキャン鍵と支出鍵のペアを保持します。各送金者は、自身の入力の鍵と受取人のスキャン鍵を組み合わせて固有のトウィークを導出し、他のどのオンチェーン出力とも区別のつかない、使い捨てのTaprootアドレスを生成します。
  2. 導出されるアドレスはトランザクションごとに変わるため、同じ店舗への2つの支払いがブロックチェーンのデータ上で結び付いて見えることはありません。受取人は送金者と事前にやり取りすることなく、自身の秘密鍵を使ってチェーンをスキャンし、これらの固有の出力を検出します。これにより、新しいアドレスを生成するためのサードパーティーのサーバーやリアルタイムの通信が不要になります。この処理はスキャンする側にとって計算負荷が高いものの、双方に強力なリンク不可能性をもたらし、店舗の収入の流れが受動的な観察者によって容易に集計されないようにします。
  3. Payjoin(BIP78)は、トランザクションの構造という別の角度からプライバシーの問題に取り組みます。チェーン分析者は、同一の主体に属する入力をまとめるために、共通入力所有ヒューリスティックに頼っています。通常のトランザクションでは、すべての入力を送金者が管理しています。Payjoinでは、署名前のトランザクションに受取人が入力を追加できます。これにより、受取人のコインが送金者のコインと1つのトランザクション内で混ざり合い、すべての入力が一方の当事者に属するという前提が崩れます。結果は通常の支払いのように見えるため、すべての入力が送金者のものだと想定する分析者は誤った結論を導きます。
  4. バージョン2(BIP77)では、受取人が公開サーバーを運用する必要がなくなりました。両者はディレクトリサーバーを介して暗号化されたPSBTを非同期で交換し、そのディレクトリサーバーへはOblivious HTTPリレーを経由して接続するため、ディレクトリはメッセージを読むことも、IPアドレスと結び付けることもできません。トランザクションが行われているという事実自体は隠せませんが、異なる2人の所有者の入力が、所有者が1人に見える1つのトランザクションに含まれるため、アドレスのクラスタリングは大幅に困難になります。
  5. ネットワークレベルのプライバシーには、トラフィックパターンの秘匿が必要です。暗号化P2Pトランスポート(BIP324)は、2024年のBitcoin Coreバージョン27でデフォルトになりました。これにより、メッセージの内容、つまりノードがどのトランザクションやアドレスを中継しているかが受動的な観察者から隠されます。ただし、どのIPアドレスがどこに接続しているかは引き続き見えており、暗号化には認証がないため、能動的な中間者攻撃は防げません。BIP324は、鍵をランダムなバイト列に見えるようエンコードした楕円曲線鍵交換を行い、その後ChaCha20-Poly1305で暗号化するため、通信を監視して特定のトランザクションを特定のノードに結び付けることがはるかに難しくなります。
  6. トランザクションのすべての入力で1つの署名を共有できるようにする、クロスインプット署名集約(CISA)の研究が続けられています。実現すれば、多数の入力を持つCoinJoinのような協調型トランザクションは、同じコインを別々に使うよりも安くなり、プライバシーが手数料の節約につながります。「カストディの仕組み」で扱うCoinJoinとは異なり、これらのアップグレードは、社会的な調整やサーバーを介したミキシングではなく、暗号学的な構造とネットワーク通信に焦点を当てています。
  7. パート IIサイレントペイメント

  8. 2024年5月にBIPリポジトリへマージされたBIP-352は、サイレントペイメントを導入する。受取人は、スキャンキーとスペンドキーという2つの公開鍵からなる単一の静的コードを公開する。通常のアドレスと異なり、このコードはウォレットを使い続ける限り変わらない。送信者のウォレットは自身の入力の秘密鍵を使って支払いごとに新しい一意のTaprootアドレスを導出するため、異なる送信者やトランザクションの間でアドレスが再利用されることはない。
  9. この仕組みは楕円曲線ディフィー・ヘルマン(ECDH)に基づいている。アリスがボブのサイレントペイメント用コードに送金する際、彼女のウォレットは自身の入力の秘密鍵とボブのスキャン公開鍵を組み合わせる。これにより、トウィーク(調整値)として機能する共有秘密が生成される。このトウィークをボブのスペンド公開鍵に加えると、送金先の出力Pが作られる。導出は彼女の入力の鍵とアウトポイント(「インプットハッシュ」)に加え、出力ごとのカウンターに依存するため、すべての支払いは一意のアドレスとなり、他のどのTaproot出力とも区別がつかない。
  10. その代償が計算量の非対称性である。送信者は通常の署名処理を行うだけだが、受取人は届いた支払いを検出するためにブロックチェーンを能動的にスキャンしなければならない。ボブは特定のアドレスに資金があるかを確認するだけでは済まず、対象となる入力を持つすべてのトランザクションについて、自身のスキャン秘密鍵とその入力の公開鍵の合計を組み合わせ、一致する出力があるかを確認する。このスキャン処理は負荷が高く、これまで軽量なSPVクライアントにとっては難題だった。
  11. こうして作られたトランザクションは、通常のビットコイン送金に完全に溶け込む。追加のデータフィールドも、トランザクションサイズの増加もなく、調整のための第三者サーバーも必要ない。外部の観察者に見えるのは、標準的なTaprootの入力と出力だけである。送信者の入力の鍵と受取人の静的コードとの関係は暗号学的に隠されているため、観察者はその支払いを受取人が公開しているコードと結びつけることができない。
  12. 仕様の公開以来、ウォレットでの採用は着実に進んでいる。Cake Walletは2024年に対応を実装した。Sparrow Walletは2025年10月に送金機能を、2026年5月に受取機能を追加した。Nunchukは2026年に送金機能を追加した。Bitcoin Coreは2026年にBIP-352のコアロジックをマージした(PR #35301)が、ウォレットの送受信機能はまだレビュー中で、リリースには含まれていなかった。
  13. サイレントペイメントは、CoinJoinプロトコルで使用されるような送信者と受取者のやり取りや調整用サーバーを必要とせずに、アドレスの再利用という問題を解決する。受取者は給与、請求書、寄付など、あらゆる目的に対して1つの静的な識別子を保持し、届くすべてのUTXOは一意でリンク不可能なアドレスに送られる。受取者のスキャニング処理が堅牢かつ安全であれば、グラフ分析によって複数の支払いを同じ主体に結びつけることを防ぐことで、代替可能性が高まる。

重要な事実

  • サイレントペイメント(BIP352)は、静的な鍵ペアから一意のTaprootアドレスを導出するためにECDHを使用します。
  • Payjoin(BIP78/BIP77)は、受取人にも入力を提供させることで、共通入力所有ヒューリスティックを崩します。
  • 暗号化P2Pトランスポート(BIP324)は、Bitcoin Coreバージョン27(2024年)でデフォルトになりました。
  • サイレントペイメントのアドレス(sp1…)は独自の形式ですが、それによって生成される出力は通常のTaproot出力と同じように見えます。
  • Payjoin v2(BIP77)はディレクトリサーバーを介して暗号化されたPSBTを交換するため、受取人側に公開サーバーは不要です。
  • クロスインプット署名集約はまだ研究段階ですが、実現すればトランザクション全体の署名を1つにまとめ、CoinJoinをより安価にします。
  • BIP-352は2024年5月にマージされ、仕様バージョン1.1.0は2026年3月にリリースされた。
  • サイレントペイメントはECDHを用いて、送信者の入力の鍵と受取人の静的なスキャンキーから、トランザクションごとに一意のTaprootアドレスを導出する。
  • 受取人は、対象となるすべてのトランザクションについてECDH計算(スキャンキーに入力公開鍵の合計を掛ける)を行い、そのTaproot出力を確認しなければならない。
  • Cake Wallet(2024年)、Sparrow Wallet(送金は2025年10月、受取は2026年5月)、Nunchuk(送金、2026年)がサイレントペイメントに対応しており、Bitcoin Coreは2026年にコアロジックをマージした。
  • サイレントペイメントのトランザクションは、サイズ、コスト、構造のいずれにおいても通常のTaprootトランザクションと区別がつかない。
  • このプロトコルは送信者と受取人の間のやり取りを必要とせず、第三者の調整サーバーにも依存しない。

演習 九・六・三・一

9集めるアクティブ型(ユーザー主導)とパッシブ型(プロトコルレベル)の両方を含め、プライバシーの仕組みやプロトコルを9つ挙げてください。それぞれがアプリケーション層、ネットワーク層、コンセンサス層のどこで機能するかも記してください。
6まとめる9つを、主な脅威モデル、つまり具体的にどのような観測を防ぐのか(例:アドレスのクラスタリング、トラフィック分析、入力の所有者の紐付け)に基づいて、6つに分類してください。
3絞り込む6つのグループを、これらの仕組みが対処するプライバシー喪失の根本的なカテゴリー3つに絞り込んでください。
1結晶化する静的アドレスがなぜ監視の手段となるのか、そして暗号学的な導出がそれをどのように無力化するのかを、1文で書いてください。

事実確認

日付、数字、主張は、下記に記載された公表資料と照合して確認しました。

インタラクティブ版で開く →

EN PT ES ZH KO RU DE FR MS