Jack Dorsey’s Bitcoin-focused TBD business unit, a subsidiary of Block Inc., announced Friday that it is building a new decentralized web: Web5.
Web5 is based on the assumption that Web3, the idea of building a decentralized web with blockchain technology and cryptocurrencies, has the right intentions but is using the wrong tools.
Web5 leverages Bitcoin, the decentralized monetary network, and a plethora of sound computer science technologies to create a new ecosystem of decentralized identities, data storage and applications in which the users are in control of their personal information.
Fairly decentralized developments in the internet over the past couple of decades such as BitTorrent and Tor have shown that blockchain technology is not a necessary component for decentralization. Rather, the blockchain has only proven to be needed for a very specific purpose – mitigate the double-spend problem to successfully bring peer-to-peer money to the digital realm with Bitcoin.
TBD’s Web5 is made up of software components and services such as decentralized identifiers (DIDs), decentralized web node (DWNs), self-sovereign identity service (SSIS) and a self-sovereign identity software development kit (ssi-sdk). These components let developers focus on building user experiences while more easily enabling decentralized identity and data storage in applications.
Web5’s DID component leverages ION, an open, public and permissionless second-layer DID network that runs atop the Bitcoin blockchain. It is based on the deterministic Sidetree protocol, which requires no special tokens, trusted validators or additional consensus mechanisms to function.
A DID is essentially a globally unique persistent identifier that doesn’t require a centralized registration authority and is often generated and registered cryptographically. It consists of a unique uniform resource identifier (URI) string that serves as an ID with additional public key infrastructure (PKI) metadata describing the cryptographic keys and other fundamental PKI values linked to a unique, user-controlled, self-sovereign identifier in a target system such as the Bitcoin blockchain.
ION only allows DIDs to be deactivated by their owners, being hence censorship-resistant, and includes registry capabilities to support decentralized package managers and app stores. The decentralized network can in theory process thousands of DID operations per second.
Decentralized Web Node
The DWN leveraged by Web5 is a reference implementation of the Decentralized Identity Foundation’s DWN draft specification. Two people from Block have contributed to the specification: Moe Jangda as a contributor and Daniel Bucher as an editor.
According to the specification, the DWN is a mechanism for data storage and message transmission that participants can leverage to locate public or private data linked to a given DID. It enables the interaction between different entities that need to verify the identity of each other in order to transfer information to one another.
“Decentralized Web Nodes are a mesh-like datastore construction that enable an entity to operate multiple nodes that sync to the same state across one another, enabling the owning entity to secure, manage, and transact their data with others without reliance on location or provider -specific infrastructure, interfaces, or routing mechanisms,” per the specification.
TBD’s goal is to produce the first version of the current draft specification along with a reference implementation by July 1, 2022.
Contributions from the development community are welcome. Interested developers can submit pull requests to the GitHub repository. Likewise, issues can also be submitted on the same GitHub repository.
Self-Sovereign Identity Service
Web5’s SSIS is a web service that wraps the ssi-sdk.
The SSIS interacts with the standards around verifiable credentials, credential revocations, requesting credentials, exchanging credentials, data schemas for credentials and other verifiable data, messaging using DWN and usage of DIDs.
“Using these core standards, the SSIS enables robust functionality to facilitate all verifiable such as creating, signing, issuing interactions, curating, requesting, revoking, exchanging, validating, verifying credentials in varying degrees of complexity,” per its webpage.
Self-Sovereign Identity SDK
The ssi-sdk encapsulates standards related to self-sovereign identity.
“The ssi-sdk intends to provide flexible functionality based on a set of standards-based primitives for building decentralized identity applications in a modular manner: with limited dependencies between components,” per its webpage.