Web3 is Self-Certifying
Thereâs been a lot of discussion lately about what Web3 is and isnât. Hereâs my definition: Web3 is user-generated authority, enabled by self-certifying web protocols. These are a superset of technologies that include blockchains, but are not limited to them. Is this what other people think âWeb3â is? Maybe not, but hear me out.
Authority on the web establishes who ultimately has control over content. In the earliest stage of the web, there wasnât usually a separation between âusersâ and web hosts â whoever hosted a website also put the content on there. In the shift known as âWeb 2.0â, sites became popular that gave users accounts to create content, but the site hosts still had the final say and could unilaterally change anything they wanted to. This is mostly how the web works now. In the evolution of the web Iâm calling Web3, users can cryptographically assert their identity and publish verifiable content, and sites that host content donât have the authority to change it, because the root of trust is in the data itself, not in where it is found. To recap:
- Web 1.0 â Host-generated content, host-generated authority. A person wanting to publish to the web had to run their own server to host a website. Websites were mainly read-only, and offered few interfaces for user content creation or interaction.
- Web 2.0 â User-generated content, host-generated authority. Websites emerged that let people create user accounts so they didnât have to host their own servers to publish to the web. This led to a lot more user-generated, interactive content, but these sites have grown to become powerful platforms, and the fact that users donât ultimately have control over their accounts and content is becoming problematic.
- Web 3.0 â User-generated content, user-generated authority. A model is emerging where people donât have to host a server or create a user account in someone elseâs database to create content. Servers can choose whether or not to host someoneâs account or content, but they donât have ultimate authority over it. The technologies that enable this are âself-certifying protocolsâ, based on cryptographic signatures and hashes.
In short, these three stages are âthe hosted web, the posted web, and the signed web.â
What is a âself-certifying protocol?â This is a general term Iâm using to describe protocols that have cryptographic user identifiers and content-addressed data. âCryptographic user identifiersâ associate users with public keys. The ability to sign with the corresponding private key is the root of trust proving someone controls an account, rather than an entry in a database keeping track of user logins. âContent-addressed dataâ means content is referenced by its cryptographic hash â the unique digital âfingerprintâ of a piece of data. Putting these two pieces together, a content hash signed by a user key can prove a user authorized its creation, without requiring an intermediary. ââSelf-certifying data enables trust to reside in the data itself, not in where you found it, allowing apps to move away from client-server architectures. This creates âuser-generated authorityâ.
Whatâs the role of blockchains in Web3, if weâre defining it as self-certifying protocols? Blockchains are self-certifying protocols that create consensus on global state, emulating a centralized database without any one party being in control. âUser accountsâ on blockchains are cryptographic keypairs, used to sign transactions. The âcontentâ is hashes of transactions bundled into blocks, that are themselves hashed and chained together. Transactions are signed with a userâs keypair. What Bitcoin (the first blockchain) introduced was a novel consensus mechanism for mutually distrusting parties to agree on what transactions occurred â very important for digital money without an intermediary.
What other protocols have self-certifying properties that are not blockchains? Git, PGP, BitTorrent and Tahoe-LAFs preceded Bitcoin. Among the current generation of non-blockchain self-certifying protocols, IPFS, Hypercore, SSB, Peergos, and Spritely all have user keys and content addressing. In these non-blockchain self-certifying protocols, you can prove a user âownsâ content in the sense that it can be verified that they published it. Blockchains introduce a stricter notion of ownership by having a timestamped global ledger everyone agrees on. This lets you assert properties like global ordering and uniqueness, so you can prove only one person âownsâ a bitcoin or an NFT at one time. Architecturally, blockchains can be thought of as just one type of datastore in Web3, useful for some applications and cumbersome in others. But financially and socially, theyâve poured attention and resources into the space. Important pieces of Web3 infrastructure that have been built as a result of blockchains include wallets and apps that put keypairs into the hands of millions of users, and tooling for new cryptographic primitives such as zero-knowledge proofs that unlock countless possibilities. Itâs understandable why they currently overshadow discussion of anything else, but if the full Web3 vision is to be realized, other kinds of self-certifying protocols will have to be developed.
If a self-certifying protocol is one that allows authorship of content to be proven directly through user keys and content addressing, a self-certifying web protocol is one that also has content linking and discovery. Algorithms that enable discovery of content are a fundamental part of how we use the web these days, and âWeb3â needs to develop more sophistication here if itâs going to provide a good user experience. Things I think are missing or immature: social graphs, user profiles, identity and reputation attestations, content aggregation, indexing and discovery, curation and moderation methods. A confusing part of the term Web3 as applied to blockchain tech is that itâs a lot of disconnected pieces right now, that are missing a lot of features weâve come to expect from the web.
I would like a broader definition of Web3 to be recognized that includes all self-certifying protocols, of which all blockchains are a subset. But rather than focusing on the terms, letâs try to focus our energy on what properties and characteristics are important as the internet evolves. I want a more user-centric web, where people can generate their own authority to create content without locking themselves into a centralized service. If you agree with this but donât want to use the term âWeb3â for whatever reason, I propose using âSelf-Certifying Web Protocolâ, or SCWP for short, as a more concrete and technically descriptive term for these technologies.
Thanks to everyone who provided thoughts and feedback on this post: Paul Frazee, Daniel Holmgren, Aaron D Goldman, Christine Lemmer-Webber, Andre Staltz, Whyrusleeping, Jenny Kaehms, and more.