In the js version we prefixed KAD IDs with the lat/lng of the user's geolocation on a Hilbert Curve... This meant that peer routing decisions and peer suggestions would tend to return peers that were geographically close to the target which could improve cold start performance...
The risk (outlined in BEP 42) is that allowing peers to arbitrarily pick IDs enables sybil attacks where malicious users block access to a parts of the network by filling the surrounding addresses with uncooperative hosts.
In the js version we prefixed KAD IDs with the lat/lng of the user's geolocation on a Hilbert Curve... This meant that peer routing decisions and peer suggestions would tend to return peers that were geographically close to the target which could improve cold start performance...
The risk (outlined in BEP 42) is that allowing peers to arbitrarily pick IDs enables sybil attacks where malicious users block access to a parts of the network by filling the surrounding addresses with uncooperative hosts.