DEV Community

Afra Ansaria
Afra Ansaria

Posted on

SOLID: Social linked data

1.0 Introduction
Led by Sir Tim-Berners Lee, Solid is a technology that is a result of 15 years of development. It is based on the latest W3C standards (LDF) and semantic web technologies (RDF). The platform is built with a complete set of specifications required for peer-to-peer and application-to-server communication. The Solid team has also built robust libraries and components that would enable developers to build an application on Solid.

The success of Solid would contribute to a transformative innovation as this would allow users to gain complete autonomy over their data. The user would be able to switch from one platform to another without having to sacrifice his/her data. The entire communication network on the internet would shift to a peer-to-peer interaction.

Image description

The impetus behind Solid’s innovation was the aftermath of the World Wide Web. The goal of this technology is to support a high degree of interoperability between applications as well as enable portability of data between servers. Although the protocols being used for this technology have evolved, the technical problem framed by this lab has been consistent over the past many years. The new system and boundaries indeed drive the innovation of Solid. The system has evolved into a peer-to-peer architecture (Explained more in Sec 4.1) and also has incorporated the latest W3C protocols. Another upgrade is the data servers that were once part of the interface, are now part of the proposed system.

1.1 Why a decentralised app?
The Internet is a truly distributed system, however, the World Wide Web is not. The early development of the web has seen the growth of tech giants like Amazon, Facebook, and Google which have provided users with a very sophisticated platform to host their data. It was no surprise to see that these companies have attracted a large share of userbase and now continue to do so. This, in turn, has led to the consolidation of power in less than 1% of the companies. Users have almost no privacy or control over their data. Users also face vendor lock-in as switching from one service to another competing service would mean that the user has to recreate the data all over again. The growing excitement in the area of the decentralized ecosystem over the past decade has carved a path for technologies like Solid that help the user gain control over their entire data.

Within the Solid ecosystem, the user gets to decide where the data is to be stored. Data like photos, blogs, contacts, and fitness metrics can all be stored in a Solid POD. The user can permit people or apps to read or write to their Solid POD. Data saved in one app can be available to another app- this way a user never has to sync since the data always stays with the user. This approach protects user’s privacy and also helps developers as it empowers them to build innovative services without having to harvest huge amounts of data in the first place.

2.0 Reference Technology — The Centralized Network
While the web was designed to act as a decentralized network, it steadily evolved into a landscape where large corporate companies controlled most of the content on these platforms. This has been positive in many ways as it has helped billions of users publish and share their content without being bothered about the underlying web protocols. The downside of this, however, is that these large corporate companies get to control the user’s data and monetize it.

This gave rise to a centralized ecosystem where 95% of the online data is controlled by just a handful of companies. Centralization also acts as a barrier for small companies to enter into the market as these large organizations get to drive most of the decisions on the web, thus, taking away the small companies’ audiences and profits.[3][10]

3.0 What are the limitations of a Centralised Network?
Although centralization has enabled many users to publish their content. It poses some serious limitations [1]

  1. Users have little to no privacy over their data.

  2. Single points of control or failure. For Ex- if a service like Facebook goes down, the user is restricted from using any third-party apps that require a Facebook login

  3. The high entry barrier for startups, thus stifling innovation

  4. Social tensions like fake news and algorithmic biases (Cambridge Analytica)

  5. Vendor lock-in — causing a bottleneck for users to migrate from one service to another service without having to create duplicate data

The current state of the internet calls for a more decentralized protocol that would enable users to share and access data directly using peer-to-peer interaction rather than using mediator platforms. One way to solve the above issues is by “user empowerment through data”. By decoupling the data from the application and giving users control over it, one can allow true data ownership.

Enter SOLID..

4.0 Social Linked Data (Solid)
One major technology that is trying to solve the problems posed by a centralized network is Solid. Solid, which stands for Social Linked Data, is a decentralized framework for social web applications. Based on the latest W3 protocols (LDN) and Semantic web technologies, Solid allows users to store their data on their private servers. Users can create a personal online datastore (POD) to store their information online and can allow as many providers to access their data.

4.1 How does Solid work?

In the Solid platform, users can store their data in a personal online datastore (POD). PODs can be considered as USB sticks on the Web that can be accessed from anywhere. In essence, PODs live on Solid-enabled web servers, which can be installed on any server of the user’s choice.

Users can then give access to different applications that can read or write onto parts of the POD. These Applications are either a client-side web-app, running in a browser, or a mobile application.

