如何使用 Tor 將比特幣設置為匿名?
比特幣被計費的東西很多,其中高度重視它的匿名性。雖然交易確實不能辨識使用者或錢包,但最近的新聞表明,通過“有根據的猜測”方法可以辨識交易發起者的 IP 地址,隱私可能會受到部分破壞。
如何設置使用 Tor 完全匿名使用比特幣?
這不是關於 Tor 的全面培訓,只展示瞭如何配置它以與比特幣核心一起工作。
比特幣核心包括 Tor 集成
當您的系統上正確設置了 Tor 時,Bitcoin Core 會自動辨識 Tor 並創建匿名服務。只需很少的配置即可“脫離電網”,如果這對您很重要,則只需一點點即可完全匿名,您的比特幣流量不會到達公共網際網路。
使用這些步驟,您只需五分鐘即可匿名。
有了完整的隱私設置,交易當然仍會被廣播,但只會被其他比特幣節點實際廣播到公共網際網路上。使用標準的“離網”Tor 設置,您的比特幣流量將通過匿名 Tor 網路路由,然後到達公共網際網路和 Tor 網路內外的其他比特幣節點,從而有效地無法追踪。
設置比特幣核心和 Tor
這些說明適用於 Fedora 23>29,並假定預設設置為 Bitcoin Core v0.15.1和 Tor v0.2.7.1 或更高版本(並且已經過測試,可在 Fedora 27 上與帶有 Tor v0.3.1 的 Bitcoin Core v0.16.0 一起使用。 9)。Fedora 是一種現代作業系統,可在大多數標準現代硬體上執行。Windows 上的配置相同,但說明不同。這裡有一些關於在 Windows 上設置 Tor 的說明。
其他基於 *nix 的系統的進一步說明可在此處獲得。注意:您不需要將 Tor 客戶端配置為 Tor 執行的中繼或出口節點,因此您可以跳過該指南中的“放置配置文件 /etc/tor/torrc 位置:”步驟。您仍然需要使用本指南中的以下所有步驟。
設置 Tor
安裝tor包:
sudo dnf install tor
啟動 tor 守護程序並確保它在啟動時啟動:
do systemctl enable tor do systemctl start tor
2. 找出你的`torrc`文件在哪裡(`/etc/tor/torrc`是一種可能性)。 3. 打開`torrc`文件進行編輯:
xhost +local: ## skip if earlier than v29 only needed for Wayland sudo gedit /etc/tor/torrc
*要麼*
sudo nano /etc/tor/torrc
4. 將這些行添加到您的`torrc`(或確保它們未註釋):
ControlPort 9051 CookieAuthentication 1 CookieAuthFileGroupReadable 1
5. 您需要弄清楚 Tor 正在使用什麼組。在 Fedora 23 上是`toranon`. 執行以下命令:
ps -eo user,group,comm |egrep ’tor’ |awk ‘{print “tor group: " $2}’
6. 您需要弄清楚正在執行的使用者 bitcoind 或 bitcoin-qt。在比特幣執行時執行以下命令:
ps -eo user,group,comm |egrep ‘bitcoind|bitcoin-qt’ |awk ‘{print “Bitcoin user: " $1}’
7. 以 root 身份執行以下命令,將您的比特幣使用者添加到 tor 組。將 TOR_GROUP 和 BITCOIN_USER 替換為上面找到的實際資訊:
sudo usermod -a -G TOR_GROUP BITCOIN_USER
如果您不修改任何其他設置,Bitcoin Core 通常會通過正常 Internet 連接,但也會允許與隱藏的 Tor 服務進行連接。 8. 因此,Bitcoin Core 將僅通過 Tor 連接(對於標準的“離網”設置),將這些行添加到`bitcoin.conf`. 在 Bitcoin Core 中,轉到設置 -> 選項 -> 打開配置文件。Bitcoin Core 預設使用 Tor 流隔離:
proxy=127.0.0.1:9050 #If you use Windows, this could possibly be 127.0.0.1:9150 in some cases. listen=1 bind=127.0.0.1
9. (可選)如果您願意,可以添加一些洋蔥服務對等節點進行連接。如果您執行以下所有可選配置,這將特別有用。將以下行添加到您的`bitcoin.conf`文件中。比特幣核心將在任何時候隨機連接最多八個,具體取決於哪些線上:
#Add seed nodes seednode=wxvp2d4rspn7tqyu.onion seednode=bk5ejfe56xakvtkk.onion seednode=bpdlwholl7rnkrkw.onion seednode=hhiv5pnxenvbf4am.onion seednode=4iuf2zac6aq3ndrb.onion seednode=nkf5e6b7pl4jfd4a.onion seednode=xqzfakpeuvrobvpj.onion seednode=tsyvzsqwa2kkf6b2.onion
#And/or add some nodes addnode=gyn2vguc35viks2b.onion addnode=kvd44sw7skb5folw.onion addnode=nkf5e6b7pl4jfd4a.onion addnode=yu7sezmixhmyljn4.onion addnode=3ffk7iumtx3cegbi.onion addnode=3nmbbakinewlgdln.onion addnode=4j77gihpokxu2kj4.onion addnode=546esc6botbjfbxb.onion addnode=5at7sq5nm76xijkd.onion addnode=77mx2jsxaoyesz2p.onion addnode=7g7j54btiaxhtsiy.onion addnode=a6obdgzn67l7exu3.onion addnode=ab64h7olpl7qpxci.onion addnode=am2a4rahltfuxz6l.onion addnode=azuxls4ihrr2mep7.onion addnode=bitcoin7bi4op7wb.onion addnode=bitcoinostk4e4re.onion addnode=bk7yp6epnmcllq72.onion addnode=bmutjfrj5btseddb.onion addnode=ceeji4qpfs3ms3zc.onion addnode=clexmzqio7yhdao4.onion addnode=gb5ypqt63du3wfhn.onion addnode=h2vlpudzphzqxutd.onion addnode=n42h7r6oumcfsbrs.onion:4176 addnode=ncwk3lutemffcpc4.onion addnode=okdzjarwekbshnof.onion addnode=pjghcivzkoersesd.onion addnode=rw7ocjltix26mefn.onion addnode=uws7itep7o3yinxo.onion addnode=vk3qjdehyy4dwcxw.onion addnode=vqpye2k5rcqvj5mq.onion addnode=wpi7rpvhnndl52ee.onion
如果您還希望 Bitcoin Core 僅連接到 Tor 隱藏服務,甚至不通過 Tor 網路代理連接到公共網際網路上的 IPv4/IPv6 節點: 10. `bitcoin.conf`(可選)為了完全匿名(不是特別推薦),還要添加這個*:
onlynet=onion
**注意:如果地址不足,Bitcoin Core 仍將通過 DNS 查找查詢對等地址。這也可以使用下一個選項禁用。但是,您的節點可能無法找到要連接的任何其他節點。* **注意:Bitcoin Core v0.15.1 目前似乎在節點啟動時建立了一些出站 IPv4 連接,即使`onlynet=onion`在初始啟動後沒有觀察到。這些連接應該通過您的洋蔥代理進行,但是,已經觀察到使用下一個選項來阻止它們。* 11. (可選)(高級)如果您還想禁用 DNS 查找來查詢對等地址,那麼還要添加以下內容`bitcoin.conf`(不是特別推薦)*注意:如果您使用此選項,您的節點可能無法找到對等點,直到您添加一些好的與`addnode=`參數同行。*:
dnsseed=0 dns=0
12. 重啟tor:
sudo systemctl stop tor sudo systemctl start tor
13. 註銷您的使用者,重新登錄(這是為了讓您的新使用者組權限生效,我不知道您在哪個使用者上執行 Bitcoin Core)。 14. 重啟比特幣核心。由於 Tor 版本 0.2.7.1 和更新版本,名為 bitcoin-qt 的比特幣核心 GUI 版本會自動註冊您的 Tor 隱藏服務並使其可在洋蔥網路上訪問。對於 Bitcoin Core 的命令行版本 bitcoind,將以下參數添加到您的命令行:
bitcoind -listenonion
與 Tor 一起工作的一切都不需要埠轉發,包括通過 Tor 隱藏服務的傳入連接,您不需要為此轉發 Bitcoin Core 或 Tor 的任何埠。 如果您希望您的比特幣節點仍然可以通過公共網際網路公開訪問以進行傳入連接,您仍然需要為比特幣核心轉發埠 8333。 ### 檢查一切正常 只有兩件事可以檢查一切是否正常。在 bitcoin-qt 的調試視窗中檢查對等點資訊,當您點擊對等點時,您應該看到與 IPv4/IPv6 對等點的連接現在具有一些額外的連接“通過”資訊以及對等點地址。洋蔥地址僅通過 Tor 路由。 通過控制台或 CLI 檢查相同的內容`getnetworkinfo`,您應該看到每種網路類型的代理資訊,並且檢查`getpeerinfo`您應該看到該`addrlocal`資訊是每個對等點的遠端地址。Onion peers 沒有`addrlocal`並且只有他們的洋蔥服務名稱`addr`。 要檢查的第二件事是您的入站 Tor 連接的洋蔥服務已啟動並且所有配置都已到位。查看您的`debug.log`文件,在最近的節點重新啟動後,您應該會看到一些與以下內容匹配的條目:
2018-02-10 06:31:48 InitParameterInteraction: parameter interaction: -proxy set -> setting -upnp=0 2018-02-10 06:31:48 InitParameterInteraction: parameter interaction: -proxy set -> setting -discover=0 … 2018-02-10 06:32:13 Bound to 127.0.0.1:8333 … 2018-02-10 06:32:13 torcontrol thread start 2018-02-10 06:32:13 tor: Got service ID {onion}, advertising service {onion}.onion:8333 2018-02-10 06:32:13 AddLocal({onion}.onion:8333,4)
該`advertising service`資訊是您的洋蔥服務地址。 在 中`debug.log`,與洋蔥節點的連接將如下所示,但仍顯示在 bitcoin-qt 調試視窗的 peers 選項卡中:
2018-02-10 06:34:07 receive version message: /Satoshi:0.15.1/: version 70015, blocks=508469, us=[::]:0, peer=7
**無需**在調製解調器/路由器上配置埠轉發即可執行 Tor 。如果您位於限制性防火牆後面,則*可能*需要配置**出站**連接以允許 Tor 連接到其他 Tor 節點。如果有幫助,可以將 Tor 配置為僅使用埠 80/443 進行連接。請參閱**附錄 1 - 監控 Tor**以了解`nyx`和訪問完整的 Tor 配置選項。 由於發送者和接收者都知道,因此很難完全匿名,但是,您可以混淆您的交易來源,這樣您的數據就無法在不破壞 Tor 網路的情況下通過 IP 地址進行追踪。做一些研究,`onlynet=onion`是更安全的。 此外,已經對繪製區塊鏈進行了研究[[1]](https://graphsense.info/) [[2]](https://datalion.com/visualizing-blockchain-7-beautiful-informative-bitcoin-visualizations/),試圖追踪所有 BTC 的來源,可能辨識來源<-wallet<-purchase,並取決於 UTXO 的組合,可能辨識錢包餘額或錢包平衡子集。數據關聯是我們可能都關心的隱私問題,[本文討論了比特幣混幣器的使用](https://envisionourfuture.tumblr.com/post/184433625869/future-money-requires-privacy),以及這一[系列推文](https://twitter.com/Willtech101/likes)。 完畢!享受匿名! ### 附錄 1 - 監控 Tor [您可以使用nyx](https://nyx.torproject.org/)監控(並進一步調整/破壞)Tor 。 有幾種安裝方法可用。在 Fedora 27 上:
sudo dnf install nyx
要啟動 nyx,只需`nyx`在控制台中輸入,如果 Tor 正在執行,它將連接到 Tor。 ### 腳註 一旦正確配置,大多數同步問題都與您的硬體有關。有關更多資訊,請參閱[此答案](https://bitcoin.stackexchange.com/a/69862/75001)。 有更多可用的配置選項,以及可以支持 Tor 網路的其他方式。請參閱[此處](https://trac.torproject.org/projects/tor/wiki/TorRelayGuide)提供的幾個頁面以獲取資訊。 感謝 en.bitcoin.it 為我提供了出色的[指導](https://en.bitcoin.it/wiki/Setting_up_a_Tor_hidden_service),讓我開始了這方面的工作。 更多資訊可從[這裡](https://github.com/bitcoin/bitcoin/blob/master/doc/tor.md)的比特幣項目獲得。 對於更高級別的匿名性,可以將 Tor 配置為 DNS 解析器,並配置您的系統網路配置以使用 Tor 來解析 DNS 查詢。 *預設情況下,Tor 將參與 Tor 網路。