Should I leave the Bitcoin client open?

59

3

Some people recommended that I leave my Bitcoin client open because it helps the network.

Apart from the security implications, why should I do this? I thought that miners were the ones responsible for validating transactions and including them in the blockchain. What role does the Bitcoin client play in the network?

nmat

Posted 2011-08-31T17:17:07.153

Reputation: 11 179

Answers

34

Bitcoin is a peer-to-peer network, which means that the clients not only receive the blocks from other clients, but send out the blocks to other clients. (You may notice the "connections" number in the bottom right of the original client. You can think of this as "peers" in a torrent client). So yes, by having your client open you are technically helping relay the recent blocks out across the network faster than they would get their otherwise, but there is really no reason to keep a client running all the time.

At one point, the client also doubled as a CPU miner, but we are far past the point where that is useful from a security point of view.

lemonginger

Posted 2011-08-31T17:17:07.153

Reputation: 5 242

@lemonginger, What do you mean by "but we are far past the point where that is useful from a security point of view"? – Pacerier – 2014-05-23T14:43:22.623

1

I accept as correct, but David Schwartz's answer is worth checking for some additional details and limitations.

– nmat – 2011-09-02T04:01:32.433

46

I would add two points to those already mentioned: First, if you cannot accept inbound connections (because you are behind NAT or have specifically disabled them) you won't really be helping the network. Second, if you are running any version earlier than 0.3.24, you could actually be harming the network, due to a bug in those versions.

For some reason that isn't well-understood, the Bitcoin peer-to-peer network is consistently short of available inbound connection slots. This makes it more difficult for newly-started clients to establish a resilient connection to the Bitcoin network. If you can accept inbound connections, leaving your client running helps reduce this problem.

David Schwartz

Posted 2011-08-31T17:17:07.153

Reputation: 48 957

@DavidSchwartz. Why is it a questionable decision. The risk of UPnP comes from the router not the clinet. i.e. user installs malicious software on computer and uses UPnP to modify firewall to allow attacker inbound access and then notifies attacker of vulnerable system. However Bitcoin client creates no risk. If uPnP is turned off the feature does nothing (client can't force a uPnp connection when disabled in router). If UPnp is enabled the system is already at risk (how much is subject to debate). Personally I think the risk is overstated for most systems. – DeathAndTaxes – 2011-10-17T21:43:26.633

2It's questionable because a program shouldn't assume the right to open a port in a UPnP setup. That's something a program should request permission to do. Also, there were political issues involving that decision and competing suggestions that I don't think were resolved in a good way. – David Schwartz – 2011-10-17T22:18:00.287

Thanks. It would help if you could also indicate the impacts of running short of available inbound slots. – nealmcb – 2011-08-31T20:24:48.600

2If you have compiled bitcoin with UPNP support (the pre-packaged version has this) and your router supports it, you can accept inbound connections even behind NAT – wumpus – 2011-09-01T11:17:01.077

@DavidSchwartz, When you mentioned "the Bitcoin peer-to-peer network is consistently short of available inbound connection slots", do you mean that this is not a problem other networks like torrents have? – Pacerier – 2014-05-23T14:48:44.400

4UPnP was enabled by default in the pre-compiled Windows client because the problem of the lack of inbound connection capacity was so severe. Many people, including myself, consider this a questionable decision. – David Schwartz – 2011-09-01T11:20:01.010

-1

Turning your client off gives it a chance to fall behind the network. The client is so bad at downloading the block chain from other clients, that if you fall more than few days behind, you'll have to download a copy of the block chain from the nightly archive in order to catch up.

user1513

Posted 2011-08-31T17:17:07.153

Reputation: 101