I just have a look on Hydra booster which introduces a multi-peerIDed node with a same table/IP address and this changelog which introduce IP diversity in order to be resilient to sybil attacks.
If I merge both ideas, it creates some limitations for Hydra booster nodes because this type of node cannot be inserted multiple times into the routing table. Am I right ? Is it a good way to consider hydra booster ?
Yes that true.
However all that matter is that at least one hydra head is so bad that it end up in the zero bucket.
Which happen in most cases.
Here is the current 0 bucket on my server:
Bucket 0 (20 peers) - refreshed 31s ago:
Peer last useful last queried Agent Version
@ 12D3KooWHMEZhtHSzRFnFavoCtmCVAAtRqqaaFewiD4tQfQerbVf 37s ago 6s ago go-ipfs/0.13.0/c9d51bbe0
@ 12D3KooWKfSQwnSEMZ3FB45uE51JazgtF7Ac8MTckGMMnnABkpDx 60h58m41s ago 41s ago hydra-booster/0.7.4
@ QmQUinkcKDYAmUfVxreCN6tWvR6o7oTz9LtmwSYVNN9fYA 32m33s ago 4s ago go-ipfs/0.9.0/236f89018
@ 12D3KooWB79uM8MiwEtn3RCZLGAssa9SBaeKWr89zUjCytvjCXRG 21h25m41s ago 37s ago go-ipfs/0.7.0/
@ 12D3KooWBszbJcQut3gW8CYPNgXsECiiRCMGm17xUb4Lr2iKQZEh 99h34m1s ago 37s ago go-ipfs/0.13.0-dev/aa5336f
12D3KooWMZ5Eyj9unntzZjeDmeDasjWWERav7KvX5igYtBPyWzTw 4m46s ago 4m13s ago go-ipfs/0.10.0/64b532f
12D3KooWFPz7XLnitK9h3vdxk5WGiEkhYAtDbYDdNyB3fwfoyMMw 118h45m8s ago 4s ago go-ipfs/0.7.0/
12D3KooWLcKfQRj1MPoCTdXbafGPhKFWnXnRHj1R5ypcEAaNsDkD 37s ago 37s ago go-ipfs/0.7.0/
@ 12D3KooWE1yUXEwr2pT8NpGw3igGsBLuPochk4vAJgbyJfdTXouB 32m33s ago 4s ago go-ipfs/0.12.2/0e8b121ab
@ 12D3KooWM96X5F1Kzy87snMwzgeyncMH6a5R24MovrWUaLCn1XqV 281h29m12s ago 52s ago hydra-booster/0.7.4
@ QmTSugcq3XnRd6YbdwMynGPdH3tSaQV8ujjYyM4EjkqwNw 41s ago 37s ago go-ipfs/0.11.0/
@ 12D3KooWDKkYwctGQdTJJTnrHtSYNaaUwhB13r21PKpWaFFW5drg 395h27m33s ago 37s ago hydra-booster/0.7.4
@ 12D3KooWFExp2DmZcS2y5qDXftimt9hZmoCAmBhjMp1PDbxry51F 47s ago 4s ago go-ipfs/0.10.0/64b532f
@ 12D3KooWGtMtQPhM1hc49smv7ZMDrc4EwXsyrg1gypx3DE1TRy8Z 278h53m3s ago 4s ago go-ipfs/0.14.0-dev/b38bbfa
@ 12D3KooWSFbAi1xaXpszGfbgMe7FT2A5XnXQgYS4ZY6DrcFJNCea 4m33s ago 4s ago go-ipfs/0.7.0/
@ 12D3KooWSuV8o7g4v8y2AFYG5DCs3eQtB5ALQ48H3VMGpGGzVB1n 47s ago 4s ago go-ipfs/0.7.0/
@ 12D3KooWHKbMmS2Cc44wQW3XJjDN5UTewKX2HwX6DDSKYGLiRbPu 15h44m30s ago 4s ago go-ipfs/0.12.2/
@ QmV8QTSkPvFyUG33CRWCgT8f1UmE5e7WhuWMWvcCBMBSq2 41s ago 37s ago go-ipfs/0.11.0/
@ Qmd4bdd9X76zahVdMyjrLisWj5SazPJ9AJ7d1PpVyCoMA9 55s ago 4s ago go-ipfs/0.11.0/
@ 12D3KooWNHw5J8EoGBwNPabVhwtVXWVtp1VHqhKbeWVZ5x5w55Zg 49m30s ago 4s ago go-ipfs/0.10.0/64b532f
It’s very clear that most of them are AWS instances (172.31.*) but there is far more than one head.
The goal of IP diversity is to prevent eclipse attacks, where someone full get your node offline of the network easily (just by precomputing a few TiB of key pairs) which is still pretty relaxed.
Yeah, the zero bucket is the first one, it’s the bucket with no matching bits.
It contains the 50% worst of the network (the 50% which have the first bit different from you).