Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: adrelanos on December 10, 2013, 01:44:41 AM



Title: What are bitcoin hidden service good for?
Post by: adrelanos on December 10, 2013, 01:44:41 AM
Referring to https://github.com/bitcoin/bitcoin/blob/master/doc/tor.md "Run a bitcoin hidden server"...

What is a bitcoin Tor hidden service good for? Is there any benefit for the user? Does the network benefit as a whole? Does it help mining? Anything else?


Title: Re: What are bitcoin hidden service good for?
Post by: dewdeded on December 10, 2013, 02:45:44 AM
(Edited.)

Sorry, I was wrong, I removed my posting.


Title: Re: What are bitcoin hidden service good for?
Post by: Qoheleth on December 10, 2013, 03:58:16 AM
Unmodified bitcoind can connect through tor, but it can only have outgoing connections, not incoming ones. Tor hidden services are the only way to be a full peer without revealing to an eavesdropper that you, personally, use Bitcoin.

Also, they're a service to other Tor+bitcoin users, because it means that those users have a peer they can connect to which isn't susceptible to exit node MitM.


Title: Re: What are bitcoin hidden service good for?
Post by: adrelanos on December 11, 2013, 05:21:34 PM
I guess, if you run an illegal marketplace/shop on TOR with your own bitcoind for payment (processing).
I guess features are not implemented to feature running illegal businesses.

You don't want this bitcoind on clearnet for privacy reasons/to keep your anonymity/don't want to risk to expose your real hosting IP, via Clearnet leakage by bitcoind.
Sure. That assumes, that bitcoind will make non-torified connections incoming or outgoing. Not sure about that, see below.

Unmodified bitcoind can connect through tor, but it can only have outgoing connections, not incoming ones.
Are you sure about that?

What kind of incoming connections are we talking about? There are two kinds of incoming connections. I haven't found a good summary and try to explain it. When one fetches a web page, you usually do not need any router port forwardings / open ports. Not an open port in that sense. Bitcoin is capable of the same. I've used Bitcoin-Qt inside Whonix, where no incoming connections of that sort are possible without using hidden services and it worked [tested client functionality only]. [In Whonix also no untorified connections are possible.] So in client mode, Bitcoin does not seem to require any more connectivity than a web browser.

Using a hidden service can be compared with the anonymous equivalent of opening a port in a router. Both, a hidden service and an open port allow one to run a server. Server software will be able to answer requests by other clients, such as web servers will be able to answer web browsers and they knew nothing about beforehand. and didn't expect [In comparison to pure client mode, clients such as web browsers can only get incoming connections for stuff they recently asked for and are prepared to receive.]

If it were the case, that Bitcoin makes non-torified connections when only using the socks proxy and not using Tor hidden services, then https://github.com/bitcoin/bitcoin/blob/master/doc/tor.md should probably make that clear. At the moment that is not the case.

Also, they're a service to other Tor+bitcoin users,
I can imagine it's a service for the network.

have a peer they can connect to which isn't susceptible to exit node MitM.
If it's hosted by trusted peer, that would make sense. Otherwise risk to connect to the type of person "exit node mitm" would be even higher.


Title: Re: What are bitcoin hidden service good for?
Post by: gmaxwell on December 12, 2013, 01:05:26 PM
Without HS support the Bitcoin network cannot operate on just Tor alone, it requires IPv4 Bitcoin nodes to be healthy, available, and uncensored. With HS support Bitcoin can run entirely within Tor.  HS support also allows nodes behind tor to add listening capacity to the network, otherwise all you can do is consume the listening capacity provided by others.

As a result, contrary to claims in this thread, HS' do reduce sibyl attack risks: The additional connections you get from being a HS supporting are additive, and so they can never reduce your security against isolation. Without inbound connections a node only runs outbound sockets, so it consume the inbound socket capacity of the network without giving back to it, so the number of connections which nodes can sustainably make out is limited. Accepting HS connections inbound allows you to sustainably have many more connections, increasing the chance of being connected to the honest network even if most are sybils.

Tor's default selection of exit circuits also causes exit clustering which can reduce privacy— you'll connect to Bitcoin peers (potentially _all_ your Bitcoin peers) through the same circuit you use to browse web pages, which can create linkages visible to exits which deanonymize you. This can be avoided in a number of ways, but it's avoided completely simply by using hidden services.

Finally, the Tor network is often strapped for exit bandwidth. Interior bandwidth is generally much more plentiful. HS' have higher latency but often achieve much higher throughput— a reasonable match for most Bitcoin usage.

Thats it, — no yadda yadda about illegal crap. Bitcoin's HS support makes Bitcoin over tor more privacy, more scalable, and less brittle.