At first, there were 0s and 1s. Then came the ability to transform those 0s and 1s into something meaningful so as to represent an actor or an action. Actors applied actions on other actors based on various inputs. And thus, a computing machine came into existence. This newly born machine could take inputs of various kinds and had components built for that purpose - communication of the most primitive kind. But the computers lived a life of isolation. Then one day, somebody thought it would be a great idea to wire them together. More and more wires started appearing. And thus, the internet was born.

Each node on the network was given an identity - namely the IP address. But at times, you wouldn’t want to care which computer in particular to refer to as long as they gave you the same response. Moreover, referring to a particular node with its IP address wasn’t a very human friendly experience. Humans prefer the language English. So they came up with the domain name system. It served two main purposes. One: you can refer to a computer as website.com instead of 55.77.66.11. And two: website.com could route you to two different destinations.

So, you could identify nodes on the networks - great. But how do you actually talk in this network? A language needed to be developed. A whole suite of protocols soon appeared on the market. And with time, they matured. The beginnings were humble. You could only pass text messages to one another in the form of an email. With the birth of HTTP, it became possible to host static content on a particular node in the network. Eventually, the channel started supporting rich media content: pictures, animated clips, videos.

Today there are thousands and thousands of web servers serving different purposes. Communication on the web has become a vital part of our daily lives. We rely on it to get news of our surroundings. Talk to our friends and family. Our work is typically hosted entirely on the web in a secure manner. All our pictures are posted somewhere. Advent of mobile devices meant that we are connected to the web everywhere we go. Navigation; on-the-move services; notifications and so on were added to the seemingly never-ending lists of internet features. Web services matured to the extent that companies such as Amazon would allow you to “templatize” the service.

But while, everyone was busy figuring out how to develop the internet even further - a very interesting movement was happening in a somewhat interesting direction that no one really took too seriously at first. The BitTorrent client didn’t talk to anyone in particular. And yet, it knew everyone else on the BitTorrent network. The very first application of peer-to-peer networking was file sharing. Most people, including myself, thought that was it.

There is a novelty in peer-to-peer communication system. Imagine the Internet as a city. To get from your home address to the post office, you need to know the location of the post office. If you don’t, you should go the search center. They have been everywhere, so they can tell you where to find something. You might have to find your way through all the advertisements. This system works, but it screams freedom. These important centers become the focal points and route to every location. Can we really not do any better? The internet works in a similar fashion. You need either know the destination address of the web server you would like to talk to in order to serve a particular purpose. Or you can go to the search engine finding your way through the many advertisements. But what if you could just talk to your peers? And ask them to lead the way? Your peers could be your friends and family members. Or are just some people that you think are experts in a particular subject matter and you trust their word. In the analogy of torrents, why buy a book when your friend can just lend you one?

There is more. Now what if you add the concept of shared memory to this form of communication? On the regular web, it is the responsibly of each node to maintain its memory. But when communicating among peers, you might want to write things down. This is the core concept of blockchain. And this is why Ethereum being Turing complete is so important to its development. And the work is far from being complete since it tied too heavily with cyptocurrency at the moment.

There is also one more developing aspect of this system - the miners. Some tasks require more care than other tasks - such as exchange of money. Such tasks require extreme caution and care. To this end, there are certain people who are designated with the duty to validate what is written on the blockchain in return for a reward.

These peer-to-peer systems are still in its infancy and there are tons of issues that need to dealt individually. But I am confident that, eventually, the peers will start talking to each other. It’s just a matter of time.