@adlrocha - Blockchain without Internet?
Or a hybrid-mesh Internet.
Wherever you read something about blockchain technology, it seems like one of its big promises is its decentralization. Apparently, with a decentralize infrastructure we will be able to remove the middlemen of the world, implement a decentralize governance of global systems such as governments and the financial system, put decision-making in the hands of the people, and return user’s the control of their data. Unfortunately, we are disregarding the level of centralization of one of the key components in the operation of blockchain technology, the Internet.
The Internet was born decentralized… but it ended up being centralized.
Original architecture of the Internet (Source: https://hackernoon.com/the-evolution-of-the-internet-from-decentralized-to-centralized-3e2fa65898f5)
The Internet was originally thought as a decentralized network of networks. Sadly, it has evolved into a centralized aggregation of networks. Theoretically, the internet is still decentralized. No one owns all or a considerable portion of the network or infrastructure that connects the world wide web. The same publishing and communication tools still exist and have evolved to become better and faster. However, it includes several worrying technical points of centralization such as the DNS infrastructure, ISPs, big data center infrastructures, or the “gateway applications” we use to access the content in the Internet such as Google, Facebook or Netflix. The level of centralization of the Internet is such that several countries are being able to shut it down at will; governments are starting to test their own version of alternative (non-global) Internets; companies are starting to be the owners of all your digital data, knowing more about you than even your family members or yourself; and individuals are consuming biased views of the world pushed down their throats through the aforementioned “gateway applications” from which we get all the information we consume from the Internet.
Current architecture of the Internet. (Source: https://hackernoon.com/the-evolution-of-the-internet-from-decentralized-to-centralized-3e2fa65898f5)
Of course, not all these points of centralization affect blockchain technology in the same way: Facebook won’t be able to censor Bitcoin, and an outage of the whole DNS infrastructure wouldn’t affect a blockchain service (as long as node discovery in the network is not based on DNS names but IP addreses). But what about the centralization of the physical infrastructure, i.e. ISPs and the data centers from big cloud providers? This can completely break blockchain networks as we know them. Amazon could censor all the blockchain-related AWS machines hosted in its infrastructure (a quarter of Ethereum nodes run on AWS); or a disruption of the Internet access of a country could break all the local blockchain nodes. Is, hence, blockchain technology as decentralized and redundant as we thought when a government and a big tech could outage a full section of a network? Should we start exploring a new architectural foundation for a blockchain-based Internet with true decentralization and resilience?
And the key question, is the realization of mesh networks just what we need to build a decentralize infrastructure able to build blockchain networks without Internet? Mesh Networks are a somewhat old technology that have recently become popularized again for their potential to keep people connected during natural disasters and in remote regions. But can this type of networks be the answer to achieve actual decentralization in blockchain networks?
In essence, a mesh network is a type of network where nodes are directly connected to one another, allowing information to be passed from node to node without requiring a centralized routing service or device (such as ISPs). These nodes might be connected together in a variety of different ways, such as WiFi, Bluetooth, or radio signal, allowing for a potentially huge heterogeneous network of nodes. These nodes may be a device created for the sole purposes of operating as a node, such as a GoTenna mesh, or may be a device with node functionality, such as your smartphone or computer.
The network architecture of a mesh network can also be pretty heterogeneous. In full mesh networks, every device in the network is connected with every other device in the system. This architecture is useful for network with a small number of devices that require a lot of redundancy. However, for a mesh network at scale, the use of a partial mesh network would be more appropriate. In partial mesh networks, all the nodes in the network are not interconnected with each other one-to-one, they are only connected to a limited number of nodes (neighboring nodes, for instance). Thus, if node A can reach node B but not node C, and node B is connected to node C, in order for A to send a message to C it would have to relay it through B. This is more like the Internet was designed in its origins, as a partial mesh network.
An actual decentralized infrastructure
Mesh networks could be the solution for the centralization of the infrastructure of the Internet. A good example of this claim is what happened in Hong Kong in 2014, where mesh networks were used to evade censorship from China. Protesters in Hong Kong used a an app called Firechat that allows messages to be sent without Internet or cellular connectivity. Firechat enabled tens of thousands of people in close proximity to communicate with one another by forming a mesh network. This mesh network allowed anybody with Firechat installed on their device to connect with other nearby devices via Bluetooth or WiFi, forming a partial mesh within which messages could hop around reaching the intended recipient.
Mesh networks as the aforementioned from the Hong Kong protests could make sense with a local approach, but how could we scale this solution globally removing the need of ISPs and big data center to access digital services? Let me introduce the concept of a hybrid-mesh Internet (potentially nonsensical but interestingly eye-opening).
Completely removing ISPs from the backbone of the Internet seems like an impossible task. Locally, a mesh infrastructure formed by home routers, personal devices, GoTennas, etc. could give access to local services and the exchange of data between neighboring users, but can we communicate with someone, or access a service located an ocean apart from us? We would need an ISP, or a satellite connection for this. This is why the use of an hybrid ISP-mesh architecture where hop-by-hop we could exchange data locally through a mesh network without the need of an ISP, and delegate the international exchange of data to ISPs only when needed would make a lot of sense. This doesn’t fix the problem of ISPs blocking their “international channels” preventing data from leaving our mesh network, however, we would at least keep a connection to our local people and services accessible through our mesh connection.
What if instead of having to rely always on my ISP (the one with whom gives me service and Internet access), ISPs could compete in real time for a fee in order to transport my data from one point to another? We would completely break the actual model, and ISPs would become “miners” of data transmission, competing to be the most suitable option to transmit my data. This competition would minimize the centralization of the infrastructure of the Internet (following a similar approach to that of public blockchain networks).
And what about the services given by big corporations from their big data centers? How would we replace those? There are projects such as Awesome Self-Hosted promoting the deployment by individuals of open-source alternatives to all the online services and tools from big (centralized) companies we rely on (such as DNS, Email, Analytics, Password Managers, Blogging Platforms, Messaging apps, etc.) as a way of recovering the control over our data and digital footprint. But what if by using this “imaginary” hybrid-mesh infrastructure we deployed alternatives to the big tech SaaS over our Raspberry Pi or personal server at home so that apart from recovering control over our data, we are able to easily access our digital tools through our hybrid-mesh Internet preventing outages and censorship? Of course the SLA we could give with our home server is not even close to the one given by the Googles and Amazons, but we could devise small local companies giving local data center and ISP-like services. Even more, under the blockchain/decentralized context we are moving on, data could be scattered between all these local ISPs IPFS-like so one single entity in the network is not in control of all of your digital life. Would this still mean a return to centralization even over a hybrid-mesh? Hard to say.
Blockchain and DApps without Internet
After all this preamble let’s move to our matter at hand. Would it be possible to build a blockchain network without Internet? Well, kind of. We could build a local blockchain network without Internet by relying on a mesh infrastructure. However, for a global blockchain network to be deployed we would require these “International ISP channels” in order to ensure the communication of nodes around the globe (it would be hard using a mesh infrastructure to send data hop-by-hop through locally connected devices without relying on the international infrastructure from ISPs).
However, an hybrid approach similar to the one followed by Lighting Network in Bitcoin and Ethereum’s 2.0 sharding could be followed at an infrastructure level so nodes in the different local mesh networks, conforming the global blockchain network, perform “micro-transactions” between each other that are committed globally whenever required. To spread globally the committed transactions to the whole network, nodes would require an available international channel (i.e. they would require an ISP miner to transmit the corresponding locally committed blocks to the rest of the network).
After some research, apparently this idea isn’t as “disruptive” as I though while writing the article, as shown here:
Bitcoin Venezuela has recently demonstrated a Bitcoin mesh network device only slightly bigger than an SD card, measuring around 7 cm long and 4 cm wide. According to Bitcoin Venezuela, the Turpial device will only be capable of broadcasting encrypted messages and Bitcoin transactions.
To achieve greater functionality, the team is developing a second, larger device known as ‘Harpia’ which runs on a Raspberry Pi, allowing users to run a full Bitcoin node, access, and download from the Blockstream Satellite and interact with the Bitcoin lightning network.With a battery, you'll be able to carry your Turpial (smallest #mesh node device, look the size comparison with a SD card adapter). This would let anyone text & transmit #Bitcoin txs even if there is no service (internet, 3G/mobile, SMS, nor calls). Help:We need ₿12.61 BTC ($50k) to hire the devs full-time for 3 months to make the mesh devices a reality. If you donate $1k you will get 3 Turpial nodes, which 'd let you have a mesh in your living room bitcoin:bc1quxkp0kd9w2mgsw82a6uhax0ev5er9javqlk7aj https://t.co/11WIyk7DNq 1/2Bitcoin Venezuela ⚡️ @btcven
Of course, the realization of an Internet as we know it today exclusively using mesh networks and self-hosted services is practically impossible. As well as deploying a global blockchain network over a mesh infrastructure without relying in any kind of central entity (ISPs, big cloud providers, etc.). However, this seemed to me like an interesting (and fun) thought experiment to realize that, even when we say that blockchain will be the comeback of descentralization and freedom to the Internet, this is not entirely true, as there are always “centralization bottlenecks” in a blockhain infrastructure stack (such as the underlying transport infrastructure) where the promises of decentralization can be broken.
As always, thoughts and suggestions are more than welcome! Do you think the concept of a hybrid-mesh Internet is one worth elaborating on?
Side note: I was almost finished with my article and ready to click the “Publish” button, when I came across the following publication. Apparently I am not the only one obsessed with a more decentralized Internet with blockchain technology and cryptography at its core. The aforementioned publication presents the OISP (Open Internet Socialization Project), proposing something similar to my hybrid-mesh network concept. Would it be worth dedicating a number of my newsletter to mix both proposals into a single technically-feasible one (instead of leaving this as an isolated though experiment)?