PayJoin 隱私保護技術
理解 PayJoin(P2EP)隱私保護協議,如何打破交易圖分析。
PayJoin 隱私保護技術
概述
PayJoin(原名 P2EP,Pay-to-Endpoint Payment)是一種比特幣隱私增強協議,由開發者 Ádám Gibson 與 Gregory Maxwell 於 2019 年提出。與 CoinJoin 不同,PayJoin 不需要將多個參與者的輸出等額化,而是透過讓支付方與接收方共同構造交易,打破區塊鏈分析中的輸入與輸出關聯假設。
技術原理
傳統交易的可追蹤性
在傳統比特幣交易中,存在一個基本假設:輸入屬於同一個所有者。區塊鏈分析公司利用這個假設進行資金追蹤:
典型分析假設:
輸入 A → 輸出 A'
輸入 B → 輸出 B'
假設:輸入 A 和輸入 B 來自同一個錢包
PayJoin 的破解方式
PayJoin 讓這個假設失效。核心思路是:
- 支付方提供輸入
- 接收方也提供輸入(或作為共同簽名者)
- 輸出包含支付金額 + 找零
這樣外部觀察者看到的交易包含來自不同所有者的輸入,使得輸入輸出對應分析失效。
交易結構示例
傳統交易(可追蹤):
輸入:1.5 BTC(Alice)
輸出:0.5 BTC(Bob)+ 1.0 BTC(Alice 找零)
PayJoin 交易(難以追蹤):
輸入:1.5 BTC(Alice)+ 0.3 BTC(Bob)
輸出:0.8 BTC(Bob)+ 1.0 BTC(Alice 找零)
分析者無法判斷哪個輸出屬於哪個輸入。
協議流程
基礎流程
- 協商階段
- 接收方(Bob)提供 BIP-21 URI,包含支付參數
- 包含
pj端點 URL 指示支持 PayJoin
- 創建提議
- 支付方(Alice)創建部分簽名的交易
- 包含自己的輸入和預期輸出
- 添加輸入
- Bob 添加自己的 UTXO 作為輸入
- Bob 調整輸出金額(支付金額 + 找零)
- 完成簽名
- Alice 簽署自己的輸入
- Bob 簽署自己的輸入
- 交易廣播
PSBT 實現
PayJoin 通常使用 Partially Signed Bitcoin Transactions (PSBT):
Alice(支付方):
- 輸入:UTXO_A(價值 0.05 BTC)
- 輸出:0.02 BTC 給 Bob
Bob(接收方):
- 添加輸入:UTXO_B(價值 0.1 BTC)
- 調整輸出:0.09 BTC 給自己(0.02 + 0.07 找零)
最終交易:
- 輸入總額:0.15 BTC
- 輸出:0.02 BTC + 0.09 BTC + 0.04 BTC(礦工費)
實現要求
錢包支持
支持 PayJoin 的錢包:
- Samourai Wallet:全面支持 PayJoin
- Wasabi Wallet:支持PayJoin 接收
- BlueWallet:部分支持
- Electrum:通過插件支持
兼容性
- BIP-21 擴展:接收方在 URI 中添加
pj參數 - P2PKH / P2WPKH:兼容傳統地址類型
- P2TR:Taproot 地址支持
隱私分析
有效性
PayJoin 打破的是「同一交易中所有輸入屬於同一所有者」的假設:
- 區塊鏈分析無法確定資金流向
- 金額分析也變得更困難
- 即使分析成功,也只能得出「可能」的結論
局限性
- 需要接收方配合:必須使用支持 PayJoin 的錢包
- 金額敏感:大額 PayJoin 仍可能引起注意
- 無法隱藏廣播 IP:仍需配合 Tor 使用
與 CoinJoin 的比較
| 特性 | CoinJoin | PayJoin |
|---|---|---|
| 參與者數量 | 多方(通常 5-100+) | 雙方(支付方 + 接收方) |
| 交易金額 | 通常等額 | 可變 |
| 實現難度 | 較高 | 較低 |
| 隱私保護 | 較強 | 適中 |
| 日常使用 | 不便 | 較方便 |
使用場景
推薦使用
- 商業支付:商家與顧客之間
- 個人轉帳:朋友之間的比特幣轉帳
- 資金歸集:將多個 UTXO 整合時同時保護隱私
不適用場景
- 對方不支持 PayJoin
- 金額過大或過小
- 需要快速確認
安全考量
雙重支付防護
PayJoin 協議必須防止:
- 接收方廣播自己的輸入而不包含支付方輸出
- 支付方在接收方簽名後取消交易
解決方案:
- 使用 RBF(Replace-By-Fee)鎖定
- 明確的狀態機制
費用結構
PayJoin 交易的特點:
- 礦工費由雙方共同承擔
- 額外的簽名增加交易大小
- 需要權衡隱私與成本
總結
PayJoin 是一種實用且有效的比特幣隱私技術。它不需要大量的參與者,可以在日常支付中自然使用。配合其他隱私工具(Tor、CoinJoin),可以構建更完整的隱私保護方案。隨著更多錢包支持 PayJoin,這種技術有望成為比特幣隱私的標準配置。
本文包含
相關文章
- CoinJoin 混幣詳解 — 比特幣隱私保護技術與實現方式。
- PayJoin 實作詳解:比特幣隱私保護進階技術 — 深入解析 PayJoin 隱私保護技術的運作原理、技術實現與實際應用,包含 BIP-78 規範與工具推薦。
- Payjoin V2 深度技術分析:隱私增強與實際部署指南 — 深入分析 Payjoin V2 協議的技術架構、密碼學原理、隱私改進以及與 Taproot 的整合,提供完整的實作程式碼範例。
- PayJoin 實作完整教學:從原理到步驟的詳細指南 — 深入解析 PayJoin(P2EP)隱私保護技術的原理與實作,提供在 Samourai Wallet、BTCPay Server、Sparrow Wallet 等錢包中的具體使用步驟與高級應用場景。
- 比特幣鏈上分析對抗策略 — 深入解析區塊鏈分析技術的運作原理,以及用戶可以採用的隱私保護對抗策略。
延伸閱讀與來源
這篇文章對您有幫助嗎?
請告訴我們如何改進:
0 人覺得有帮助
評論
發表評論
注意:由於這是靜態網站,您的評論將儲存在本地瀏覽器中,不會公開顯示。
目前尚無評論,成為第一個發表評論的人吧!