Tokenized Networks: Web3, the Stateful Web - Token-Economy-Book/EnglishOriginal GitHub Wiki

If we assume that the WWW revolutionized information, and that the Web2 revolutionized interactions, the Web3 has the potential to revolutionize agreements and value exchange. The Web3 changes the data structures in the backend of the Internet, introducing a universal state layer, often by incentivizing network actors with a token. The backbone of this Web3 is represented by a series of blockchain networks or similar distributed ledgers.

The Internet we have today is broken. We do not control our data, nor do we have a native value settlement layer. Thirty years into mass adoption of the Internet, our data architectures are still based on the concept of the stand-alone computer, where data is centrally stored and managed on a server, and sent or retrieved by a client. Every time we interact over the Internet, copies of our data get sent to the server of a service provider, and every time that happens, we lose control over our data. As a result, and even though we live in an increasingly connected world, our data is mostly centrally stored: on local or remote servers, on our personal computers, mobile devices, flash drives, and increasingly also on our watches, cars, TVs, or fridges. This raises issues of trust. Can I trust those people and institutions that store and manage my data against any form of corruption—internally or externally, on purpose or by accident? Centralized data structures not only raise issues of security, privacy and control of personal data, but also produce many inefficiencies along the supply chain of goods and services.

There are historic roots to these issues since the computer preceded the Internet. In the early days of personal computers one could not send files from one computer to the other. You needed to save a file on a floppy disc, walk over to the person who needed the file, and copy the file onto their computer so they could use it. If that person was in another country, you would need to go to the post office and mail the floppy disc to them. The emergence of the Internet Protocol (IP) put an end to this, connecting all those stand-alone computers with a data transmission protocol that made the transfer of data faster, and slashed the transaction costs of information exchange. However, the Internet we use today is still predominantly built on the idea of the stand-alone computer, where most data is centrally stored and managed on the servers of trusted institutions. The data on these servers is protected by firewalls, and system administrators are needed to manage the security of the data stored on the servers.

The emergence of the WWW in the early 1990s increased the usability of the Internet with visually appealing and easy-to-navigate websites. Ten years later, the Internet became more mature, and programmable. We saw the rise of the so-called Web2, which brought us social media, e-commerce and knowledge platforms. The Web2 revolutionized social interactions, bringing producers and consumers of information, goods, and services closer together. The Web2 allowed us to enjoy peer-to-peer (P2P) interactions on a global scale, but always with a middleman: a platform acting as a trusted intermediary between two people who do not know or trust each other. While these Internet platforms have done a fantastic job of creating a P2P economy, they also dictate all the rules and they control the data of their users.

In this context, blockchain networks seem to be a driving force of the next-generation Internet, what some refer to as the Web3. They reinvent the way that data is stored and managed over the Internet, providing a unique set of data—a universal state layer—that is collectively managed by all nodes in the network. This unique state layer, for the first time, provides a native value settlement layer for the Internet in the absence of intermediaries. It enables true P2P transactions, and it all started with the emergence of Bitcoin.

While the Web2 was a front-end revolution, the Web3 is a backend revolution. The Web3 reinvents how the Internet is wired in the backend, combining the system functions of the Internet with the system functions of computers. However, nothing much will change on the front-end of the Internet for the average user. The Web3 represents a set of protocols, with distributed ledgers as their backbone. Data is collaboratively managed by a P2P network of computers. The management rules are formalized in the protocol and secured by majority consensus of all network participants, who are incentivized with a network token for their activities. The protocol formalizes the governance rules of the network and ensures that people who do not know or trust each other reach and settle agreements over the Web. While trying to manipulate data on a server resembles breaking into a house, where security is provided by a fence and an alarm system, the Web3 is designed in a way that you would need to break into multiple houses around the globe simultaneously, which each have their own fence and alarm system. This is possible but prohibitively expensive.


History of the Web


Blockchain: A Stateful Protocol

The Internet we use today is “stateless.” It doesn’t have a native mechanism to transfer what computer science refers to as “state.” State refers to information, or the status of “Who is who?”; “Who owns what?”; and “Who has the right to do what?” in a network. The ability to transfer value easily and P2P is essential for efficient markets, and “state” is a key property for managing and transfering values. In the Web3, values are represented by cryptographically secured tokens.

If you can’t hold state in the Internet, you cannot transfer value without centralized institutions acting as clearing entities. While today’s Internet has accelerated information transfer by orders of magnitude of what was possible before, we still need trusted institutions such as Internet platform providers to broker our actions as a workaround for this lack of state. Stateless protocols like the current Web only manage the transfer of information, where the sender or receiver of that information is unaware of the state of the other. This lack of state is based on the simplicity of the protocols that the Web is built on, such TCP/IP, SMTP, or HTTP. This family of protocols regulates the transmission of data, not how data is stored. Data could be stored centrally, or decentrally. For many reasons, centralized data storage became the mainstream form of data storage and management.

