We use pkarr at iroh.computer for node discovery. It is anything but slow. It is very rare for a lookup to take more than a few milliseconds. It is sometimes faster than our non-p2p node discovery option which is using DNS.
DHTs get a bad rap because of many recent DHTs that were horribly inefficient. But mainline is different. Many of the design decisions of mainline seem very limiting at first, but make a lot of sense for perf.
E.g. a pkarr record can only be 1000 bytes, so the entire message fits into a single non-fragmented UDP packet.
Creator here. It takes around 30ms to resolve a public key DNS entry on the DHT. After the first resolution, the entry is obviously cached according to the configured time-to-live (ttl).
It's not as fast as regular DNS, 30ms is still very quick.
I also have https://GitHub.com/anacrolix/btlink which maps domain ownership, website mutation, and DNS hooking using a http proxy
https://github.com/mwarning/KadNode ?
Cool project. I love the idea of building decentralized internet infrastructure on the back of the mainline DHT.
What are the downsides for this system?
The domain names are public keys so they can't be easily remembered, spoken...
This is their example:
http://7fmjpcuuzf54hw18bsgi3zihzyh4awseeuq5tmojefaezjbd64cy/
It’s probably extremely slow. But that’s the price you pay for resilience.
We use pkarr at iroh.computer for node discovery. It is anything but slow. It is very rare for a lookup to take more than a few milliseconds. It is sometimes faster than our non-p2p node discovery option which is using DNS.
DHTs get a bad rap because of many recent DHTs that were horribly inefficient. But mainline is different. Many of the design decisions of mainline seem very limiting at first, but make a lot of sense for perf.
E.g. a pkarr record can only be 1000 bytes, so the entire message fits into a single non-fragmented UDP packet.
Creator here. It takes around 30ms to resolve a public key DNS entry on the DHT. After the first resolution, the entry is obviously cached according to the configured time-to-live (ttl).
It's not as fast as regular DNS, 30ms is still very quick.
Wow that is pretty quick. I’m glad to hear it.
Wow, this is amazing, thanks for sharing