How to Completely Decentralize the Internet

If we use encryption and make these networks complex enough, it can be almost impossible to trace the source of data.
Author:
Publish date:

Background

Few technologies have been as socially disruptive as the Internet. Before computers, reaching a wide audience required control of printing or broadcasting centers. These have been replaced by home computers, which people worldwide are gaining access to at a phenomenal rate. Message boards, blogs and other websites enabled the two-way flow of information on a massive scale, and through the use of liberating new innovations, we can decentralize the Internet completely.

peer-to-peer-network-diagram

Peer-to-peer networks are the best example. Previously, files were distributed via dedicated machines designed to handle a massive number of requests; now, one can share files to just a few “peers,” who share it to a few more people (and so forth), until anyone can gain access via a branching web of connections. Who has which chunks of data is tracked by “torrents,” which can be run by clients like FrostWire to upload and download the desired files. Without a central server to confiscate, it’s impossible to find and remove “bad” content or evidence of corruption.

If we use encryption and make these networks complex enough, it can be almost impossible to trace the source of data, rendering it very difficult to block access to “undesirable” news sites and content. This property of P2P networks is utilized by programs like Tor, which funnels data (most commonly webpages) through a long and confusing series of nodes. This makes finding and punishing those who break censorship laws a nightmare, resulting in the further erosion of central authority over online communication.

Now with the advent of cryptocurrencies like Bitcoin, we can use decentralized networks to send money, as well. Instead of music, video or similar files, we send transactions that transfer ownership from one user to another. Unlike file-sharing networks, however, where ownership is not a concern, this required the advent of blockchain technology, which can keep track of who owns what without the need for an arbiter or judge. Besides that, the underlying concept and digital architecture are identical.

As new inventions allow more things to be transmitted over the Internet via peer-to-peer networks, the scope of this decentralization will only increase. Despite these improvements, however, most online traffic is still handled by central servers, and almost everyone on the World Wide Web uses the Domain Name System, which is controlled by an American non-profit corporation. The physical infrastructure is composed mostly of wires owned by monopolistic telecom businesses, and if we want to decentralize society any further, these shackles must be removed.

Software

Cryptocurrency has already done a great job of decentralizing the domain name system. Using Namecoin, one can register .bit domain names directly on the blockchain; whomever possesses the private key in control of the domain name provides the IP address to which it forwards. This is a step in the right direction, but only liberates one aspect of the web, ignoring key problems like how online data is stored and delivered. We need a decentralized digital architecture that can handle all online traffic, not just file downloads and domain name forwarding, or else our dreams of a decentralized Internet are just that.

Peer-to-peer technology can solve this problem, as well: if it’s possible to store and send files or money using a P2P network, it should be possible to do so with any type of information. Rather than using a central server to distribute things like web pages, application data, or files stored on the cloud, we can download that content in pieces from various computers on the P2P network. Constantly-updated copies of this data will be distributed across all of these peers in encrypted form, ensuring safe, accurate, and continuous access.

MaidSafe_Project_Logo

The first of these systems is called MaidSafe, and its development began years before Bitcoin went public. Anyone running this open source program will become part of the SAFE Network, some of which will volunteer to become “vaults.” All data on the SAFE Network is stored across these vaults in an encrypted format, which can only be broken using the private key that uploaded the data, or one to which permission has been granted. The network stores a total of exactly 4 full copies of this data at all times, and randomly assigns processing tasks like determining and validating the locations of these chunks to all of the nodes. Nearby nodes are organized into groups, which watch one another and will eject a node that misbehaves.

Nodes are incentivized to become vaults by Safecoin, which is rewarded in proportion to how much resources they contribute to the network, most of that being storage space. You consume safecoins by using resources, and they can be used to purchase goods, services, or other digital currencies. Unlike cryptocurrencies, however, they are not based on a blockchain; account balances are stored on a ledger distributed across network vaults along with the rest of the network data. They can be exchanged via the Mastercoin protocol.

Theoretically, one could host or operate any type of website or application this way. One of the most notable applications to take advantage of this opportunity so far is the API Network, which provides a new means of distributing and calling APIs. For those who aren’t yet familiar with APIs, you can learn about the process in one of our previous articles. Although its native coin–XAP–is stored on the Bitcoin blockchain via Mastercoin, the API Network uses the SAFE Network to store API data and call it upon request, which rewards XAP to the API provider. This decentralizes access to things like Google Maps, cryptocurrency price data, and various useful web apps.

