Episode 25: Mesh Much?
Telecommunications, Topology, and Tokens
Most of us take our connectivity to the internet and other telecommunications networks for granted. But behind the simple and benign act of connecting to the internet lies an intricate maze of physical hardware, wires, and complex routing logic consisting of layers upon layers — and many curious parties sniffing your web traffic. In this episode, we discuss the origins of mesh networking topologies and innovations in using cryptocurrencies to enhance security, facilitate more complex logical ordering, and incentivize resource sharing in these new networks.
Show notes and links for the episode 👇🏽 below
The year is 1962. The United States and the USSR are in the depths of the Cuban Missile Crisis, and both sides are building nuclear systems and figuring out how to use technology to ensure mutually assured destruction in case of an attack. US authorities, deep in their planning, were facing an interesting challenge — how would they communicate in the aftermath of a nuclear attack?
Paul Baran, a research at RAND, the private think tank, dreamed up a new system. He envisioned a network of unmanned nodes that would act as switches, routing information from one node to another to their final destinations. The nodes would use a scheme he called “hot-potato routing” or distributed communications. Furthermore, the information would be divided into “message blocks” before sending them out across the network. Each block would be sent separately and rejoined into a whole when they were received at their destination.
This was the foundation upon which the World Wide Web was built.
Baran’s work was published in 1962 and expanded upon in 1964. Using these foundations of packet routing, or as Baran called it “Hot Potato Routing”, and packet switching, ARPANET was launched in 1969. It was intended for scientists and researchers who wanted to share computers remotely. But within two years, the network’s users had turned it into something unforeseen: a high-speed, electronic post office for exchanging technical and personal information. By 1989, ARPANET became the “internet.”
This episode is about the architecture of networking technology, and the evolution of networking hardware, software, and networking models in the context of cryptocurrencies.
How Communication Works Today
When I go home and connect to my WiFi network — what actually happens behind the scenes?
Your phone has a radio in it, and it translates chunks of data into a radio signal which it transmits. Your router, which is plugged into your wall, has an antenna and receives these radio signals and decodes these into packets.
You may have heard people talk about TCP and IP. Transmission Control Protocols (TCP) are used to direct packets to specific applications on a computer using a port number. Internet Protocols (IP) are used to direct packets to a specific computer or server.
Our router connects to an Internet Service Provider (ISP) which gives us access to the Internet through a range of technologies. A single device is assigned an address when it connects to the Internet: an Internet Protocol (IP) address. This address distinguishes our device in the network from all other devices. It’s kind of like your router’s unique address.
However, our national ISP can only connect us directly to servers located in our country. If we want to connect to servers located in a different country, then we need that country’s ISP to connect us to those servers. In this way, the internet is a bunch of local networks joined together to form a larger, global network using internet protocols and standards.
In the digital world, every connection requires our device to send “packets of data”, which is quite similar to sending letters by post. In both cases, we need an address, a system which handles our letters and a letterbox. On the Internet, an example of an address we might want to “send letters to” is www.myshadow.org. Similarly to a post office, our IP address helps direct our “letters”, while the Transmission Control Protocol (TCP) disassembles and reassembles our “letters” into a single port, which can be compared with a letterbox.
So one simple interaction has a lot of moving parts, and a lot of different layers. We have our phones, our local networks (WiFi), our regional ISP’s, and Twitter’s servers. These layers are often referred to as network topology.
Our device’s data (such as our IP address and any browsing cookies) travel through so many nodes and layers in a network, which means that we can be tracked all along the way. In other words, when we access a website, all the intermediary parties included in the network are aware of it.
Now why does this matter? This architure we describe makes our communications and online behavior susceptible to a number of different flaws:
- Hardware failure (phone, router, ISP, servers)
- Network failure (if one of the networks breaks down, how do you reconstitute it)
- Man in the middle attacks (if someone is spying in one part of the message and intercept it, read it, and potentially change it and send it onward)
- Loss of privacy (my IP ties to a physical location so location services / Twitter knows where I am, as does every other party)
- Throttling access based on consumption patterns (this happened to my Bitseed in 2015, but also happened when you consumed too much streaming content back in 2013–14)
- Routing hierarchies
Now the reason things developed this and in all these layers is because centralization enables efficiency in planning — where to put towers, where to lay wire, where to build servers, etc and private companies can finänce it and charge for access to it.
The idea of mesh networking — or changing the topology of networks to flatten the architecture — has been around for a long time. It just hasn’t been as fast or as cheap, and the right tools haven’t existed to incentivize people to contribute resources to the network until now.
The goal for a mesh is to keep all components decentralized, so the only way to shut down or otherwise disrupt a mesh network is to shut down every node in the network. This makes them much more resilient to interference or other disturbances. To understand how meshes work — let’s touch quickly on one of my favorite things — network topology.
Physical topology pertains how the various components of a network (e.g., device location and cable installation) are placed, while logical topology illustrates how data flows within a network.
Physical topology is determined by the capabilities of the network access devices and media, the level of control or fault tolerance desired, and the cost associated with cabling or telecommunication circuits. A transmission medium is used to link devices in the physical topology of the network. Often, this is conductive or fiber optical cabling, and centralized parties plan the locations of nodes, and the links between the nodes and the cabling.
In contrast, logical topology is the way that the signals act on the network media, or the way that the data passes through the network from one device to the next without regard to the physical interconnection of the devices. A network’s logical topology is not necessarily the same as its physical topology. Logical topologies are often closely associated with media access control methods and protocols. Some networks are able to dynamically change their logical topology through configuration changes to their routers and switches.
A mesh network is a local network topology in which the physical infrastructure, like nodes, bridges, switches, and other infrastructure devices connect directly, dynamically, and non-hierarchically to as many other nodes as possible and cooperate with one another to efficiently route data from/to clients.
This lack of dependency on one node allows for every node to participate in the relay of information. Mesh networks dynamically self-organize and self-configure, which can reduce installation overhead. The ability to self-configure enables dynamic distribution of workloads, particularly in the event that a few nodes should fail.
In future episodes, I hope we’ll discuss fog computing, which is an extension of cloud computing but focused on enabling infrastructure-less computing, and other innovations in hardware.
The History of Mesh
Like many innovation, mesh networks are by no means new. Mesh already exists on localized basis — as WiFi networks. There are was a wave of VC funding of devices that allow you to run a mesh locally on your WiFi network:
- Most famous is Eero, acquired by Amazon for $97M. Eero consists of a home port you plug in and Eero beacons which look like a glade air freshener and plug into your wall — they help you build a faster, bigger home wifi network. Kind of like the Apple airport express (one of my favorite products)
- Google WiFi is Eero’s well capitalized competitor, and very similar
- Plume is another new router device with local nodes for your house, but Plume adds in a cool software app that lets you apply parental controls, manage device access, and monitor the use of your network in real time.
- Disney even rolled out a device called Circle that lets parents control the network like parental controls, but also freezing wifi for certain hours
These meshes rely on connection to a master node, which is the router plugged into your ethernet or fiberoptic cable. But the problem with all of these is you’re still at the mercy of an ISP.
Despite their many benefits, mesh networks are still niche. This is partly because connecting to a mesh network is still far more difficult than just signing up for Internet service via an ISP and paying a monthly Internet bill.
Examples of existing mesh networks
- NYCMesh is a community-run internet network. It has “supernodes” large antennas in Manhattan and Brooklyn, which connect directly to internet exchange points (IXPs) through fiber optic, thus bypassing ISPs. Supernodes provide internet access through mesh network consisting of community-installed routers throughout the city.
- In January 2009, Jalalabad, a city in Afghanistan wanted to bring high-speed internet to a village, hospital, and university and implemented a mesh called FabFi. Jalalabad has 45 remote FabFi nodes, and the system is extensible by anyone without getting central permission, and the materials needed to make an endpoint link are $60US, and are available locally.
- Guifi is a country-wide mesh network in Catalan villages in Spain, and has 34,000 active nodes.
Enter Bitcoin: Incentives in Mesh Networks
Meshes face a number of challenges that have historically been difficult to resolve:
- Traditional identities don’t work on a mesh — need a new way to identify people (how do I find Jill?) One idea is to use cryptographically secure wallets as an ID
- If I relay for other people with my node — how do I manage who is consuming resources and how much? Mesh has been around a long time but hasn’t taken off due to the payment system issue — I would have to rely on PayPal or credit card. But now, with bitcoin we have decentralized digital money
- And tragedy of the commons / how do you throttle people who consume too much or interfere in the network? We make it prohibitively expensive to do so.
- Lastly, how do you enable handshakes and handoffs between networks?
And then you need:
- Compatible Hardware — radios don’t work well and current device bandwidth is limited
- Zero start problem in a mesh — how do you get enough people on the network to make it useful
- Compatible Software and open standards — need tools and standards that existing developers can incorporate
Increasing Redundancy in the Bitcoin Network
Some projects have been focused on leveraging new networking architectures to make the bitcoin network more resilient as reducing dependency on ISPs. Some examples include:
- Bitcoin Relay Network: High-speed block-relay system, that helps to relays blocks around the world, and acts as a fallback in case public Bitcoin network encounters issues.
- Fast Internet Bitcoin Relay Engine (FIBRE) as a follow-on to the BTC Relay Network, relays blocks with no delay beyond the speed of light through fiber. Allows the BTC network to operate incredibly well even when faced with suboptimal internet conditions. Anyone in any country can easily join the Bitcoin network, and be able to participate on-par with 1st world country nodes with strong internet connections
- Blockstream Satellite: Even if ISPs or governments find way of blocking Bitcoin (e.g. through deep packet inspection), you can set up a satellite dish and be able to receive data blocks from the Bitcoin network. Passive receipt outside of the traditional ISP system. The Blockstream Satellite currently broadcasts real-time Bitcoin blockchain data to ⅔ of earth. The Blockstream satellite currently uses commercial satellites, but in the future could be expanded to run a full node on a satellite. The satellite even has an API that allows users to pay with BTC to broadcast data to the world through Blockstream Satellite, paid for using the Lightning Network.
- Blocksat, a test of “proof of news” run by pseudonymous bitcoiner going by “SafetyFirst”, and started broadcasting bundles of news using the Blockstream Satellite. (source)
- PushTX via SMS: users in censored areas can push transactions to a Bitcoin node via SMS, through transaction relayers who help to publish transactions onto the Bitcoin network. (source)
- BitSat program (Jeff Garzik) wanted to construct 24 nanosatellites, able to fully process and propagate blockchain. (source)
- Cubesats: (very small, 10cm x 10cm x 10cm satellites), can carry a Raspberry Pi device and run a Bitcoin nodes. Often pitched as a platform for space-based cloud computing. Small, inexpensive, significantly cheaper than traditional satellites. (BitSat cost was ~$1mn for a single cubesat). 1mb per minute radio uplink / downlink is sufficient for small transaction sizes of Bitcoin network. (source)
Building Mesh Networks with a Crypto Incentive
Now mesh architecture isn’t just about making the bitcoin network more resilient. It is also about enabling new types of mesh networks using cryptocurrency as an incentive layer.
In 2017, the bitcoin community and mesh community started to intersect, and started experimenting withe public wifi access points with an app-based micro-payment system. This would theoretically incentivize network development by providing a profit incentive to invest in and share infrastructure.
However, some very real challenges exist:
- Physics of telecommunication networks depend on large “supernodes” proximate to internet exchange points. Difficult to incentivize large capex investments (e.g, supernodes antennas that have to be mounted on skyscrapers / high places). “Supernodes” in mesh networks should get most of the payment as their capex and network contributions are the most important
- Mesh composed of small devices is technically unfeasible: bandwidth decreases by 50%, latency increases by ~10ms on each hop, routing table would be too big. Would be significantly less performant than centralized alternatives. (source)
- “Proof-of-work” on router is difficult because of CPU limitations on router. “Proof of transfer” is difficult without compromising privacy. (source)
Examples of Bitcoin-related Mesh Networks
- TxTenna: uses GoTenna, a compact, off-the-shelf mesh network dongle. A network of GoTennas can create a mesh network, enables Bitcoin to be used even when traditional internet infrastructure is down. It rebroadcasts Bitcoin transactions to the nearest full node that has access to the Blockstream Blocksat receiver. An alternative transaction channel that makes the Bitcoin network more resilient to disruptions. (source)
- Bitcoin Venezuela Mesh Network: mesh network developed in response to local downtime for LocalBitcoins, and possible future political censorship. Inexpensive Turpial and Harpia mesh network devices create inexpensive mesh networks, that relay transactions to internet gateways to be transmitted to the Bitcoin network. The Harpia node (slightly larger) can connect to the blockstream satellite through a receiver (source, source)
- Althea: Routers pay each other for bandwidth, allow people to set up decentralized ISPs in their communities. Uses Ether to pay for bandwidth. Network topology is divided into Gateways (connected to wholesale internet backhauls), Relays (forwards bandwidth from end users to Gateways), End user (who pays in ETH for bandwidth per GB) (source)
- Helium: $495 physical hotspot that uses “LongFi” wireless protocol that is optimized for miles of range. Claims to be able to blanket an entire city with just 50–100 hotspots. Introduces a native currency called “Helium” that routers are rewarded with, and data credits can be bought with
- NKN: Network infrastructure for P2P network connectivity. Proof of relay / transmit. A project out of China. Does not explicitly address the hardware layer, but provides a secure tunnelling overlay on top of TCP/IP, and marketplace for selling excess bandwidth without centralized coordinator nodes.
If meshing actually starts to work at scale, the entire world we have built comes crashing down — so many companies rely on keeping the existing power structure. I call this “the great flattening” as layers of fees and hierarchies get compressed down.
Either way — this topic is fascinating!