tradle / why-hypercore

Exploration of Hypercore's breakthrough designs and capabilities, uncovering its gems that may be scattered across different github accounts (official and community-led), and learning to think from the "first principles" of P2P, while using the best Cloud, AI and blockchain have to offer.
MIT License
81 stars 7 forks source link

Hyperswarm topic security and peer filtering #2

Open urbien opened 4 years ago

urbien commented 4 years ago

Problem

On any given Hyperswarm DHT topic lookup give me plenty of spurious peers (that I do not know where they came from). They are definitely not my peers who have announced themselves on this DHT topic. We saw the same with bittorrent-dht when we used it to experiment with NAT hole punching in 2014.

I see the following issues with this:

What exists in Hypercore already and why is it lacking?

Data can already be put in Hyperswarm DHT, which can then be used to select the right peer (phone / PC / server, a particular server replica that is not overloaded, my second device that needs to be replicated to, etc.).

Proposal

Put a bouncer at the door - only accept signed announces to DHT This will:

What detrimental effects could it have on DHT? Has it being tried before?

Who else implemented similar things?

  1. First of all BitTorrent BE44 expands from BEP5 which allowed to store IP,port of peers to using DHT as a generic key-value tore.

  2. Need to study webtorrent implementation of tokens, signing for mutable content