Author

Topic: Decentralized P2P bootstrapping (Read 2776 times)

vip
Activity: 447
Merit: 258
December 26, 2011, 11:20:10 AM
#8
Secondly, what is wrong with the distributor of the P2P software just including a list of one thousand open nodes?

Bitcoin already does this (see pnSeed in src/net.cpp).  The author mentions possible concerns about this approach in his paper.
administrator
Activity: 5222
Merit: 13032
December 24, 2011, 10:37:13 PM
#7
Firstly, IPv6 would kill it.

It's still possible with IPv6. Users are always given at least a /64 allocation, so users can put their public nodes on an IP address in a well-known range within that /64. For example, an address might only be searched if it ends with at least 60 trailing zero bits. That leaves ~64 bits to search, but most of this area has not been allocated and doesn't need to be searched.
sr. member
Activity: 249
Merit: 251
December 24, 2011, 09:15:44 PM
#6
The idea proposed in the paper is foolish.

Firstly, IPv6 would kill it.

Secondly, what is wrong with the distributor of the P2P software just including a list of one thousand open nodes? The paper already proposes that the software maker needs to distribute a "small database containing success probabilities for various organizations with the P2P software" in order for his idea to work. Why not just include a list of one or more thousand nodes? Are we really worried that the thousand nodes will all be taken offline by an attacker? Do we realize that it would be far easier to simply take out the software distributor?

We have vastly more important things to worry about than this.
hero member
Activity: 575
Merit: 500
The North Remembers
December 23, 2011, 06:48:33 PM
#5
Why doesn't bitcoin use an open bittorrent tracker with encryption instead of bootstrapping off IRC?
full member
Activity: 225
Merit: 101
December 23, 2011, 06:37:33 PM
#4
Many more machines run Khashmir or Kad or something similar for P2P filesharing. Why not piggyback on one of those DHTs for bootstrapping? You could still bootstrap the DHT using this method and then look for agreed-upon keys to find peers.

I've been thinking about using that method of bootstrapping for a fully decentralized Bitcoin mixing network for automated "laundering."
full member
Activity: 154
Merit: 102
Bitcoin!
December 23, 2011, 05:18:33 PM
#3
So you basically just hit random (not exactly random) IPs until you find some that respond to the bitcoin protocol?  Interesting idea, and is a good option for when the Bitcoin network is larger.
staff
Activity: 4270
Merit: 1209
I support freedom of choice
December 23, 2011, 01:08:08 PM
#2
I hope to see this implemented on the v0.7.0 Smiley
vip
Activity: 447
Merit: 258
December 23, 2011, 12:03:12 PM
#1
I came across an interesting paper about bootstrapping a peer to peer network without a central authority (no IRC channel, no DNS seeds, not even a hardcoded seed list).

Quote
Bootstrapping Peer-to-peer Networks
Chris GauthierDickey; Christian Grothoff

In this paper, we present the first heuristic for fully distributed bootstrapping of peer-to-peer networks. Our
heuristic generates a stream of promising IP addresses to be probed as entry points. This stream is generated using statistical profiles using the IP ranges of start-of-authorities (SOAs) in the domain name system (DNS). We present experimental results demonstrating that with this approach it is efficient and practical to bootstrap Gnutella-sized peerto-peer networks – without the need for centralized services or the public exposure of end-user’s private IP addresses

The Bitcoin network may have too few nodes accepting incoming connections for this to work today, but thought it might be useful someday, as the network grows.
Jump to: