CJDNS is a self-organising IP address allocation and routing layer. A node's public key acts as its IPv6 address, and routing uses a DHT of those nodes.
This style of network has the property that you can take two independent CJDNS networks, link them together, and all nodes are mutually addressable/routable. This is in contrast to The Internet, whose addressing is centralised on IANA.
cjdns is moderately active, though most links between nodes are via an overlay on top of the public Internet. The goal is to have physical/wireless links between geographically close nodes.
Decentralized protocols such as ipfs/scuttlebutt work particularly well on cjdns, as a file shared on ipfs in one network, will automagically become available on another network, once those networks are linked.
CJDNS + IPFS to me is a grand vision for an idealized, completely distributed web. Combine that with some sort of distributed naming system (Namecoin, etc.), and you have a system that requires literally zero central authorities to operate. You just generate your own IPv6 addresses that are derived from a private key you generate yourself, and it works out of the box with all existing applications that support IPv6. No more IP registries (ARIN/APNIC/RIPE/etc), no more BGP. It's a network that can sustain itself by millions of individuals users routing internet traffic by peering directly with other users and datacenters.
As I understand it, there was some way to de-anonymize traffic to a certain extent (which is still far better than the current situation), and that turned off some of the "purists" which is just a shame. From a practical perspective, even with some issues, getting rid of BGP is more than enough of a benefit.
I can't express enough how brilliant CJDNS is to me, it's really a magical idea. Which is not to say there won't be potential issues (even potentially existentially damning issues), but wow. I'd love to see this project move forward and get more attention. It's the first thing I've seen that really made me think about how we could design a better internet than the one we have today.
FWIW, I'm already happy to just nominate the CJDNS project as a potential winner of this prize, already.
tomfitz linked the whitepaper for you, and that's a great overview of the basics. However, some things have changed and I'm not sure the docs have updated with what's currently on GitHub.
This style of network has the property that you can take two independent CJDNS networks, link them together, and all nodes are mutually addressable/routable. This is in contrast to The Internet, whose addressing is centralised on IANA.
cjdns is moderately active, though most links between nodes are via an overlay on top of the public Internet. The goal is to have physical/wireless links between geographically close nodes.
Use https://peers.fc00.io/ to find a cjdns node geographically close to you.
Decentralized protocols such as ipfs/scuttlebutt work particularly well on cjdns, as a file shared on ipfs in one network, will automagically become available on another network, once those networks are linked.
cjdns: https://github.com/cjdelisle/cjdns