Liveblogged at HOPE X. Presentation available here.
Kevin begins by asking “why build a new network?” The internet has grown far beyond any scale that was predicted. Things like security were added after the fact. Control of the network has shifted from academic, to corporate and political. The internet is becoming less democratized with threats to Net Neutrality and increased surveillance. Governments can and do intercept router hardware and install malware.
Mesh networks are decentralized. Peers relay information to each other and connect by peering with any other connected node. One example is Hyperboria which runs the cjdns protocol. Other protocols include BATMAN. Decentralized networks put power back in the hands of the users. Although NYC Meshnet uses cjdns, they focus on using whatever technology works, and evolving as necessary.
Kurt and Peter go into some details of Cjdns. It uses a private block of IPv6 addresses and public key encryption. Your IPv6 address is your public key, which allows verification of the address. Routing is challenging because there’s no hierarchy, everything is in a flat address space. Cjdns uses a distributed hash table to manage routing. Cjdns uses ethernet frames rather than being built on top of IP. Project Meshnet uses OpenWRT routers to allow as many people as possible to connect to the network. Peter says “We’ve been using these. They work.”
Peter introduces Meshberry, a Raspberry Pi image that makes it easy to download, run two scripts, and connect to Hyperboria.
Kevin begins talking about MeshBox, a Seattle-based project, with a friendly GUI configuration interface.
A replacement for DNS is still needed. There’s not an easy way to mediate mappings between names and IP addresses without central authorities. Some solutions have been proposed, like Namecoin, which uses the Bitcoin protocol.
NYC Meshnet meets once per week to help people get connected to the mesh network and meet other users.
Question and Answer
Question: If I’m connected, how do I connect to the “old internet?”
Peter: Cjdns has built-in tunneling that allows you to share a network connection over cjdns.
Question: How do you do long-distance and overseas links without corporate infrastructure?
Peter: Our vision is that the Internet will become more of a backbone to connect meshlocals. We’ll need some trusted organizations to provide that.
Question: Should we worry about the FCC making regulations that inhibit mesh networking?
Peter: We’re not worried, but if it happens, we’ll find another technology to get around it.
Question: cjdns has three flaws: uses insecure programming language, based on non peer-reviewed white paper, and non peer-reviewed cryptographic primitives. How can we make it more secure.
Peter: There haven’t been a lot of people involved in the development of cjdns.
Kevin: It’s a protocol, if you find a problem in an implementation, you can fix it or write your own.