Tor 路由與 Bitcoin 的關係
在對 Bitcoin 進行了廣泛的研究之後,諷刺的是,我的第一篇部落格文章並不是關於 Bitcoin,而是關於 Tor 網路(Tor Project)1。Tor 網路的命名非常貼切,因為它將資料封包包裹在多層加密中,就像洋蔥的層次一樣。
Tor Onion 路由如何運作
graph LR
A[你的電腦<br/>Bitcoin 節點] --> B[Entry Guard<br/>第 3 層加密]
B --> C[Middle Relay<br/>第 2 層加密]
C --> D[Exit Relay<br/>第 1 層加密]
D --> E[目的地<br/>Bitcoin 對等節點]
style A fill:#4CAF50
style B fill:#FF9800
style C fill:#FF9800
style D fill:#FF5722
style E fill:#2196F3
關鍵隱私特性:
- Entry Guard 知道你的 IP 但不知道你的目的地
- Middle Relay 既不知道來源也不知道目的地
- Exit Relay 知道目的地但不知道你的原始 IP
- 每個 relay 只解密一層並看到下一跳

據我所知,Tor 網路在世界各地擁有眾多的 relay 站點2。這些由志願者運營的 relay 負責傳輸我們發送的資料封包。然而,在發送之前,發送者需要知道哪些 relay 是可用的。這些資訊可能儲存在伺服器上,包括每個 relay 由 RSA 生成的公鑰(在 Tor version 3 中已被認為不安全並被 ECC 取代)。私鑰自然屬於 relay 本身,用於解密資料。

下一步涉及從這個伺服器請求資料。假設我們請求了一百個 relay 的資訊並隨機選擇十個。然後我們使用每個選定的 relay 的公鑰,一層一層地加密我們的資料封包。一旦封包完全加密,它就會通過 Tor 網路發送。最外層的 relay 擁有相應的公鑰,接收並解密一層,揭示下一個 relay 的公鑰,依此類推,直到封包到達其出口節點。重要的是要注意,每個 relay 只知道它的前一個和後一個節點,這使得追蹤資料的完整路徑變得極其困難。

除了解釋 Tor 網路內的封包傳輸過程外,值得討論的是其漏洞,特別是在入口和出口點。對於網際網路服務提供商(ISP)來說,入口點標誌著 Tor 會話的開始。出口點可能是,例如,從 Tor 網路發往 Facebook 的封包。這類似於 Bitcoin 的洗錢過程。此外,入口點的封包通常使用 RSA 公鑰加密,而在出口點,它們大多被解密,如果初始協議是 HTTP,通常只剩下 HTTPS 加密。
訪問 Tor 網路的常用工具是 Tor Browser,它是 Firefox 和 Tor 的結合。這個瀏覽器可以解析 .onion 域名,這些不是傳統的 IP 位址,而是到達目的地的路徑。Tor Browser 可以作為獨立的 Tor 程式運行,在 127.0.0.1:9050 使用本地 SOCKS5 proxy,本質上創建了一個到 Tor 網路的本地入口點。由於傳統瀏覽器和應用程式使用標準 DNS 解析,缺乏 .onion 域名解析並不奇怪。你也可以在 Tor 網路上探索 Bitcoin 相關網站以增強隱私。
常見問題(FAQ)
問:為什麼在 Bitcoin 交易中使用 Tor?
在 Bitcoin 中使用 Tor 可以防止你的 ISP 和網路觀察者看到你正在運行 Bitcoin 節點或發起交易。如果沒有 Tor,你的真實 IP 位址對 Bitcoin 網路中的對等節點是可見的,可能會將你的身份與你的 Bitcoin 位址和交易歷史連結起來。
問:Tor 的 onion 路由如何保護 Bitcoin 隱私?
Tor 在多層中加密你的 Bitcoin 網路流量,並通過全球的志願者 relay 節點進行路由。每個 relay 只知道前一跳和下一跳,使得幾乎不可能追蹤連接回到你的原始 IP 位址,有效地匿名化你的 Bitcoin 節點活動。
問:使用 Tor 與 Bitcoin 有哪些漏洞?
主要漏洞在入口和出口節點。你的 ISP 可以檢測到你正在連接到 Tor 網路(但不知道你在做什麼),而出口節點營運者可能會看到未加密的流量。然而,Bitcoin Core 內建的 Tor 支援通過將流量保持在 Tor 網路內來緩解這些風險。
問:如何配置 Bitcoin Core 使用 Tor?
Bitcoin Core 包含原生 Tor 支援。通過在你的配置中添加 -onion 標誌或通過 GUI 設定(自版本 0.12.0 起可用)來啟用它。軟體會自動創建一個 hidden service,允許你的節點通過 .onion 位址匿名接收連接。
問:使用 Tor 會減慢 Bitcoin 同步速度嗎?
是的,Tor 路由會增加延遲,因為流量通過多個 relay 節點。初始區塊鏈同步可能需要更長時間,你可能會遇到稍微延遲的交易廣播。然而,對於優先考慮匿名性的用戶來說,隱私益處通常超過性能權衡。
結論: Tor 路由使 ISP 更難追蹤用戶,這一特性對 Bitcoin 交易有益,可以防止 ISP 或駭客看到交易的來源。雖然 Bitcoin 位址可能指示交易發起者,但 Bitcoin 資料傳輸期間缺乏加密使其容易受到篡改。然而,在 Bitcoin Improvement Proposals(BIP)3 中已經有基於 HTTPS 的區塊鏈同步機制的提案。目前的 Bitcoin Core 4 也支援 Tor 網路選項。
- #4587 0c465f5: Allow users to set -onion via GUI (Diapolo)
參考資料