In December 2018, Facebook faced its first lawsuit from US regulators, since the Cambridge Analytica scandal broke. The scandal which revealed Facebook’s apparent disregard for user’s personal data has serious implications if proven, for it would reveal the extent of power held by social media and internet-based companies today. Apart from merely sharing user’s data with a third-party, this is also the first time that such a company faces allegations relating to the manipulation of the election results of a sovereign state. And it isn’t merely Facebook which faces such allegations, for the US Senate has summoned a number of technology companies to investigate similar allegations.
These allegations reveal a fundamental truth about the world today- the fact that the Internet is a highly centralized place. The current shape of the internet is a far cry from the democratic, open and de-centralized vision of the founders of the internet. Today, it is estimated that 70-80% of the traffic on the internet is driven by major companies like Google, Facebook, Amazon, and Microsoft. This dominance extends to the cloud as well. At a time when an increasing number of organizations are in the process of moving from on-premise to the cloud, they find themselves staring at a market in which just handful of vendors dominate 100% of the market. What makes it challenge is that organizations that do move to one or the other vendor, often find themselves locked-in with very little room to maneuver.
This level of centralization and monopolization puts end-users in a vulnerable position and leaves them open to the kind of manipulation alleged above. Today, the model is such that if you are using the internet, you can use social media companies hardware for free. What you pay them, instead of money is your data. In a world where data is the new currency, this can be downright dangerous to individual liberty and citizen’s rights. Similar drawbacks exist in the cloud space as well, where organizations pay social media companies for the usage of their hardware and while they get all the benefits of flexibility and lower costs, they nonetheless expose themselves to a breach in privacy.
This level of centralization is a fundamental issue with the internet today, with many experts saying the internet is broken. So then, what is the solution?
Introducing the de-centralized web
It is to solve such issues, that a new breed of companies is coming up with a model that can loosely be called the de-centralized web. It can be defined as a platform to deploy business logic, store data, and host distributed applications (also known as dApps). Efforts to implement this type of a peer-to-peer network are nothing new and we already have a mixed bag of successes and failures with protocols like BitTorrent, Gnutella, and eDonkey, all of which were used for file sharing. However, the real success in terms of making such a model workable is Bitcoin.
Bitcoin works because it is based on blockchain technology, which has built-in robustness. This protocol actually solves a lot of security related questions, which proved to be the Achilles heel of many of the older peer-to-peer protocols. While Bitcoin relates only to crypto-currency, the same idea or model can be extended to many other transactions to serve as the backbone for the de-centralized web.
How will it work?
Currently, when a user connects to the internet, it is their computer which connects to an Internet Service Provider or ISP. When they access a social media site or an application such as YouTube or Facebook, they literally access data (including their own) which is stored in Facebook or Google owned servers. In using sites like this or even in just searching or browsing the internet, users generate or share data with these application providers.
The de-centralized web is a re-imagining of this current model. It will be built with the help of existing computers which are already connected to the internet. These computers and common internet users can contribute to the infrastructure required. For instance, if you as a user have 10% of your CPU free, you can rent it out to be used by the decentralized web. So instead of the hardware being owned by big organizations, it will be built by aggregating small resources from across the world which can be made available to people who would like to host services like social media, content storage on the network.
Basically, your data will be stored in a de-centralized manner instead of being controlled by a single entity. Not just that, but in this model, YOU the user, get to decide where your data will lie. Of course, the immediate next question is why would an individual want to share their computer resources with such a network? There has to be an incentive for them to do so and in a de-centralized set-up, this incentive is in the form of one or the other crypto-currency. This again, is an essential feature of a de-centralized set-up as cryptocurrencies are outside the control of governments and corporations.
Not only is the physical infrastructure distributed and de-centralized but this model answers all security-related concerns using blockchain technology. So personal information and records of transactions will be stored in an encrypted fashion, which will be tamper-proof. In addition, this model should also allow individual users to choose how their information is encrypted.
Broadly, this is how the de-centralized internet is set up. But how will such a system work in the real world? For instance, if I wanted to host a site in the de-centralized internet, how would I do it? In the existing system, the first thing I would need to do would be to buy some storage or server space from Google or Amazon or Microsoft. In the de-centralized web, one would buy such space from multiple individual users (called miners) but would have to go through an application, called a de-centralized application. In return, you would pay the miners in cryptocurrency for the use of their server space.
This kind of a model has been brought to life by an organization called Ethereum. Ethereum took the idea of blockchain from bitcoin and built a platform or an application around it. This platform does not provide or own any hardware or storage resources, but merely sets the protocols and brings together individuals who are willing to offer server space or CPU resources, known as miners, with workloads from other individuals or businesses. Just like existing cloud vendors, Ethereum also gives you the option to spin up virtual machines to store your data or application. These virtual machines are like secured sandboxes, which are completely tamper-proof, with not even the owner of a machine having access to modify the data stored on his or her computer.
The one big drawback to this system is that since the data is encrypted using blockchain technology, making changes to it becomes extremely cumbersome. Once encrypted according to blockchain protocols, the data basically becomes immutable. This makes it resistant to forgery but also makes it difficult to update with every change. The only way to change or upgrade this data is to replicate it completely along with the new change. So, if you currently have a network consisting of 50 nodes and you want to change something in that network, the only way to do it is to create a new network of 50 nodes with new software. This replication is known as a fork and can lead to a significant amount of confusion.
This is a significant drawback which currently holds back the development of the de-centralized web. Apart from this, several other issues such as the immaturity of the underlying technology and the lack of unified standards are all practical obstacles that need to be overcome before the de-centralized web can become a reality. Yet, we have come tantalizingly close to a solution and several companies such as Ethereum, Siacoin, DFINITY, and Storj are all trying to build alternatives to the current centralized models. Given the obvious advantages of this model and the progress over the last few years, it is fairly certain that the de-centralized internet is likely to become a reality within the next 10 years.
About Mahadev Gaonkar
Mahadev Gaonkar is Cloud and Mobile Technical architect having 15+ years of experience in professional software applications development. He has worked with storage, networking and cloud vendors to design and develop enterprise software for datacenter and cloud solutions. He has a solid experience in technical pre-sale and solution architectures with emerging technologies.
More on Mahadev Gaonkar.