
Bitcoin Core 開發團隊於 6 月 12 日在 X 發文,確認 Bitcoin Core 31.0 版本新引入的 -privatebroadcast 功能存在隱私漏洞:在特定網路條件下,若 v2 握手失敗,將透過 IPv4 或 IPv6 連接對等節點,從而向接收方洩露發送者的明網 IP 地址。
## **受影響的用戶條件:五項必須同時成立**
根據 Bitcoin Core 官方公告,以下五項條件全部成立時,節點才會受到此漏洞影響:
· 節點運行的是 Bitcoin Core 31.0,且已啟用 -privatebroadcast 功能
· 交易透過 RPC 指令 sendrawtransaction 廣播(錢包 RPC 如 sendtoaddress、sendall 等不使用私有廣播,不受影響)
## **Tor 可建立出站連線**
· 可直接建立出站 IPv4 或 IPv6 連線(無 -onlynet 限制,且無 -proxy=... 配置)
· BIP324 v2 傳輸未被禁用(未設置 -v2transport=0)
連線至 onion 及 I2P 對等節點的連線不受影響,因為在任何 v1 重試中,這些連線始終透過各自的代理路由。
## **漏洞技術機制:v2 握手失敗後 v1 重試未走 Tor**
根據官方說明,漏洞的觸發機制:當私有廣播選擇支援 v2(BIP324)傳輸的 IPv4 或 IPv6 對等節點時,初始連線如預期透過 Tor 代理路由。若 v2 握手失敗,Bitcoin Core 會嘗試以 v1 協議重試,此 v1 重試不透過 Tor 代理路由,而是直接透過 IPv4 或 IPv6 連接,從而洩露發起者的 IP 地址。
此行為違反了 31.0 版本說明中的隱私保證:「接收者永遠不會知道他們的 IP 位址(以及地理位置)」。開發團隊確認,此漏洞最有可能由惡意對等節點故意關閉 v2 握手、以強制觸發 v1 重試的方式人為觸發。
## **三種臨時解決方案:升級至 31.1 前可採用**
Bitcoin Core 官方提供以下三種臨時解決方案:
**方案一(推薦)**:直接禁用 -privatebroadcast 設定 -privatebroadcast=0
**方案二**:禁用 v2 傳輸 設定 -v2transport=0。注意:此設定將導致節點所有連線均使用未加密的 v1 協議,在明網上更容易被指紋識別及遭受審查。
**方案三**:將 IPv4/IPv6 出站流量路由至 Tor 設定 -proxy=127.0.0.1:9050(按實際 Tor SOCKS 端口替換)。注意:此設定將使節點更容易受到女巫攻擊(Sybil Attack)。
## **常見問題**
#### **使用 sendtoaddress 或 sendall 等錢包 RPC 的節點是否受影響?**
根據 Bitcoin Core 官方公告,錢包 RPC(如 sendtoaddress、sendall 等)不使用私有廣播功能,因此不受此漏洞影響。此漏洞僅在透過 sendrawtransaction 進行廣播且滿足其餘四項條件時才會觸發。
#### **此漏洞是否會在不需要惡意節點的情況下自然發生?**
根據官方說明,對於實際支援 v2 傳輸的對等節點,v2 握手正常情況下不太可能失敗。此漏洞最有可能由惡意對等節點故意關閉 v2 握手以強制 v1 重試而被人為觸發。
#### **Bitcoin Core 31.1 的發布時間表是什麼?**
根據 Bitcoin Core 官方公告,修復方案將隨 31.1 版本發布,但公告未提供具體發布日期。官方建議在升級至 31.1 之前,採用上述三種臨時解決方案之一。
芝麻交易所(Gate.io)为全球用户提供安全、高效的加密货币交易服务。支持现货、合约、理财等多种交易模式,24小时交易无间断,让数字资产增值更轻松!
