-
Notifications
You must be signed in to change notification settings - Fork 253
Open
Description
The current bootstrap protocol:
- overloads the bootstrappers, and
- skews the topology of the network
To remedy this, a new bootstrap protocol should go as follows:
- Bootstrapping becomes a dedicated network call, supported by DHT nodes
- In response to a bootstrap request, the peer returns K random peers from the network
- The node that is joining inserts these random contacts in their RT and proceeds to fill all of its tables using the random peer seeds
To load-balance (and increase speed), bootstrappers can pre-lookup random peers in the network in their free time (on a separate thread), so that they can respond immediately to step 2 (above).
Furthermore, if bootstrappers accumulate a set of N >> K random peers in the network, they can respond to bootstrap queries (step 2, above) by picking a random subset of size K from the accumulated N.
Stebalien, aarshkshah1992 and RubenKelevra