Peer-To-Peer: Our Only Hope.
Tags: internet, decentralization, network, web
Published: 2019-10-28 14:07:32

Peer-to-peer has been around a long time and is decentralized in nature. 

*Yes, this is decentralized without the need for a blockchain.* 

Cryptocurrencies and blockchains are awesome but not everything needs to use that technology to be decentralized. All cryptocurrencies are peer-to-peer but not all peer-to-peer decentralization has to be on a blockchain.

Peer-to-peer is as it sounds. You connect to another user directly. There is no need for a central server to host, upload, download, or serve files. When there is no central server doing all the work, there is no one point of failure. This also eliminates the issue of central servers shutting you down because they don't like what you say or share. This is a huge step in keeping the internet steeped in free speech.

In a peer-to-peer system a computer will divide a portion of the resources it has and give them to the network. This can include hard drive space, bandwidth, or processing power. These allocated resources are still the computer but, as with hard drive space, the predetermined amount is used to store information that can be called by other computers on the network. Doing this allows for more space, speed, or processing power to be used than a single computer on the network could hold alone.

Due to this structure, each peer both supplies data and consumes data. With the most common model we use online today the server does all the supplying while the users on the web do all the consuming. This made the most sense in the early 2000's when the internet was growing and our personal computers were a fraction of what we have today.

However, now that is not a big issue. Our computers are much more powerful than they were and our internet connections are much faster. The only reason we are still using the centralized model is due to a legacy mentality.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/h2dp5wgkyk7e3fnvalor.png)

If there was one application that brought peer-to-peer networking out of the wood work it was Napster. Napster was a program that allowed people to connect to share music files. Shawn Fanning and Sean Parker founded Napster as a standalone file-sharing platform.

Napster only operated in this manner for two years and a month ending in July of 2001. The reason Napster shut down, as far as I can tell, is because they had a company that could be attacked and they were attacked for copyright infringement to the tune of $36 million.

Any part of a decentralized service that is centralized puts the entire ecosystem at risk. When this happens can we really call the service decentralized? I would say no but luckily most peer-to-peer applications and services made today focus on keeping everything decentralized.

This is the lesson learned from Napster and as other services fail, we continue to learn more. This helps us make peer-to-peer systems like BitTorrent. The reason BitTorrent has not been shut down is that there is no central point to attack as in a company or server. The people that want to wipe BitTorrent off the planet like they did with Napster now have to go after ever single user.

*That is magnitudes more difficult.*

## Applications Of The Peer-To-Peer Structure
### Mesh Networks

We talked about mesh networking in a post in more depth so check that out for more information. Mesh networks are a peer-to-peer way of connecting to other computers and servers. It is a more decentralized form of the internet in that there is no internet service providers.

We still need the ISPs to reach sites on the current web since there is not a worldwide mesh network, but that does not make it impossible. Every town and city could set up their own mesh network and tie into the next town to spread the reach. This kind of network makes it pretty much impossible for any entity to kick a person off the network.

### File.Pizza

File.Pizza is a quick and easy way to share a file with another person online. After loading up the website you can tell it what file you want to send and the site prepares a special unique link. This link allows the person to connect to you without a middle man like Dropbox or Google Drive.

There is never any uploading to file.pizza only to the computer with the link you sent. If you are using Firefox there seems to be no limit to how big the file can be and the speed at which the other person gets the file is determined by your upload speed and their download speed.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/m5z10a4dmtwfdapqujem.png)

### YaCy

YaCy is a peer-to-peer search engine. Sites like Google, Yahoo, Bing, and Duck Duck Go are all centralized search engines. When using a normal site to search the web you are connecting to their servers and getting information. This means they can track you and chose not to show you something as they see fit.

With YaCy censorship can not happen. When you search with YaCy, you are connected directly to other uses to retrieve the results. It is good too! I was experimenting with it before making this post and I was impressed by what this system could find. I am talking more than just websites.

### Dat & The Beaker Browser

We also covered Dat and the Beaker browser in another post so check that out for more information. What these two do is work together to bring a more decentralized internet to our current model. Dat is the protocol that allows far peer-to-peer connections of any website created using Dat.

The Beaker browser is to access these sites that use the Dat protocol. You don't have to know a site has a peer-to-peer version before you visit. When using the Beaker browser to surf the web if a site has a peer-to-peer version Beaker will let you know. Switching to the decentralized version is as easy as clicking a button.