The introduction of session cookies and centralized service providers offered workarounds to this stateless Web. Session cookies were invented so web-based applications could preserve state on local devices. Before session cookies—in the early days of the WWW—we had no browsing history, no favorite sites saved, and no auto-complete, which meant that we had to resubmit our user information every time we were using a website. While session cookies provide better usability, these cookies are created and controlled by a service provider, such as Google, Amazon, Facebook, your bank, your university, etc., whose role is to provide and manage the state of their user.

Web2 platforms have introduced many beneficial services and created considerable social and economic value over the years. However, wealth was mostly accumulated by the companies offering the services, and less by the general public contributing content and value to those services. Instead of decentralizing the world, Web2 platforms contributed to a re-centralization of economic decision making, R&D decision making, and subsequently, to an enormous concentration of power around these platform providers. Furthermore, since the early Internet was created around the idea of free information, customers were often not willing to pay for online content with a recurring subscription fee, and micropayments are still not feasible, in most cases. Therefore, many of these Web2 platforms needed to find alternative ways to profit from the free services they provided, and this alternative was advertising. What followed was targeted advertizing based on user behavior and the commodification of private data. Business models have, therefore, developed around targeted advertising that builds on the data sets collected, which provide “state” for these platforms. As a result of this, users are paying for services with their private data.

The Bitcoin network introduced a mechanism for each node in a network to send and receive tokens, and record the state of tokens, in a digitally native format. The consensus protocol of the Bitcoin network is designed in a way that the network can collectively remember preceding events or user interactions, resolving the “double-spending” problem by providing a single source of reference for who received what and when. The Bitcoin protocol can, therefore, be seen as a game changer, paving the way to a more decentralized Web. The Bitcoin white paper of 2008 initiated a new form of public infrastructure where the state of all Bitcoin tokens are collectively maintained.

Blockchain networks, such as the Bitcoin network, are only the backbone, and the starting point, but not the only building block in this new decentralized Web. The Web3 architecture leverages the collectively maintained universal state for decentralized computing. Decentralized applications can manage some or all of their content and logic by a blockchain network or other distributed ledger. But other protocols are also needed. Many developers have started to build alternative blockchain networks, as well as complementary protocols for the Web3.


Centralized vs. Distributed


Other Web3 Protocols

Blockchain is not the only technology needed to decentralize the Web. A multitude of other protocols are required to create a decentralized application. However, the term “blockchain” seems to be used as a synonym for many Web3[^1] protocols or the Web3 itself, at least by some journalists and the general public. Apart from computation we need file storage, messaging, identities, external data (oracles) and many other decentralized services. A blockchain network is simply the processor for decentralized applications that operate on top of the Web3. It serves as a distributed accounting machine recording all token transactions and performing computation.

Blockchain networks are not at all ideal for storing data, for two main reasons: (i) public blockchain networks are too slow and too expensive to store large data sets; and (ii) storing plain-text data blockchain networks doesn’t allow for “privacy by design.”[^2] To create a decentralized YouTube, for example, decentralized file storage is needed to manage the video files. A range of different decentralized storage network solutions have been emerging, such as “IPFS,” “Filecoin,” “Swarm,” “Storj,” or “Sia.” Decentralized storage networks incentivize network nodes to share storage space with a native token, and turn cloud storage into algorithmic markets. They differ in their levels of decentralization, privacy and in their choice of incentive mechanisms. Some might not even have an incentive layer, like IPFS, for example. Protocols like “Golem,” on the other hand, provide decentralize rendering power by rewarding contributions in the network with their native protocol token.

The Web3 developer community has been evolving over the last years. Different teams are working on various components of this emergent Web; however, many of these protocols are still in development. Web3 applications typically communicate with peers that are unknown in the beginning, and have varying quality in terms of speed and reliability. New libraries and APIs are needed to navigate such complexities. It is unclear when they will achieve critical mass to possibly replace the current Web applications on a larger scale, or which standards will ultimately prevail. The transition from “client-server Web” to the “decentralized Web” will, therefore, be gradual rather than radical. It seems to be shifting from centralized to partially decentralized to fully decentralized.

One of the most pressing applied research questions when developing complementary technologies for the Web3 is the question of how to reward network participants with a token, so that the network stays attack resistant. Examples thereof would be incentive mechanisms for decentralized file storage solutions, decentralized computation, data analysis, or reputation. Many different consensus mechanisms are currently being experimented with, such as: “Proof-of-Retrievability,” “Proof-of-Storage,” and “Proof-of-Spacetime.” Fully decentralized solutions, such as IPFS and Swarm, are not functionally implemented yet.

