Bitcoin and Lightning Nodes Port Forwarding FAQ
If often have questions about port forwarding and what it means, so I thought I would write down my responses.
Why should I care about port forwarding?
Port forwarding is needed when any kind of computer (laptop/desktop/server/mobile) on the internet needs to initiate a connection to you and you are behind a typical home internet router.
This is key: even without port forwarding, you can initiate a connection to others who do have port forwarding enabled (or they don’t need it).
You port forwarding is only needed if others are making a connection to you.
You port forwarding is not needed if you are making a connection to others.
Should I port forward 8333 for my Bitcoin node?
TLDR: No, unless you really want to
You can sync your Bitcoin node and transact using Bitcoin without port forwarding.
Not port forwarding does not affect the trust model of your node, you are still fully validating blocks and transactions.
If you don’t want to, you don’t have to open ports at all. You’ll still have a full node, it will just have fewer connections. Full nodes usually make 8 outgoing connections and can have many more incoming if you have the port open (for a total of 125 by default). Incoming connections can also be SPV (phone) wallets, or other full nodes.
So the benefit is that you’re helping out the network a little bit more providing connection opportunities and bandwidth to more other full and non-full nodes. There’s not really a shortage at the moment though.
If you understand but don’t care that you may be helping the network very little or you may have a lot of upload bandwidth consumption, then consider port forwarding! Note that these are mutually exclusive, if you have a lot of upload traffic then you are helping the network a lot!
Here’s how to set up port forwarding for your Bitcoin node: https://bitcoin.org/en/full-node#port-forwarding
Do not forward ports other than 8333 or 18333 (if you’re running a testnet Bitcoin node), unless you know what you are doing.
Should I port forward 9735 for my Lightning node?
TLDR: No, unless you want to be a public routing node, online 24/7
You can open channels, send and receive payments on the Lightning Network without you port forwarding.
The decision to port forward 9735 for your Lightning node is entirely separate from the decision to port forward 8333 for your Bitcoin node, you can forward one without forwarding the other!
A “peer” is just someone else’s Lightning node.
Opening a connection with a peer is not the same as opening a channel with a peer!
A connection with a peer just means that you are directly communicating on the p2p network with a specific node. You can have an infinite number of connections. You do not have to open a channel to connect with another LN node.
Not port forwarding means that other LN nodes will not be able to connect to you, but you can still connect to them!
A channel with a peer is what will allow you to send and receive your payments, as well as route the payments of others.
You and the peer have to be connected to each other before you can open a channel.
If you do not have port forwarding, then you will have to take the initiative and connect to other peers. After you connect to a peer, you can ask them to open a channel to you, or you can again take the initiative and open a channel to them.
If you do have port forwarding, then others can connect to you and open channels to you without you taking the initiative. This is ideal for “routing” nodes, but unnecessary for “user” nodes.
I hope you found that helpful!
Respond to this thread if you have suggestions to improve the article:
Checkout https://lightningpowerusers.com/home/ if you’re looking for a routing node to connect to!