raulk
raulk
Synthesising notes of my discussions with @aschmahmann in DTN'19. I'm mostly concerned with how not to special-case this. * I believe [_retroactive subscriptions_](https://activemq.apache.org/retroactive-consumer) could be a facility available in the...
Thoughts. ## Persistence medium * Option A: persist in the peerstore. With the current API, we'd have to attach metadata to a peer indicating if it belongs in the routing...
go-ethereum seeds with a randomised sample instead of rematerializing the table verbatim, as a way to recover from borked tables. I think it’s a sensible strategy, it’s more secure, and...
In a scenario where your routing table is borked (e.g. all nodes keep their TCP connections alive but they ignore queries) and you restart, if you materialise the same table...
@Stebalien you’re right. I don’t know, it feels wrong not to introduce a randomisation component over restarts, maybe mixing in well-known/reputable nodes as well during seeding (for now, our bootstrappers;...
Basically with a mix of randomised past nodes + a few bootstrappers (to keep it simple) we should be able to recover from a borked table after a restart, albeit...
Let's try not to hardcode any behaviour, and let's make these strategies modular. That's the ethos of libp2p. Unlike a specific BitTorrent client, etc. libp2p is a library for multitude...
Note that IPNS _does_ republish the name record every 4 hours: https://github.com/ipfs/go-ipfs/blob/42e191c0170a8e818c3302dab9b5afbf968df405/namesys/republisher/repub.go#L27 But the way I see it, this is to deal with network churn, not because the DHT peers...
@dirkmc in addition to that, it helps keep storage footprint in check -- although by itself it's insufficient to deter DoS attacks exploiting that vector.
@dirkmc if you're up for making a contribution, we can guide you through it ;-)