Hyperboria, A Mesh Network01/16/2014
Recent events in the past few years have prompted research and experimentation in communication across devices for the purpose of insuring free flowing information the world over. Network security and privacy are key factors for insuring such. As you know, the Internet is one of the primary means of global communication. It is, unfortunately, ridden with issues revolving around security, privacy, and now free flow of information. Restrictions include direct government action such as internet filtering and censorship, NSA data collection activities, and government policies. The Anti Counterfeiting Trade Agreement (ACTA) recently proposed provisions that work against freedom of expression and create barriers to innovations or new technologies. One such provision even proposed restricting Internet access to households 'accused' of infringing on copyrights. I respect intellectual property rights and the rule of law. I also encourage openness. Has the internet lost some of its openness? I think that we can all agree that the answer is yes. If you live in China, Iran or North Korea it's definitely a YES.
Our world needs an open Internet created by an open, global flow of information. What if there was something else? Well, there is!
Mesh networks. Specifically, I’d like to talk about Hyperboria. Hyperboria is built on the open source networking protocol, cjdns. Cjdns ensure that each packet sent across the network is protected by means of encryption. Getting an IP address is a simple task. Routing requires zero memory look-ups. Distributed Denial of Service (DDoS) attacks mean little to nothing. How is this possible you ask?
Cjdns implements an encrypted IPv6 network using a public key cryptography to generate IP addresses. Computers and nodes can only communicate to one another only after the connection has been authenticated. This ensures traffic data will not be intercepted.
Routing is handled by a distributed hash table (DHT) and thus requires zero memory storage for look-ups. A DHT is similar to a typical hash table, but the maintenance of the (key, value) pairs is distributed amongst nodes in the system. DHTs must be decentralized, fault tolerant, and scalable. To accomplish this, nodes communicate with at most O(log n) of the n participating nodes. Because a DHT is distributed, load balancing, data integrity, and performance are key issues in the implementation.
The cjdns protocol has taken steps to try and prevent DDoS in the network. This is accomplished by the use of a similar technique to Virtual Ring Routing. Virtual Ring Routing takes advantage of a flat address space. Each node has common knowledge of the ring structure, but the underlying physical network can dynamically change. This prevents flooding of the physical network and thus is a brick wall for DDoS attacks.
We at Dirigo are in the process of setting up our own cjdns node to join the Hyperboria mesh network and help contribute to the open source project. Unfortunately, Hyperboria requires an invite or a friend-of-a-friend type connection. I’d personally like to encourage programmers and web developers a-like in the Portland community to contribute and participate.
We've ordered IPv6 IP addresses for our host center. Currently we're 100% IPv4. As soon as we have the IPs we'll be joining the new super highway.