mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-01-07 22:04:03 -05:00
book/p2p: add a section on swarming. requires more research to flesh out
This commit is contained in:
@@ -114,3 +114,20 @@ Apps should be able to configure:
|
||||
* Reject hosts, for example based off current overall resource utilization or the host addr.
|
||||
* Accounting abstraction for scoring connections.
|
||||
|
||||
## Swarming
|
||||
|
||||
TODO: research how this is handled on bittorrent. How do we lookup nodes in the swarm? Does the network maintain routing tables?
|
||||
Is this done through a DHT like Kademlia?
|
||||
|
||||
Swarming means more efficient downloading of data specific to a certain subset. A new p2p instance is spawned with a
|
||||
clean hosts table. This subnetwork is self contained.
|
||||
|
||||
An application is for example DarkIRC where everyday a new event graph is spawned. With swarming, you would connect to nodes
|
||||
maintaining this particular day's event graph.
|
||||
|
||||
The feature allows overlaying multiple different features in a single network such as tau, darkirc and so on. New networks require
|
||||
nodes to bootstrap, but with swarming, we reduce all these networks to a single bootstrap. The overlay network maintaining the
|
||||
routing tables is a kind of decentralized lilith which keeps track of all the swarms.
|
||||
|
||||
Possibly a post-mainnet feature depending on the scale of architectural changes or new code required in the net submodule.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user