Client/Server Behavior in a Decentralized Semantic Web

In a future where people have control over their data, I see the web working differently (skip to chart below for a picture). The building blocks, specifically SoLiD and IPFS, are there, but the implementation is slow since it requires us to rethink the entire architecture of the internet and reclaim our data autonomy.

As Eric S. Raymond says in Revenge of the Hackers, back in 1999, on convincing Fortune 500 companies to embrace open source:

If this were primarily a technical problem, the outcome would hardly be in doubt. But it isn’t; it’s a problem in ergonomic design and interface psychology, and hackers have historically been poor at these things.

Eric S. Raymond

In this essay I’ll share what I see forming from the building blocks of the semantic web so it might start a dialogue on how we can implement changes and incentivize individuals to start building their personalized datasets sooner rather than later.

Let me first state I have spent the last few weeks hacking the Solid architecture to better understand it. I ended up creating CommonSpace as a way to incentivize myself to learn more about the specification and, just for fun, Three.js. I hope that by sharing the app and this essay, I will persuade others to do the same. Learn more about the architecture of CommonSpace here.

Rethinking Client/Server with Decentralized Semantics

In the future that I see, individuals will use the world wide web to access different user experiences. Of course, we already do this. Only I feel more used by my web experiences today than I feel like a user of them. So, how will the future look different? First, let’s define a user experience as any user interface like a basic website, video game, content library (like YouTube), virtual reality space, or an A.I. agent. In the past these web clients have required users to register with their centralized database servers to experience the interface. This, ideally, is what is about to change.

In the future, visitors to web clients, like CommonSpace, will enjoy content that companies or individuals have permitted the client to share with that visitor. Then visitors can personalize their experience by permitting the client application access to their preference data.  (See flow chart below)

The client application is simply the user experience, the frontend, the interface, the buttons, the view, the digital space. The database servers are decentralized and linked separately from the client application.  Any client application (identified with their client identifier) can use any dataset once permitted by that individual or company.

Web apps will be a personalized experience.  The applications will only be clients, not servers. The companies with CODs (company online datasets), or individuals with PODs (personal online datasets) will act as the data servers. Any online dataset (POD or COD) acts as the server – or the client in the event of a data trade with other entities (see “A” and “B” in the chart below). Each dataset will have an associated WebId as a digital representation of that company or individual. The WebId will have a WebId profile document mapping clients to certain areas of that WebId’s online dataset.

Additionally, using Interplanetary File System, persons or businesses will tokenize data they deem valuable so persons or businesses can buy or sell that data on an exchange network. IPFS is also useful in persisting and protecting valuable data in multiple places. But here I will emphasize it’s ability for individuals to finally monetize their data.

Client applications can also have an associated online dataset as a way to store and exchange data, but it will be separate from the user experience, and the visitor can choose to disregard the company dataset associated with the client application. This is what I’d like to stress as we discuss future web architecture. Web ontology is useless unless individual entities have WebIds with shared data mappings. If we organize the foundation properly, it will be easy to share and even visualize data connections with permitted parties.

Client/server architecture chart in decentralized web

This is how I envision the web in the years to come. At least I hope it looks something like this. Regulations keep coming into play that are taking our power away under the guise of safety. I, a proud pessimist, felt some optimism when I discovered Solid and IPFS. They are the wheels on which we can build a chassis for a world wide web centered on data autonomy. Can we incentivize each other to start building and connecting our personal datasets today so Big Tech is forced to adopt a decentralized server structure and simply focus on our user experiences?

Update, 12/20/23:

This proposal was just dropped that I’m very excited to research further and integrate into CommonSpace!

Here is the summary:

This document describes a minimal implementation of a federated marketplace based on ActivityPub protocol and Valueflows vocabulary. In such marketplace actors can publish offers and requests, respond to offers and requests published by other actors, enter into agreements and exchange information necessary to complete these agreements. - Federated Marketplace

Further Reading

  • https://www.amazon.com/Spatial-Web-connect-machines-transform/dp/0578562960
  • https://www.linuxjournal.com/content/if-your-privacy-hands-others-alone-you-dont-have-any
  • https://projectvrm.org/privacy-manifesto/

– Love Yourself

– Britt