Author

Topic: Tor Support via Onion cat (onion in IPv6) (Read 1878 times)

hero member
Activity: 812
Merit: 1022
No Maps for These Territories
June 21, 2011, 01:52:49 AM
#2
Sounds good. This has bothered me as well. By default, it only uses tor to connect via an exit node to other bitcoin clients. It should prefer connecting to hidden services inside the Tor network (and open up itself as hidden service, if the user chooses so).

However, wouldn't this require IPv6 support in the client? This still needs to be implemented.

staff
Activity: 4158
Merit: 8382

Today the bitcoin client can work over Tor, but it can't connect to nodes which exist exclusively in the Tor cloud except manually. When using tor your node will just connect to regular internet nodes via tor.

This means, e.g. that while running bitcoin over tor can protect your privacy it doesn't help secure bitcoin against ddos and internet filtering attacks, because tor hidden nodes can't play much of a role.

To fix this bitcoin would need to know how to connect to onion addresses and how to share them with other nodes.

Fortunately this can be done without changing the bitcoin p2p protocol.  Bitcoin already shares addresses in IPv6 form. Fortunately the onion address space is already 80 bits and there is already a widely used mapping of onion to IPv6 called onioncat: http://www.cypherpunk.at/onioncat/wiki/OnionCat

To support this bitcoin would need to know to pack and unpack onion hostnames to onioncat IPv6 addresses, and would need to know to only attempt to connect to them via the tor-socks-proxy.  It would also be useful for it to know how to have a tor-proxy used only for onion while the rest of the connections use the public internet.

Is there any reason that this wouldn't be a good way of handling this?
Jump to: