Solid is the project with which Tim Berners-Lee, creator of the World Wide Web (www) wants to decentralize the Internet without using blockchain technology. What is Solid, Project to decentralize the web without blockchain?
The project, according to its website, is carried out at MIT and aims to radically change the way web applications work today. The result would be true data ownership and increased privacy.
Currently, there are many companies working on the construction of the decentralized web, known as Web3, with projects of all kinds based on blockchain technology. But Berners-Lee’s proposal strays far from what is known as Web3. His idea is to build a cheap, fast and truly private decentralized internet.
Berners-Lee believes that blockchain technology is not good enough to deploy services on the Web. He worries that blockchain records are public and that while privacy has come a long way, there are still loopholes through which a third party can analyze and track user activity.
The creator of the web also thinks that blockchain services are expensive. Each transaction in the network has an associated cost and the maintenance of its infrastructure can have a high price in some cases. Two issues that prevent an internet for everyone, which was Tim’s idea when he created the www.
Tim Berners-Lee, the visionary behind the Internet and Solid
Berners-Lee is a visionary. His ideas have deeply permeated different projects, such as Xanadú, a three-dimensional Internet that dates back to the 1960s. One of the most surprising things about the creator of the web is his closeness to the cypherpunk movement and his dedication to protecting freedom and privacy. Internet neutrality. Tim has always stood out for his fight and leading role in the construction of standards to protect freedom and neutrality.
He is the founder of the World Wide Web Consortium (W3C), the highest authority on the development of Web technologies worldwide. Tim has never abused his leadership. On the contrary, W3C has served to make the Internet an open space for all, accompanying other giants. Like the Electronic Frontier Foundation (EFF) or the Free Software Foundation (FSF). He has even argued with the United States and United Kingdom governments in favor of Internet freedom and neutrality.
What is Solid?
Tim Berners-Lee’s proposal with Solid is simple: enable a decentralized Internet for everyone. For this, Solid wants to use the current Internet standards proposed by the W3C. Solid is introduced as a protocol to help build Solid Server and Solid Pods .
Solid Server refers to servers that can be deployed personally or by private initiatives. Like the current hostings or VPS, which support most of the operation of the Internet. The role of a Solid Server is to support several Solid Pods, which would be the execution instances of the services that are sought to be decentralized.
In this way, each Solid Pod is an instance controlled by the user, to which only he can have access to his data since these are abstracted from the execution space of the Solid Servers. This means that although a Solid Server can host hundreds or even thousands of Solid Pods, the administrator of the Server cannot access the user data and, in case of doing so, traces of access would remain. But you would be surprised that said data is encrypted and you would not be able to read anything.
The idea with this structure is simple:
- If the user can’t or doesn’t have the ability to create their own server, they can confidently use a third-party server because they know their data is protected.
- If the user can manage his own server, he can create it and manage his pods as he pleases.
The potential of the Pods and the Server is much broader since the rules can be managed according to the needs of users and operators. For example, if a Pod gives access to certain data to another user using another Pod, that Pod will be able to do so. You can even remove that access once the task is complete. In this way, the Pods can send and receive information between them. All this with access control that allows its users to check the access to their data, according to their own conditions.
Now, how does Solid manage all this? How do I log in to a Pod securely with a single identity such as a blockchain with a Web3 wallet? This is where Web standards come into play. For many years there have been a number of Digital ID standards that can be used. OAuth and OpenID are the two most widespread.
OpenID is a standard for digital identity and OAuth is a standard for access authorization that has long been used on the Web. For example, when you sign in to your Drive using third-party apps, Google forces this third-party app to use OAuth to request access to its Drive services. The same thing happens when you try to access Gmail using an application like K9-Mail (on Android) or Thunderbird (on Windows, Mac, or GNU/Linux). In all cases, OAuth is used to guarantee access. Thus, Solid already has two ways to guarantee the identity and granular access control to its services.
Forbid access to IPs
Likewise, access to data is given through an ACL (Access Control List) framework that indicates to the Pod which identities have access, which resources they can access, what actions they can perform and what is prohibited. The granularity at this point is enormous, being able to even prohibit access to the Pod from certain locations, with certain software versions. In this way, the user in control of the Pod can prohibit access to known attacking IPs or to certain Pods with vulnerable or unsupported versions due to their age. The best thing is that all this can be configured from a control panel through the Web.
Another function that we can find in Solid is its ability to use notifications to send messages on the network and to the rest of the nodes that we have connected. For example, this will allow us to have a blogger pod that will send notifications to the pods of our readers advising that we have created a new post. For these functions, the Pods will use HTML5 Web standards, such as WebSockets, WebSub, WebHooks, and Linked Data Notifications (LND). In this way, the entire operation of the Pods relies on standards that have been with us for a long time and are widely supported by the industry and our Web browsers today.
Performance and development with familiar tools
One of the best things about Solid is that it offers a unique level of performance and development. By doing without blockchain, the operations we perform in a Pod are limited by two things: the computational power of the Pod and our Internet connection. In fact, Pods can scale their performance exponentially, if we use more powerful computers or distributed computing, which leaves the scalability of blockchain far behind. Talking about transactions per second in this context is futile. A well-implemented Pod will always be faster than a Web3 Dapp on the blockchain, regardless of the speed of the blockchain.
This flexibility gives Solid a huge advantage: the ability to use existing projects and embeds them within a Pod with the relevant modifications. Certainly, this is a huge advantage, because projects like the Mastodon social network could be much easier to manage. It would be easier to integrate them into developments like Solid than to Web3 developments on the blockchain, with the advantages of performance, costs and ease of maintenance that this entails.