A solid ecosystem primarily consists of Decentralized authentication, a WebID, and a single sign-on. A user has to register with an identity provider, which then helps create his/her WebID. The applications then use the decentralized authentication protocol to access the user’s profile and all the relevant links that point to the user’s pod.

Application data is stored in the user’s pods and this data is managed in a RESTful way. This has been influenced by the Linked Data Platform (LDP), which enables data management in a hierarchal fashion (Ex: collections or directories). Each data item has a URI and can be manipulated through HTTP requests on their URI. For Ex- POST/PUT calls to create, PUT/PATCH to update, etc. Thus, items can be found and used through their URI.

The data can either be a structured representation, using a Resource Description Framework (RDF)[18], or in an unstructured form for datatypes such as video, images etc. The structured form can then be parsed and serialized in various formats such as Turtle or JSON-LD.[4][11] Solid servers may also offer optional SPARQL support. SPARQL allows the application to perform server-server communication, thus allowing the application developer to delegate multi-pod retrieval operations on the server. A pod server thus needs to store RDF and non-RDF resources and needs to support basic LDP access to these resources.

4.0 Applications running on Solid

Image description

Table: The table represents a few of the applications currently using the SOLID framework. These are developed using AngularJS and the jQuery framework provided by the Solid team.[4]

4.0 Who Benefits?
The primary beneficiaries of this technology are the users who get to control their data and manage its accessibility. Decentralization also helps developers enter the market easily and acquire customers without being concerned about the protocols being changed by the major companies. This, in turn, boosts innovation in the market and thus helps the government witness a positive shift in its economy.

Advertisers can also benefit from decentralization as it helps them reach their customers directly without having to deal with a third-party medium. This not only generates greater revenues but also establishes a great degree of trust between the users and the company.

5.0 Centralized vs Decentralized network
In a centralized system, the user has to create an account on the respective platform and upload his/her data on the storage servers provided by these services. Any updates to the data such as comments, likes, an addition of a picture in an album, etc. get reflected only onto the central data server of these services. The only way for a user to access this data is by logging into the respective platform. Users for most parts do not have any visibility on how the data is being used by the platform and whether he/she should be concerned about its privacy.

In a decentralized framework like Solid, the user gets to have their own online storage space where they can: manage their data, control its accessibility (Ex: Which app gets to view and update it), and move the data from one server to another. A decentralized communication protocol, Linked Data Notification (LDN) is used to get past the limits of centralization by enabling communication across independent servers.

Centralised vs Decentralised network

Image description

Figure Architectural difference between a centralized and a decentralized network [5]

5.0 Technology Readiness Level
The Solid ecosystem has built sophisticated libraries, implemented different servers, and built example applications to support easy development on the platform. To create a Solid app, the developer can just use the AngularJS libraries provided by the Solid team and build the logic on top of these libraries. On the other hand, for an end user to create a POD server, it is as simple as signing up on the Solid ecosystem from its website. The ease of implementation and the current adoption of this technology give it a TRL level of 8.

Since Solid is still in its nascent stages, it is subject to evolve as it penetrates deeper into the market over the period, thereby making this technology shy away from TRL 9.

5.1 Key Performance Indicators and Adoption Trends
Although the SOLID network provides a plethora of opportunities to both the user and the application developer, it completely predicates whether the developers pick these tools and write their applications on the SOLID framework. The main key performance indicator for this technology is user adoption i.e. number of users on the platform.

Image description

The graph in Fig 6 shows the adoption level of various social media platforms from 2011 to 2017. Platforms like Facebook and WhatsApp have a market presence of more than 50%, which gives them major control over the user’s content.

Although the decentralized applications marked its start in mid-2014, one can notice that the technology is still in its nascent stage and has reached just 8% of the market share.

Image description

The graph in Fig shows the current adoption trend against the overall adoption S-curve. Penetrating the market with just 25M users, this technology can be evaluated to be in its early stage, where the users utilizing this technology can be considered Early adopters.

5.3 Alternative concepts
Developing successful decentralized protocols is not just dependent on their technical implementation but also on the social community surrounding them. The success of Solid, therefore, is completely dependent on whether or not more developers will adopt these new standards. The recent breakthrough of hardware (GPUs) and software (Blockchain) has given rise to multiple ecosystems that can help achieve a decentralized network. However, they deploy various other protocols to achieve decentralization. A few of the alternatives are: [9]

