Bitcoin Forum
November 07, 2026, 11:22:33 AM *
News: Latest Bitcoin Core release: 32.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Proposals to use TCP hole punching to make bitcoin node running behind router.  (Read 49 times)
hmbdofficial (OP)
Full Member
***
Offline

Activity: 364
Merit: 138



View Profile
November 06, 2026, 04:27:42 PM
 #1

One interesting discussion from this weeks Optech Newsletter is the proposal to use TCP hole punching to make bitcoin node running behind home routers more reachable. It’s said that currently many home nodes can establish outgoing connection but cannot easily accept incoming connections because of NAT restrictions. Thats where the whole idea of the hole punching came from and it is to allow two node to open connections to each other at nearly the same time making direct communication possible without traditional port forwarding.

What’s you guys honest view about this proposal? And what challenge do you think this may pose.
You can read the full proposal on the link provided below.
https://bitcoinops.org/en/newsletters/2026/11/06/

Antidote47k
Full Member
***
Offline

Activity: 154
Merit: 147


Spinly.io - Next-gen Crypto iGaming Platform


View Profile
November 06, 2026, 05:05:42 PM
 #2

It’s an interesting proposal. I understand the need to make home nodes more reachable, the network will benefit tremendously from a having a more diverse network of independent nodes, homes nodes generally does not accept incoming connections due to NAT which makes the network more dependent on a smaller group of publicly reachable nodes, but I’m afraid this introduces another concern, attackers are smart these days, they could make establishing direct connections to honest nodes much easier which will give them the opportunity to surveil, deny service or potentially exploit vulnerabilities.

Improving connectivity doesn’t automatically improve security. The real question is how do they improve connectivity of honest nodes to diverse peers without making it easier for attackers to reach targeted nodes? I think the implementation should account for this, aside from that, a really good proposal I would say. 

eternalgloom
Legendary
*
Offline

Activity: 2030
Merit: 1428



View Profile
November 06, 2026, 07:07:03 PM
 #3

IDK, if everything will be that smooth.
Considering TCP level bugs, wouldn't keeping inbound connection closed be safer default for home users?

Being behind any firewall means having an extra layer of security. If any new attack vector is opened while doing hole punching, you're back in risky territory.

Again, peer to peer timing and shared secret or block based derivation working properly without any central server or coordinator is very difficult. I'm 100% sure attackers will exploit those loophole to manipulate system and confuse firewalls.

If you think about Tor or other alternative routes there will be latency or other complexity.

.◼.◼.Vega.bet.◼.◼.██
██
██
██
██
██
██
██
██
██
██
██
██

...100 FS + 750% BONUS..MAX.WIN.$5,000...

███...FAST PAYOUTS  |  NO KYC  |  10% LOSSBACK...███
██
██
██
██
██
██
██
██
██
██
██
██
██

...Play Now...
ABCbits
Legendary
*
Offline

Activity: 3780
Merit: 10486



View Profile
Today at 09:55:34 AM
 #4

First of all, is there any developer or contributor willing to develop and maintain this feature? I'm not familiar with this technology. But on article that explain how NAT translation (hole punching) works, they claim TCP based one is more complex and i expect TCP based one is less popular.

We’ll be discussing these techniques generically, using Tailscale and others for examples where appropriate. Let’s say you’re making your own protocol and that you want NAT traversal. You need two things.

First, the protocol should be based on UDP. You can do NAT traversal with TCP, but it adds another layer of complexity to an already quite complex problem, and may even require kernel customizations depending on how deep you want to go. We’re going to focus on UDP for the rest of this article.

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!