Quantcast
Toronto Gets Its Own Free, Encrypted Mesh Network

Free internet for all.

Canadians are famously dissatisfied with internet access in this country, and Mark Iantorno and Benedict Lau, two Toronto developers, are no exception. In December, they met for lunch at a cafeteria in a downtown office, and got to talking about how increasingly frustrated they were—Iantorno with sky-high data plan prices, and Lau, who is a mobile engineer with Android, with "black box design," or the opacity of consumer tech.

At that lunch, they talked about how to bring free, accessible internet to the city, uncoupled from Canada's three all-powerful telecoms. They went over various ideas: Iantorno suggested floating Wi-Fi rigged balloons over the city, an idea cribbed from Google's Project Loon. Lau was skeptical.

"I'm doing this thing called mesh networking," he said. "You should take a look."

Meshnet networks, or meshnets, are a form of intranet that doesn't require a central router point. Instead of emitting from a single point, they're distributed across an entire system of nodes. Accessing one is free—and doesn't require the services of a telecom.

"If you're depending on someone else to set up everything for you, then they're in control."

Lau had spent the previous summer chatting with other meshnet enthusiasts in Europe, trying to figure out the best way to set up routers across the city. He suggested it was time to give it a try in Toronto. What grew out of Lau and Iantorno's meeting, four months ago now, was a plan to build a meshnet in this city—one where users wouldn't need to worry about eavesdroppers, because it would be encrypted.

When it's finished, Toronto's first free-to-use meshnet should provide an accessible and secure internet community, maintained by locals keen on becoming digitally self-sufficient. Those early adopters could reshape our relationship to internet providers, and cut monthly rates out of the picture.

* * *

Meshnets are highly distributed, redundant intranet networks. A series of nodes, usually fashioned from cannibalized routers, emit signals that create a free self-contained (and self-reliant) network that's accessible to any internet capable devices within range. While meshnets can't surf Netflix by themselves, they can tap into the internet proper by hooking up nodes to Wi-Fi routers: something Iantorno and Lau plan on doing.

Lively meshnet communities exist in Barcelona, Berlin, and New York City. The US Army uses meshnets to link field laptops. And in 2014, Hong Kong's Occupy Central movement used a meshnet app called FireChat to message each other and organize in the event that the Chinese People's Liberation Army shut down the island's Wi-Fi. (A government-sanctioned shutdown never happened.) Other Occupy movements, such as the one in NYC, also experimented with meshnets.

The Toronto developers are using Raspberry Pi2's as nodes. Image: Brennan Doherty

But there are some major drawbacks. Security is often a problem. In China, the People's Liberation Army was able to eavesdrop on protesters' chat rooms because, at the time, FireChat let anyone on the network if their phone was in range, even if they were a cop. Lau is working with a team to write a protocol—CJDNS—that would provide end-to-end encryption.

CJDNS also ensures that the contents of data packets aren't being swept up by eavesdroppers. Anyone opening a meshnet node generates a cryptographic key that's also a valid IP address. When you send out packets to people you trust, you give them this key code to secure anything that they send you in return. You can then unlock anything that's sent to you from the people you trust, because only you can unlock it.

"The protocol encrypts everything at a lower level in that stack," Lau explained in an email. "It derives an IP address from the encryption keys, and every IP packet gets encrypted with those keys, which means the encryption is built in at the network level."

This ensures that the whole system is "trustless"—users can send information to each other knowing that others can't open packets passing through their computer to reach the recipient.

Revolutionary as they may be, mesh networks are still fairly obscure. Many are used or organized entirely by open-source developers and free internet geeks. Lau and Iantorno want to bring it to the masses.

"We want it to benefit the most people," Lau said. The two are intent on setting up a network in Toronto to give users an alternative to expensive telecom plans, which can set back users an average of $57 a month for 50GB of data, according to a CRTC price-comparison report for 2015.

But Lau and Iantorno are also hoping to teach people how to build and maintain their own nodes, to keep the network running without a system admin breathing down their necks.