storj-logo-image-620x348

Storj is a more recent open source platform, and the winner of the Texas Bitcoin Conference Hackathon. Like MaidSafe, it enables a peer-to-peer network that can store and transmit a wide variety of information. Nodes support the network by running the DriveShare application, which rewards users with Storjcoin X for storing encrypted chunks of data uploaded to the network. They operate on the Counterparty protocol on top of the Bitcoin blockchain, which allows them to be exchanged for other coins, used for commerce, or spent on other Storj applications.

The main application for which they’re famous is called Metadisk, and it completely decentralizes cloud storage. Instead of uploading files you want to store online to to a central server, they’re uploaded to the Storj network and stored by those running the Driveshare program. If you’re not running Driveshare yourself, you’ll have to earn Storjcoin from elsewhere to pay for this service; compared to competitors like DropBox, however, the price is insignificant. As a bonus, your information cannot be accessed by third parties without your consent–something which DropBox cannot claim.

Being a post-Satoshi platform, it should come as no surprise that Storj uses the blockchain to keep track of all this. Bitcoin “2.0” platforms like CounterParty allow one to embed more than just financial information in transactions, storing all kinds of data in blocks. Similar to how Namecoin can keep track of who owns what domain name, and projects like Ethereum can assign other property and assets, Storjcoin X stores information about who can access what data, and where it is at any time. Transactions are validated by Bitcoin miners who choose to register CounterParty transactions in return for a small fee, thus avoiding the problem of consensus.

Hardware

These technologies will remove the need for centralized networks and servers. We now have a new way of thinking about how the Internet should work, and all of the protocols necessary to make that a reality. One thing that the open source and hacktivist communities cannot easily replace, however, is the physical infrastructure itself: the wires that carry the data sent between nodes are still owned by corporations and governments, which can monitor, restrict, or block your online activities. Even if you’ve managed to build your own cable lines, if you want to communicate with the rest of us, you have to go through one of the central hubs on which most of us rely–even if we’re all using Storj and avoiding central servers.

The answer lies in mesh networking. The router that currently handles all of your online traffic operates under the assumption that it’s part of a hierarchy: it forwards your requests to and from the machine one level above it, which routes it to and from either another nearby machine or an even bigger hub, which routes massive amounts of data. Instead, the protocols behind mesh networking assume the computers are all connected to each other–either directly or through other other Internet users–without any hubs in-between. A diagram of such a network would look similar to the one of peer-to-peer networks depicted earlier above, except instead of being a virtual network, it assumes that form in reality.

No node is likely to be overwhelmed if we operate as a peer-to-peer network like MaidSafe or Storj. The main drawback is that this requires all users to carry other users’ traffic, which costs computer resources and bandwidth. The best idea for incentivizing participation so far would incorporate cryptocurrency by either rewarding coins to those who route more traffic than they generate, or charge a fee to those who don’t. The beauty of this solution is that it decentralizes the communications industry, which by its nature is prone to monopoly–conglomerates like Comcast, Verizon or Shaw in North America will be obsolete.

Unfortunately, there are technical limitations to this. Laying cable lines is rather expensive; we would have to unearth concrete and pavement each time someone moved and lines needed to be moved or upgraded. As wireless technology advances, however, the price of powerful WiFi routers will reach a point where they can effectively replace copper wires for the middle class in relatively urban areas. Instead of connecting to a modem installed by your Internet service provider, these routers connect directly to each other, or to long-range routers designed to reach past unpopulated terrain where no users live. Anyone connected to an ISP can act as a gateway, allowing others to reach content left behind in the historical system.

Once all that has been accomplished, the only point of vulnerability is the manufacturer. One day, we will be able to 3D print our own wireless routers, using open source blueprints free from any intentional security vulnerabilities. For now, however, a wide selection of wireless routers fit for the job are already available online, for anyone dedicated enough to help get the meshnet started. Rumor has it that the meshnet in Seattle is well underway, but our meshnet project in Vancouver appears to have stalled; I’m hoping to start contributing as soon as it starts up again. We can free ourselves from the bindings of cable companies as well as the government.