Bitcoin Forum

Other => Beginners & Help => Topic started by: bob1029 on July 22, 2011, 01:06:04 PM



Title: Bitcoin P2P Nat Traversal Question
Post by: bob1029 on July 22, 2011, 01:06:04 PM
I would post this in the developer board, but I am stuck here.  I would like to know the technique that the official bitcoin client uses to handle NAT traversal and bootstrapping of peers.  Is a 3rd party used to negotiate traffic, or is some more clever protocol being used?  I noticed that the client seems rather robust, so I would like to know how this is done.


Title: Re: Bitcoin P2P Nat Traversal Question
Post by: Stephen Gornick on July 22, 2011, 10:32:36 PM
I would post this in the developer board, but I am stuck here.  I would like to know the technique that the official bitcoin client uses to handle NAT traversal and bootstrapping of peers.  

The client works without inbound connections, though performance is higher when an incoming port is opened or by enabling UPnP.

UPnP may, or may not be enabled as a default, depending on which version of the GUI software you are using.

When the client does not yet know of any peers  (e.g., during the very first time start up) or it cannot contact the peers it does know about the client will then bootstrap to find peers using IRC (or, if the client uses -dnsseed, a DNS lookup).
 - http://en.bitcoin.it/wiki/Network#Bootstrapping


Title: Re: Bitcoin P2P Nat Traversal Question
Post by: croraf on October 29, 2017, 08:59:37 PM
How can it work without inbound connections? Can it receive blocks and transactions from peers without them?


Title: Re: Bitcoin P2P Nat Traversal Question
Post by: jnano on October 29, 2017, 10:17:19 PM
though performance is higher when an incoming port is opened
In what way is it quicker? Getting notified about new transactions rather than polling?

How can it work without inbound connections? Can it receive blocks and transactions from peers without them?
Same as any other client-type software: by initiating the connections yourself.