"If you're depending on someone else to set up everything for you, then they're in control. They're going to demand compensation," Iantorno said. The free internet, a concept very close to the hearts of both designers, takes on a somewhat feudal air when only sysadmins call the shots.

"It's a growing niche, but it's still a small niche."

Toronto has already dabbled with the idea of free Wi-Fi. It exists for anyone sitting inside a library, or waiting for a train at Union station. Wireless Toronto, a not-for-profit open internet group, has several small hotspots around the city, too.

Even City Council has gotten involved, with councillor Josh Matlow pushing for free Wi-Fi as far back as 2013. But little has come out of that.

"While many of us take for granted that we have Wi-Fi in our homes … there are many in the city who don't have the same access," he told the city paper Metro in 2015. And the hotspots for both the Toronto Public Library and Wireless Toronto are centralized systems, not distributed meshnets. A system admin is still in charge—not users.

Technically, there used to be a free meshnet node here. Aaron MacSween, a former University of Toronto computer science student, planted it at the school's University College before he graduated. It recently went dark, but he said that not many people used it.

"Even among computer science students, there weren't a lot of people interested," he said of meshnets. "It's a growing niche, but it's still a small niche." MacSween is helping to develop software for the Toronto meshnet.

In three years, MacSween went from playing with meshnets to working for XWiki in Paris under Caleb James DeLisle, the programmer who designed CJDNS. DeLisle is famous in the meshnet world for developing the protocol while living in rural Massachusetts and piggybacking on his neighbours' Wi-Fi. In Berlin, MacSween crashed with fellow meshnet developer Lars Gierth while attending 2015's Chaos Computer Club's Communication Camp.

Several years later, Gierth would visit Toronto to lend a hand with the development of Toronto's meshnet.

* * *

Lau and Iantorno—who've been working on the meshnet largely in their spare time—have now assembled a team drawn from a local civic technology meetup.

In April, eight of them sat in a computer room on the University of Toronto campus to check in face-to-face. A Google Doc was filled with aspirations—promoting technical literacy, an accessible internet, keeping the network autonomous—and tinkered with over the course of the night.

The routers have been troublesome. Hooking up a pair of Raspberry Pi2 micro-computers with USB antennas hasn't been as successful as Lau had hoped. They're a better bet than the cannibalized routers Iantorno and Lau originally borrowed from work colleagues: routers are becoming tougher and tougher to crack. Installing custom programs is tricky.

Even the Pi2's aren't fast enough. "If it's [at these] modem speeds, no one will want to do this," Lau said.

Despite the project being in its early stages, it's garnering attention in the meshnet community. Gierth was also at the meeting.

"Software is just a tool," he told me. "You're going to need to find something to actually use it with." He also helps out with Freifunk ("Free Radio"), an open internet community based in Berlin and several other large German cities. After visiting the developers of the NYC Mesh for three weeks, he hopped on a plane for Toronto to check out the community here (and help MacSween find his old meshnet node).

Lau is hoping that Gierth will be able to help with the implementation of IPFS, a protocol that would allow the Toronto meshnet to host its content redundantly across multiple nodes. Should a node go down, others will have backups of any data that's lost.

While Lau and Iantorno both want to keep meshnet access free, the chances that their users will make paying for internet obsolete in the immediate future are slim. Lau maintained that a distributed free network just isn't profitable. "It would be like [the Alberta Wheat Commission] being worried that Ben and I were building a couple of windmills in their backyard," Iantorno said.

And meshnets simply couldn't expand into the broader internet, the two assert, if telecoms decided to shut down mainstream access with some sort of informational scorched-Earth policy.

The hope is that the relationship can eventually become symbiotic. Telecoms keep their hold on customers who don't want to manage their own networks, while a jury-rigged system of routers provides free access for any willing to rig them to the roofs of their houses.

Momentum, and the sheer ease of access, could turn internet access into a utility, even a basic human right. Planting routers on rooftops could one day become routine.

All of this could eventually spread to my own neighbourhood. After we're finished, Iantorno asks me where I live (just northeast of the downtown core). He chuckled. "We may even come knocking on your door."