Bitcoin Forum
December 05, 2016, 12:40:38 PM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Lets use "UDP hole punching"  (Read 1855 times)
ThePok
Full Member
***
Offline Offline

Activity: 137


View Profile
June 04, 2012, 07:23:18 PM
 #1

Hi!

Why dont we use "UDP hole punching"

"UDP hole punching is a commonly used technique employed in network address translator (NAT) applications for maintaining User Datagram Protocol (UDP) packet streams that traverse the NAT."

Its the Sytem that the old Skypeprotocol did use!

Heres the Wikiarticle: http://en.wikipedia.org/wiki/UDP_hole_punching

It could let Bidcoinnodes behind firewalls talk direcly to each other, that would result in less stress on the listeningnodes. They only had to make known cients behind firewalls to each other.

Blocks could be exchanged indepentendly!

It would create thousends of semi-listening-hosts Smiley
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1480941638
Hero Member
*
Offline Offline

Posts: 1480941638

View Profile Personal Message (Offline)

Ignore
1480941638
Reply with quote  #2

1480941638
Report to moderator
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
June 04, 2012, 07:54:24 PM
 #2

My understanding of "UDP punching" is an interm party is used to allow the two firewalled entities to communicate.

In Bitcoin that would be listening nodes.

Instead of:
Firewalled Node < -----  Listening Node

It becomes:
Firewalled Node <------ Listening Node as a relay <--------- Firewalled Node

Since the listening node already has a complete block chain it makes little sense to act as a relay and instead just provide the requested data directly.
ThePok
Full Member
***
Offline Offline

Activity: 137


View Profile
June 04, 2012, 07:58:49 PM
 #3

no....

read the Wikiarticle again Wink


It becomes:
Firewalled Node <---------------> Firewalled Node

Listening Node is only used for initalisation. The firewalled nodes have to know the IP of the other node, and they have to send and recive in a ~5 minit Timewindow to get the Connection going Smiley

Heres a better description:
http://www.brynosaurus.com/pub/net/p2pnat/
Theo
Newbie
*
Offline Offline

Activity: 22



View Profile
June 04, 2012, 10:14:30 PM
 #4

Bitcoin does not use UDP. It's not trivial to add a reliable UDP transport on top of a TCP-based application. Certainly possible, but usually not worth the hassle.
ThePok
Full Member
***
Offline Offline

Activity: 137


View Profile
June 05, 2012, 09:57:24 AM
 #5

But it would make it much harder to DOS the Bitcoinnetwork! At least it would work for some days, even without listeningnodes at all!
Matt Corallo
Hero Member
*****
expert
Offline Offline

Activity: 751


View Profile
June 06, 2012, 11:37:31 PM
 #6

TCP hole punching does exist and works very similar to the UDP variant, so TCP isnt whats holding us back.  Its quite doable, but getting two peers to know about each other and be willing to start a connection between them in a completely decentralized fashion takes a ton of work, so no one has done it yet for bitcoin.

Bitcoin Ubuntu PPA maintainer - donate to me personally: 1JBMattRztKDF2KRS3vhjJXA7h47NEsn2c
http://bitcoinrelaynetwork.org maintainer
PGP ID: 07DF 3E57 A548 CCFB 7530  7091 89BB B866 3E2E65CE
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!