Hacker News new | ask | show | jobs
by woah 3285 days ago
Most of the mesh networking / routing protocol community has always viewed CJDNS with great puzzlement. What is it? You're not going to find out from the community around it, who invariably respond to technical questions with lots of handwaving about how nothing else is "decentralized enough". You're not really going to get a very clear picture from the whitepaper on Github, which has a huge amount of detail on a cute encoding scheme and some handrolled crypto, but no real overview of any of the theory of the system.

It's basically a network of VPN tunnels. They call the network "hyperboria" and, as an overlay network, it runs on top of the internet. It doesn't provide anything that https doesn't already provide, but the community insists that it is a "mesh network" that will replace the internet. The basis for this claim is the fact that one could conceivably run one of the tunnels over an ethernet link. But today, as far as I can tell, it's a bunch of dudes with regular ISP connections looking at websites over a VPN. A very different thing than the community mesh networks actually providing internet access in places like Athens, Catalonia, and Berlin.

The one interesting thing about CJDNS was the DHT routing technique that they just got rid of. It could drastically cut down on the amount of memory used for routing information by each node. In theory, you could route to any destination in the world on a completely flat network. This is in contrast to the system today, where routers know about every IP reachable on their subnet and rely on other routers to deal with traffic bound for other subnets. Some previous work[1][2] (unfortunately not cited by CJDNS in their paper), can give you a much clearer and theoretically solid idea of how this works.

I believe that if somebody is ever able to make DHT routing performant, it will be a huge breakthrough. I guess CJDNS will not be that project. AFAIK the DHT routing protocol that CJDNS just replaced was not able to find optimal routes. Your packets would get to their destination somehow, but it's very unlikely that they would get there on the shortest path. Sounds like CJDNS has given up on trying to improve it, and is now purely a hobbyist VPN network with centralized control.

I highly recommend you read the papers below, DHT routing is actually very interesting. Hopefully a newer, more theoretically rigorous project to achieve this will emerge now that CJDNS has dropped the concept.

[1] http://os.itec.kit.edu/downloads/publ_2006_fuhrmann-ua_pushi... [2] https://www.microsoft.com/en-us/research/wp-content/uploads/...

1 comments

> AFAIK the DHT routing protocol that CJDNS just replaced was not able to find optimal routes. Your packets would get to their destination somehow, but it's very unlikely that they would get there on the shortest path. Sounds like CJDNS has given up on trying to improve it, and is now purely a hobbyist VPN network with centralized control.

It's not really just about optimal routes. A pretty major problem with the DHT is that it is very chatty, and even edge nodes that might like to be "left alone" are often included in the conversation. This isn't ideal for any kind of low-power or mobile device. Plus DHT convergence is incredibly slow - not great for mobile devices or jumping between networks either. It actually turns out that sometimes a bit of centralisation drastically improves efficiency.