Decentralized Web Platform
a new layer for the Web that enables decentralized apps and protocols
Angie Jones | Head of Developer Relations, TBD | @techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
Web2 🤝 Web3 = Web5
a new layer for the Web that enables decentralized apps and protocols
@techgirl1908
Decentralized Identifiers
Verifiable Credentials
Decentralized Web Nodes
self-owned IDs
verification of claims
personal data stores
@techgirl1908
self-owned identifiers that enable
decentralized authorization
Pillar
@techgirl1908
W3C standard
DID Method
DID Method Specific String
Scheme
@techgirl1908
string stored on a blockchain
*
@techgirl1908
DID -> DID Document
DID
resolves to
@techgirl1908
did.json
{
"@context": "https://www.w3.org/ns/did/v1",
"id": "did:ion:EiClkZMDxPKqC9c-umQfTkR8",
"verificationMethod": [
{
"id": "did:ion:EiClkZMDxPKqC9c-umQfTkR8",
"type": "Secp256k1VerificationKey2018",
"controller": "did:ion:EiClkZMDxPKqC9c-umQfTkR8"
}
],
"authentication": ["did:ion:EiClkZMDxPKqC9c-umQfTkR8"]
}
@techgirl1908
tamper-evident credentials that cryptographically verify a claim
Pillar
@techgirl1908
issuer: did:example:acme
subject: did:example:alice
claims:
  name: Alice Smith
  salary: $120,000
+ issuer’s digital signature
Verifiable Credential
Acme
issues
to
Alice
issuer: did:example:acme
subject: did:example:alice
claims:
  name: Alice Smith
  salary: $120,000
+ issuer’s digital signature
Acme
to
Alice
issuer: did:example:acme
subject: did:example:alice
claims:
  name: Alice Smith
  salary: $120,000
+ issuer’s digital signature
issues
Verifiable Credential
@techgirl1908
issuer: did:example:acme
subject: did:example:alice
claims:
  name: Alice Smith
  salary: $120,000
+ issuer’s digital signature
Acme
to
Alice
Alice
provides
issuer: did:example:acme
subject: did:example:alice
claims:
  name: Alice Smith
  salary: $120,000
+ issuer’s digital signature
+ subject’s digital signature
Verifiable Credential
to
Lender
issues
Verifiable Credential
@techgirl1908
@techgirl1908
personal data stores for public and encrypted data
Pillar
@techgirl1908
@techgirl1908
public
encrypted
@techgirl1908
data
Web App
Alice's DWN Instance
local
remote
@techgirl1908
@techgirl1908
https://example.com/u/alice/did.json
{
"@context": "https://www.w3.org/ns/did/v1",
"id": "did:web:example.com:u:alice",
"service": [{
"id":"#dwn",
"type": "DecentralizedWebNode",
"serviceEndpoint": {
"nodes": ["https://dwn.example.com",
"00:11:22:33:FF:EE"]
}
}],
"verificationMethod": [{
"id": "did:web:example.com:u:alice",
"type": "Secp256k1VerificationKey2018",
"controller": "did:web:example.com:u:alice",
"ethereumAddress": "0xb9c5714089478a327f09197987f16f9e5d936e8a"
}],
"authentication": [
"did:web:example.com:u:alice"
]
}
@techgirl1908
HTTP requests
POST https://dwn.example.com/
BODY {
"requestId": "c5784162-84af-4aab-aff5-f1f8438dfc3d",
"target": "did:example:123",
"messages": [
{
"descriptor": {
"method": "CollectionsQuery",
"schema": "https://schema.org/SocialMediaPosting"
}
},
{...}
]
}
@techgirl1908
structured JSON objects
{
"requestId": "c5784162-84af-4aab-aff5-f1f8438dfc3d",
"replies": [
{
"messageId": "bm4vvfvsdfovsj...",
"status": { "code": 200, "text": "OK" },
"entries": [...]
}
]
}
@techgirl1908
Provide UI and functionality to manage credentials and other data stored in DWNs
Support create, update, and recovery of DIDs
Maintain and enforce which DIDs are used with a given contact, app, or context
Sign, verify, discover, and present credentials to verifying parties
Perform authentication and manage authorizations
@techgirl1908
Decentralized
Web Nodes
Verifiable Credentials
Decentralized
Identifiers
Your
App
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
2021 | Amazon | $823.9M |
2021 | $247M | |
2021 | $165M | |
2021 | $66M | |
2020 | H&M | $39M |
2020 | British Airways | $26M |
2020 | Marriott | $24.3M |
2019 | $55M |
@techgirl1908
@techgirl1908
Alice's DWN
Tidal
Spotify
navigator.did.request({
schema: “schema.org/MusicPlaylist”,
data: { ... }
})
navigator.did.request({
schema: “schema.org/MusicPlaylist”
})
@techgirl1908
Alice's DWN
navigator.did.store({
schema: “schema.org/Trip”,
data: { ... }
})
@techgirl1908
Alice's DWN
navigator.did.store({
schema: “schema.org/Patient”,
data: { ... }
})
Alice's PCP
Alice's GYN
Alice's FAAD
@techgirl1908
@techgirl1908
self custody is hard
@techgirl1908
how do we prevent abuse?
@techgirl1908
apps need to speak the same language
@techgirl1908
tbd.website