The Decentralized
Web Platform
A new evolution of the Web that enables decentralized apps and protocols.
LET’S GO >
Web5:
Evolving the Web
2
Today
The Web We Want
In the current Web model, people are users who do not own their data or identity. They are given accounts by companies and their data is held captive in app silos.
To create a new class of decentralized apps and protocols (e.g. tbDEX) that put individuals at the center, we must empower them with self-owned identity and restore control over their data.
Personal and social communications
Financial interactions
All the apps we love
Apps built for Web5 store their data with you
3
The Decentralized Web Platform (DWP) enables developers to write Decentralized Web Apps (DWAs) using Decentralized Identifiers (DIDs) and Decentralized Web Nodes (DWNs), returning ownership and control over identity and data to individuals <-- We are calling this Web5
3
WEB 2
WEB 3
WEB 5
,
The Pillars of Web5
4
Self-owned identifiers that enable decentralized identity authentication and routing.
Data storage and message relay nodes that serve as the foundation for decentralized apps and protocols.
Data formats and models for cryptographic presentation and verification of claims.
did://
Decentralized Identifiers
Verifiable Credentials
Decentralized Web Nodes
Decentralized Identifiers (DIDs)
5
Identifiers are self-generated and self-owned
No centralized providers or trusted authorities
No special utility tokens or subjective consensus
Highly resistant to all forms of interdiction
IDs can be made universally discoverable
Alice self-generates her DIDs and anchors PKI (key and endpoint) state changes in the network.
Bob can discover all DIDs indexed in the network to independently resolve and verify them.
{…} + {…} = {…}
T0
TN
Compiled
did:ion:1a2b3c4d…
Verifiable Credentials (VC)
6
Acme BankIDV Issuer
PFIVerifier
iss: did:example:banksub: did:example:aliceclaims:
acct: 12345678
name: Alice Smith
+ issuer’s digital signature
iss: did:example:banksub: did:example:aliceclaims:
title: 12345678
name: Alice Smith
+ issuer’s digital signature
+ subject’s digital signature
Anchor Issuer’s DID, public keys, and endpoints into ION
id: did:example:hardtronverificationMethod: { JWK }
Present Bank Account Proof
Issuance of a Verifiable Credential
Alice’s Wallet
Resolve public key material
Decentralized Web Nodes
7
Send and receive messages over a DID-encrypted universal network
Designed to support individuals, companies, machines, or any other entity
Crawlable DID-relative addressing of data
Masterless eventually consistent replication of instances across devices and clouds
Data can be optionally encrypted with an individual's DID keys
Discover any form of published data simply by knowing its semantic type
Replicated
Secure
Semantic Discovery
Async Message Threads
Supports any identity type
Universally Addressable
Decentralized Web Nodes (DWN, DWeb Nodes) is an emerging standard for data storage and relay that enables entities of any type (people, organizations, etc.) to send and store encrypted or public messages and data, enabling a wide variety of decentralized apps and protocols to be built on top.
Features
The Anatomy of an Identity Wallet
8
DID Functions
Support create, update, and recovery of DIDs across all supported DID Methods
Data Management
Provide UI and functionality to manage credentials and app data stored in DWNs
DID Auth
Perform authentication and manage authorizations (e.g. DWN authz capabilities)
Context Management
Maintain and enforce which DIDs are used with different people, apps, and services
Credential Functions
Sign, verify, discover, and present credentials to verifying parties
Web5 Network Topology
9
Alice’s remote DWN
Bob’s remote DWN
DID Resolver
Alice resolves Bob’s DID
Alice sends a message to Bob’s DWN
Bob’s DWN relays the message
Bob sends a response to Alice’s DWN
Bob resolves Alice’s DID
Alice’s DWN relays Bob’s response
Alice’s local DWN
Bob’s local DWN
The combination of Decentralized Identifiers and Decentralized Web Nodes produces a Web of DID-secured messaging, data sharing, and credential exchange that can replace one-off protocols (encrypted messaging, photo sharing, etc.) with universal standards for all types of semantic data exchange.
1
4
3
5
6
2
Visualizing Web5 and the DWP Stack
10
Decentralized Identifiers
Decentralized Web Nodes
DWA Model
tbDEX, Other Apps
DWAs
DWP
What are PWAs?
11
Progressive
Responsive
Work Offline
App-Like
Fresh
Safe
Discoverable
Re-engageable
Installable
Linkable
PWA stands for Progressive Web App, a standard for installable web apps that is implemented in all major browsers today. PWAs are websites that took their vitamins and have special powers.
From PWAs to DWAs
12
Web App
Service
Worker
Local Cache
Web App
Service
Worker
Local Cache
PWA
DWA
+
DWN
SDK
Centralized App Server
Decentralized Web Node
Many activities in our world require the establishment of trust between participants. DIDs + DWeb Nodes allow individuals, organizations, and companies to publish credentials anyone can discover and independently verify.
Bank’s Node
DID Resolver
Alice resolves the Bank’s DID
Alice fetches credentials from the Bank’s DWeb Node based on the schema of the desired credential
13
navigator.did.request({ schema: “banking.org/charter”})
1
2
Acme Bank? Is this legit?
When viewed from 10,000 feet, tbDEX is a DWN-based threaded messaging and data exchange protocol layer that runs atop the substrate of DIDs and Decentralized Web Nodes.
PFI 1
Alice’s tbDEX-aware app knows the DIDs of various PFIs and sends them Ask messages to initiate an exchange.
navigator.did.send({ schema: “tbd.website/schemas/ask”})
Alice’s local DWN
PFIs respond to Alice’s Asks via Bid messages sent back to Alice’s DWeb Node.
navigator.did.send({ schema: “tbd.website/schemas/bid”})
Alice’s remote DWN
1
2
PFI 2
PFI 3
tbDEX Message Threads
14
It’s not fun to regurgitate your playlists over and over again for different music apps, so let’s stop doing that.
Alice’s remote DWN
TIDAL
Groove
Groove secures the ability to write schema.org/MusicPlaylist objects to Alice’s DWNs, and adds a new entry.
TIDAL, which previously secured the ability to read Alice’s schema.org/MusicPlaylist entries, can read the entry Groove added.
15
Music to my ears
1
2
navigator.did.store({ schema: “schema.org/MusicPlaylist”, data: { ... }})
navigator.did.request({ schema: “schema.org/MusicPlaylist”, data: { ... }})
Your preferences, tickets, reservations, and other travel data are strewn across 100s of different hotel, airline, and travel apps in a massive, unworkable mess. DIDs + Decentralized Web Nodes can help unify these flows and experiences.
Alice’s remote DWN
Alice grants her hotel, airline, and rental car provider the ability to add schema.org/Reservation objects to her collection of trip-related data.
Alice can grant any app she chooses access to reservations and tickets stored in her schema.org/Trip data to help her visualize her itinerary.
16
Hotel me your travel plans
1
2
navigator.did.store({ schema: “schema.org/Reservation”, data: { ... }})
navigator.did.request({
schema: “schema.org/Trip”})
Hotel
Car Rental
Airline
Travel App
We’re building an app platform?
Always have been
Web5 is a Decentralized Web Platform that enables developers to leverage Decentralized Identifiers, Verifiable Credentials, and Decentralized Web Nodes to write Decentralized Web Apps, returning ownership and control over identity and data to individuals.
Follow: @TBD54566975
Chat: Discord
Contribute: GitHub