While decentralized architectures are more resilient than their centralized Web2 predecessors, they are also slower. Speed, performance, and usability are bottlenecks in the Web3 that will very likely be resolved over time, once the core components of the Web3 are up and running (read more: Annex - Scalability). It is likely that the future of the Internet will be more decentralized, however, this does not mean that we will get rid of centralized systems altogether. Centralized systems have advantages and will likely prevail, at least for specific use cases.


Web2 vs. Web3 Applications


Decentralized Applications in the Web3

As opposed to centralized applications that run on a single computer, decentralized applications run on a P2P network of computers. They have existed since the advent of P2P networks and don’t necessarily need to run on top of a blockchain network. “Tor,” “BitTorrent,” “Popcorn Time,” and “BitMessage,” are all examples of decentralized applications that run on a P2P network, but not on a blockchain network, which is a specific kind of P2P network (read more: Annex - Origins of Bitcoin and Web3).

Traditional applications use HTML, CSS, or javascript to render a webpage or a mobile app. The front-end of a webpage or a mobile application interacts with one or more centralized databases. When you use a service like Twitter, Facebook, Amazon, or Airbnb, for example, the webpage will call an API to process your personal data and other necessary information stored on their servers, to display them on the front-end. User ID and passwords are used for identification and authentication, with low levels of security, since personalized data is stored on the server of the service provider.

Decentralized applications do not look any different from current websites or mobile apps. The front-end represents what you see, and the backend of a decentralized application represents the entire business logic. A decentralized application is a blockchain client called “wallet.” It uses the same technologies to render a webpage or a mobile app (like HTML, CSS, Javascript) but communicates with a blockchain network instead of a server and, in the case of smart contract networks, also the smart contracts (read more: Part 2 - Smart Contracts). The wallet also manages the public-private key-pair and the blockchain address, to provide a unique identity for network nodes so they can securely interact with the network (read more: Part 1 - Token Security & User-Centric Identities). The smart contracts represent the core business logic of the decentralized application and processes data feeds from inside and outside the network to manage the state of all network actors (read more: Part 1 - Smart Contracts). If the blockchain-client is a full-node, it will also manage the full state of the ledger (read more: Part 1 - Bitcoin, Blockchain & other Distributed Ledgers). In this case, the blockchain-client performs the functions of an HTTP client and a server, as all data is stored client-side. The front-end data, including audio or video files and other documents, could be collectively stored on and managed by decentralized storage networks like “Swarm” or “IPFS.” At the time of writing this book such data is still, for the most part, stored on and managed by servers.

For the average user, decentralized applications need to look and feel the same as existing applications, which means that they need to be as easy and intuitive to use if they are to be adopted on a larger scale. Currently, wallet software and key management are difficult, which might be a bottleneck to the mass adoption of Web3 applications. Furthermore, wide-scale adoption can only happen if distrust of centralized solutions is high enough to warrant current trade-offs in usability.

Chapter Summary

The Internet we have today is broken. We do not control our data, nor do we have a native value settlement layer. Every time we interact over the Internet, copies of our data get sent to the server of a service provider, and every time that happens, we lose control over our data. This raises issues of trust. \

The Internet we use today stores and manages data on the servers of trusted institutions. In the Web3 data is stored in multiple copies of a P2P network, and the management rules are formalized in the protocol, and secured by majority consensus of all network participants, often (but not always) incentivized with a network token for their activities_._ \

In the Web3 the state of the network (represented by the ledger) is collectively maintained. \

While the Web2 was a front-end revolution, the Web3 is a backend revolution, introducing a universal state layer. It is a set of protocols led by a blockchain network or similar distributed ledger, which intends to reinvent how the Internet is wired in the backend. The Web3 combines the system functions of the Internet with the system functions of computers. \

As opposed to centralized applications that run on a single computer, decentralized applications run on a P2P network of computers. They have existed since the advent of P2P networks. Decentralized applications don’t necessarily need to run on top of a blockchain network. \

A decentralized application is a blockchain client called “wallet.” It uses the same technologies to render a webpage or a mobile app (like HTML, CSS, Javascript) but communicates with a blockchain network instead of a server and, in the case of smart contract networks, also the smart contracts. The wallet also manages the public-private key-pair and the blockchain address, to provide a unique identity for network nodes and allow them to interact with the network. \

Chapter References & Further Reading

Footnotes

[^1]: Please note that similar terms, like Web 3.0, are used by other domains. They often refer to a more intelligent Web or semantic Web, including machine learning and AI, focusing on the convergence of several key emerging technologies. In the context of blockchain, the term is used by many in the scene to refer to a more decentralized Internet, and it is generally referred to as Web3 (not Web 3.0).

[^2]: “Privacy by Design” refers to “data protection through technology design.” (https://gdpr-info.eu/issues/privacy-by-design)