Freedom Box, a system for personal publishing.
Diaspora, a federated social network.
Mastodon, a federated Twitter-like service.
Blockstack, a distributed system for online identity services.
IPFS (Interplanetary File System), is a distributed storage service with a proposed mechanism to incentivize resource sharing.
Appcoins, is a digital currency framework that enables users to financially participate in the ownership of platforms and protocols.
Steemit, is an online community that uses the blockchain to incentivize development and community participation in a social network.
5.4 Challenges:
The SOLID team does a great job at making ways toward a decentralized network. However, it faces some serious challenges.

Despite all the functionalities being provided by Solid, it comes with its very own challenges.

1. User and developer adoption
Technical viability alone does not guarantee the adoption of a platform. Users tend to join the social network because their friends or family are there. For new technologies like Solid, it might be difficult to entice the user to completely switch to a new platform.

The success of Solid also hinges on whether developers would build their apps on the Solid framework. Since most of the applications use SQL databases, switching to an RDF base, which is required in Solid, might act as an impediment to the developer’s adoption.

2. Limitations on the application
One other requirement of the Solid framework is that the applications are run on the client side. Most of the comprehensive services currently in the market run on sophisticated backend code that can be easily more than 100k lines of code. Running such a service as a pure client-based application would limit the functionality of these services.

3. Monetization and Incentive
Considering user data is important for monetizing, there is little to no incentive for mega-platforms to adopt these interoperable protocols. Instead, the companies would continue to own the data.

To circumvent the above issues, the solid framework needs to embrace a few robust mechanisms in its architecture. Currently, there is no solution proposed by the Solid team. However, the recent advancements in other decentralized technologies, such as the blockchain have led to the emergence of several other platforms that take pride in its decentralization. One can’t help but speculate that technologies like the BlockChain and the IPFS can act as catalysts for the Solid’s adoption rate.

5.4 Conclusion
At the heart of the decentralized system lies the concept of providing users with greater ownership and privacy over their content. Solid, which helps users store their data on their server, is a concrete example of such a decentralized platform. The guiding principles of this technology are Data storage that is service providers agnostic, Interoperability- allowing users to switch between similar applications without having to lose work, Accessibility- lowering the entry barrier for all forms of participation, Freedom of expression, and web of Trust. If users can access their data independently of the specific platform, then the risk of censorship is effectively reduced. This technology is proof of the viability of a decentralized ecosystem built on the current W3C standards and appreciation of such a platform is very valuable in the ongoing discussion on re-decentralization. [4][1]

During the early years of the World Wide Web, the early 90s, Internet services were built on open protocols controlled by the Internet community. During the second era of the internet, the mid-2000s, tech giant companies like Google, Facebook, and Amazon built services that rapidly outdid the capabilities of the open protocols. This eventually led to centralization where the major companies control most of the users’ data. As the web is gaining more adoption, scholars and advocates have begun to conceive a new generation of internet, in which freedom of expression can be preserved. This has called for the third era of the internet, the decentralization network. Blockchain and SOLID are a few of the technologies that are paving the way for the new era.

References:
http://crosscloud.org/
http://dig.csail.mit.edu/publications.html
https://medium.com/s/story/why-decentralization-matters-5e3f79f7638e
https://doi.org/10.1145/2872518.2890529
https://link.springer.com/chapter/10.1007/978-3-319-60131-1_33
https://www.kleinerperkins.com/perspectives/internet-trends-report-2018
https://ondigitalmarketing.com/learn/odm/foundations/5-customer-segments-technology-adoption/
https://www.blockchain.com/charts/my-wallet-n-users?
https://dci.mit.edu/decentralizedweb/
https://www.forbes.com/sites/forbescommunicationscouncil/2018/06/06/the-promise-of-a-decentralized-social-media-ecosystem/#632f602a362a
https://dl.acm.org/citation.cfm?doid=2872518.2891060
https://static1.squarespace.com/static/59aae5e9a803bb10bedeb03e/t/59ae908a46c3c480db42326f/1504612494894/decentralized_web.pdf
https://static1.squarespace.com/static/59aae5e9a803bb10bedeb03e/t/59ae908a46c3c480
https://solid.mit.edu/
http://dig.csail.mit.edu/2014/Papers/PST_2014_Paradesi.pdf
https://linkedresearch.org/
https://www.w3.org/2001/12/semweb-fin/w3csw
https://swirrl.github.io/linked-data-frames/articles/introduction-to-ldf.html

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.