5 ms·
Check out cjdns for a less stupid, less blockchain BS take on fixing the internet. https://github.com/cjdelisle/cjdns https://github.com/cjdelisle/cjdns
by ddevault 9y ago
Check out cjdns for a less stupid, less blockchain BS take on fixing the internet.
https://github.com/cjdelisle/cjdns https://github.com/cjdelisle/cjdns
- deleted 9y ago[deleted]
- Sir_Cmpwn 9y agoHere's the tl;dr: a practical encrypted mesh network that can work over the traditional internet protocol (IP) or over real-world links and radio antennas.
- kpcyrd 9y agoSince the parent was deleted and I couldn't comment by the time I finished typing, here's the non-tl;dr: The main advantage is non-hierarchical routing. Your ip address is in fact the fingerprint of your public key, which is used to encrypt all traffic. Because of this the address allocation works a lot different and there's no need for a central authority. The lack of a central authority is usually a problem if you ever tried to merge two large internal networks you might have run into the issue that both networks have used 10.0.0.1 for something. This isn't possible in cjdns because you can just generate as many key pairs as you want, which would map to one out of 2^120 possible addresses which are very unlikely to collide. Merging two networks is just a matter of configuring one or more peers and the networks are able to see each other (this is so easy, it might happen by accident). The main difference to other projects is that you don't need to write code to support it. If your application supports unicast ipv6, your application is able to run on top of cjdns.
- tscs37 9y agoThat sounds like a good way to get very inefficient routing. Supposed I have keypair A at a friend and keypair B for me, how is cjdns going to find the fastest route between me and my friend?
- eleitl 9y agohttps://github.com/cjdelisle/cjdns/blob/master/doc/Whitepaper.md https://github.com/cjdelisle/cjdns/blob/master/doc/Whitepape...
- tscs37 9y agoTbh, this doesn't look like something that could scale to Tbps Bandwidths... It seems a lot of processing is required to properly route the packet to the next hop and that happens independently of whether the next hop is even remotely an ideal one. Atleast, as far as I can tell from this page.
- eleitl 9y agoThere are some issues with cjdns with pure DHT on small footprint devices with poor connectivity. The author is hence currently introducing experimental supernodes, which are stable fat nodes with large memory which can build routes quickly.
- thinkloop 9y agoTwo questions about mesh networks: 1. at some point there will be an expensive hop across the ocean, or between cities, that will likely only be built once, then shared. Won't whoever owns that hop have similar centralized control of any non-local traffic, similar to an isp? 2. how meshy should mesh networks be? On one extreme, every computer can be directly connected to every other computer in the world. On the other, every computer can be connected to just one neighbor, and requests are routed through many hops. What is the prevailing wisdom on the optimal amount of peers nodes should have on average in a mesh network?
- th-ai 9y agoIs cjdns more of same address-centric hosting? If y, would not NDN content-addressing be the more smarter internet fix? http://youtu.be/opKJsVTcofg#t=164 http://youtu.be/opKJsVTcofg#t=164 Ask the network for what you want. Not say 'who' you wanna talk to, but say 'what' you want.
- detaro 9y agoSmarter for what exactly? content-addressing is great if what you are looking for is pieces of content, it's not if you want to talk to services.
- TeMPOraL 9y agoOne question I still haven't found answer to: what's with the name? What does it mean / why is it the way it is? Should it be read as CJ DNS, i.e. something to do with DNS? Or CJD (author's initials) NS (??? again, name server?)? C (?) J (JavaScript/Node) DNS? Related, what the hell it is, actually? You say in other comment that it's a mesh network, they say it's a network, but I see a program to install. How a program is a network? What does it do?
- roblabla 9y agoTor is a network, and yet you have to install a program to connect to it. You can think of the cjdns program like a driver that allows you to connect to a cjdns network. To answer your question on what it does : cjdns is a routing protocol that intends to replace the current IP protocol. Like the standard IP protocol, it needs a way to communicate with another node to function (the default gateway). From there, you can communicate with the rest of the network. Your packets will go to the default gateway, who will then redirect it to the "closest node" recursively, until it reaches its destination. You can setup cjdns over the current internet (essentially making cjdns an "overlay network" like tor) using UDP, or through an ethernet link.[1] CJDNS indeed works in a mesh : anyone can route other people's traffic, somewhat similarely to tor. The only difference is that you need to manually configure your "Entry Node" (to lift tor terms). See [0] for the reasoning. About the name, the creator is Caleb James DeLisle, so I guess CJDNS stands for Caleb James DeLisle's NameServer ? Doesn't really make much sense but I don't see how bad a thing it is. [0]: https://github.com/cjdelisle/cjdns#2-find-a-friend https://github.com/cjdelisle/cjdns#2-find-a-friend [1]: https://github.com/cjdelisle/cjdns/blob/master/doc/configure.md#connection-interfaces https://github.com/cjdelisle/cjdns/blob/master/doc/configure...
- lgierth 9y agoCaleb James Delisle's Networking Suite
- imw 9y agoLead author is CJD. cjdns == cjd network suite
- mrmondo 9y agoWhile the project is interesting, what is up with running it off nodejs!?