The Web3 Test
How to tell if something is really Web3
The term Web3 is commonly used today in software engineering, product development, and business. However, at this time, it is essentially a colloquial term without a specific, agreed-upon meaning. Therefore, it can be confusing to interpret specifically what “Web3” means, especially for those who may be new to the industry.
This short article serves as a primer for those being introduced to this term, giving them the necessary tools to develop an intuition to assess whether something is indeed worthy of the descriptor “Web3.”
Web3 Nomenclature and Properties
To set the stage with succinct nomenclature, this primer uses the term resource to refer to any software, product, protocol, or technology that provides some concrete functionality (such as transaction processing or file delivery). Resources are produced, or realized, through the participation of various computers, devices, and even people. This primer generalizes these entities and refers to them simply as “agents.” An agent is any logical entity that can contribute to or utilize a resource’s state.
Those who have studied engineering, computer science, or mathematics will be familiar with the term “state”; for those without this background, the state of a resource is a digital description of the system at a point in time such that the description could be used to reproduce the resource in its entirety at that moment. Finally, for a resource to be useful, it must be both stable and convergent. The property of stability is the capacity of a system to correct errors introduced to its state either by accident or with intent. The property of convergence is a system’s capacity to transition as quickly as possible from one valid and correct state to the next. When a resource claims to be ‘Web3’ in nature, it should exhibit at least two of the following three additional properties:
A resource is decentralized if global quantities of interest (QoIs) are calculable and verifiable from locally accessible state. That is, a single agent participating in a resource should be able to construct all important global (with respect to the resource as a whole) QoIs (like an account balance) by gossiping partial state only to a subset of all participating agents. Thus, decentralized resources have no single arbiter of truth for the state of the resource. Additionally, the cost (whether computational, financial, or otherwise) of calculating global QoIs is independent of the number of agents participating in the resource. If an agent (or even many agents up to some known threshold) participating in providing a decentralized resource becomes inaccessible (meaning they are unable to communicate with other agents), it must not affect the stability or convergence of the resource state. Therefore, decentralized resources, by construction, are highly available.
Decentralization is often touted as the primary value proposition of Web3 resources. However, Web1 (the internet applications of the 1980s and 1990s) was highly decentralized, so this cannot be the central theme of Web3. Rather, decentralization is a strong mechanism by which to achieve the realization of resources with the next two properties: permissionlessness and trustlessness.
A resource is considered to be permissionless if the security model of the resource does not rely on hierarchical permissioning schemes to maintain stability and convergence. Permissionless resources instead typically implement economic, behavioral, or other mechanisms such that arbitrary agents are incentivized to contribute to or utilize the resource in a manner that maintains the stability and convergence of the resource state. Succinctly, a Web3 resource’s state should be insensitive to the contribution or utilization by any particular agent.
A resource is considered to be trustless when it guarantees a predictable state transition, or result, when utilized by an arbitrary agent. That is, the result of utilizing a resource does not depend on the proper participation of any particular contributing agent. This also implies that an agent can also independently verify the correctness of a result. It is generally accepted that completely trustless systems are not possible to implement in real-world cyber-physical systems, but PoW and PoS-based consensus networks have achieved a high degree of trustlessness in practice.
“ Web3 systems allow for private, for-profit institutions to cooperate to provide a high-value, high-quality, public resource while acting only in their own best interests, a feat not achievable before… ”
These properties and their definitions illustrate the clear utility of Web3 resources and highlight why there is so much interest in the field. Systems which exhibit these properties (particularly permissionlessness and trustlessness) are inherently valuable because they fundamentally enable new business models, corporate governance practices, financial markets, and potentially even more robust control planes for public infrastructure management that were not possible to achieve in the past. In short, Web3 systems allow for private, for-profit institutions to cooperate to provide a high-value, high-quality, public resource while acting only in their own best interests, a feat not achievable before the publication of Nakamoto’s Bitcoin whitepaper. Perhaps Web3 systems will result in a diverse ecosystem of technologies that produce societal good while requiring only self-interested behaviors.
In conclusion, while the term Web3 is used by many people to describe many products and technologies, unless the resource exhibits at least two of the three properties (decentralization, permissionlessness, and trustlessness) defined here, it is often not an accurate description.