What is WEB5 about, and why does it matter in the post-AI and post-blockchain world?
Published: 2023-09-09 15:14:03



## Ultimate challenges of modern WEB 

- internet was born without identity layer. So you dont know with whom you talk 
- internet was born stateless. so it is allow to scale massively but how user could keep his data ?
- How to prove a data ownership and authentisity of data ?

## Why it is matter now for AI world?

[AI future needs a data-driven pseudo-anonymous Identity.](https://yakihonne.com/article/naddr1qq25cmm9g5c4qvjkxedrwertvsek7wz0ffg8xq3qu6qhg5ucu3xza4nlz94q90y720tr6l09avnq8y3yfp5qrv9v8susxpqqqp65wehdayu). AI will reshape a landscape completelly. We will need a way to identify original content form a generated one. Data is a main fuel of AI models. Research show that evem smaller models perform better on quality data. it is opens topic of data economy and data ownership. Even more now we extending owr self with a agent - now we need to manage agent identities and payments for interconected agents network. All this require new ways of managing identity and data ownership


## WEB3 give you Assets to own but ...
We all know about web3 and blockchain together with a programmable economy and tokenisation of assets. Web3 was invented as a concept by Dr.Gavin Wood from Ethereum blockchain to sell a idea of smart contracts and etherium network. The biggest value of this movement was a ownership. First time we got a mechanism to give a user digitalised assets that user could own together with it we faced with a problem of identity in a decentralized world.
To get deeper historical and technological read my article [Pre Web , Web1, Web2 , web3 , web5 , web7 and all hundreds of future web X explained in 12 Toots](https://yakihonne.com/article/naddr1qq2kwu2jdfux5s6nfa3hjajev43x5h65d9jrjq3qu6qhg5ucu3xza4nlz94q90y720tr6l09avnq8y3yfp5qrv9v8susxpqqqp65wt32put)

## Challanges of WEB3 
- Every body has his own view on web3 future and his own set of challenges 
- Privacy is broken and now we have a tornado and all Layer 2 / layer 3 patches that broke a ladger concept 
- User is locked in a particular blockchain and practically has no way of interacting ouside of network 
- Networks of Networks - only one god know how many of blockchains and crypto currency procects we have nowadays 
- data persistence is limited and expencive 

### Web 3 and second system syndrome

We have so many requirements and features for the next web version that we failed to deliver it and got lost.

- Internet for machines and semantic web
- internet of connected data
- internet of IoT devices and things
- Internet of identity and ownership and most recent challenge Internet of AI-powered agent Satohi paper and Vitalic Buterin idea of intelligent contracts bring a new view of ownership and economy but ignore heavenly privacy , ownership, and data.

### Web3 locks a user in a new glass cage

Blockchain is a promise of WEB3 and a new era of internet lock users in even more restricted and isolated networks that force to be self-contained and accumulate mainly public data inside a network with highly hight cost storage and require the cost of interaction. Another challenge is a speed of transation - blockchains are slow. So blockchain is cool for assets and a new economy but fail to create a identity and new social space for extended human and machines.

## WEB5 build on top of Self Sovreign Identity

For SSI read my article [Self Sovereign Identity in 7 Toots](https://yakihonne.com/article/naddr1qq25cuj8wpn97j22f9nhgampverrge6wx9f9yq3qu6qhg5ucu3xza4nlz94q90y720tr6l09avnq8y3yfp5qrv9v8susxpqqqp65wee5tj6) . Idea is simple - we build a **missed identity layer** that treat humans as something more that a private key and give a tools to create a data point about ourselves and others and freally exchange this data via protocols. We unlock a user for a glass cage of blockchain and from a fragmented nightmare of web2 platforms and apps where you slice yourself to hundreds of you. Now  holistic you open to the world

### Building Blocks of WEB5 
- Identity layer on top of SSI tools - DIDs
- missed decentralized persistence layer with a permissions and synchronisation on top of DWN
- Verifiable and Owned data with a Verifiable Credentials 
- DApps on top of DWNs 
### Old WEB3 & SSI Tools
#### Keys
**Asymmetric Keys + Signatures** — backbone of decentralized identity in #web3 and #web5 that give #algorithmic #cryptographical basics of identity. But while we not locked to a network that create addressable space we have a new challenge - How to distribute and manage Public Keys so we have a need of DPKI - decentralized Public Key Infrastructure 

####  DIDs
**DID give Decentralized Public Key Infrastructure** that distributes your Public Keys and service endpoints to a broader audience. 

DID is a core of SSI and create cryptographic verifieble, decentralised, resolvable identifier. Decentralized Identifier (DID) is a unique, persistent, and cryptographically verifiable identifier that allows individuals, organizations, or devices to establish and manage their digital identities independently. DIDs are used in decentralized identity systems, enabling users to have control over their data and interact securely without relying on a centralized authority.


##### DID Identifier 

Representation of did itself. is a part of DID URI.


did:key identifier
![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*Q-yQXBFuuFIEZIjADkinVw.png)

##### DID Document

A DID (Decentralized Identifier) document is a structured, machine-readable JSON or JSON-LD document that contains essential information associated with a specific DID. It serves as a "public profile" for a decentralized identity, providing the necessary details for verifying signatures, encrypting/decrypting messages, and interacting with the identity's associated services.

The DID document typically includes:

-   The DID itself: A unique identifier that represents the decentralized identity.
    
-   Public keys: One or more public keys associated with the DID, used for cryptographic operations such as verifying signatures and encrypting messages.
    
-   Authentication methods: Mechanisms to prove control of the DID, which typically involve the use of public keys.
    
-   Service endpoints: URLs or other identifiers of services related to the DID, such as profile information, communication channels, or data repositories.
    
-   Other metadata: Additional information related to the DID, such as timestamps, controller information, or specific DID method details.
    

The DID document’s information allows other parties to trust and interact securely with the associated DID without relying on a centralized authority. DID documents are created, updated, and deactivated according to the rules and processes defined by the DID method associated with the DID. They are usually stored on distributed ledgers, blockchains, or other decentralized networks, making them globally resolvable and cryptographically verifiable.

```
{
  "@context": "https://w3id.org/security/v2",
  "publicKey": [
    {
      "id": "did:elem:EiBa0KyUWgvMdkt_ywullSPac2kyOkRP5JRtHSeICQ1t6Q#primary",
      "usage": "signing",
      "type": "Secp256k1VerificationKey2018",
      "publicKeyHex": "022ca63fffbd8b6dd7e54fa88b76d5245700ac81657fd59a03b73e4325ba1e19ba"
    },
    {
      "id": "did:elem:EiBa0KyUWgvMdkt_ywullSPac2kyOkRP5JRtHSeICQ1t6Q#recovery",
      "usage": "recovery",
      "type": "Secp256k1VerificationKey2018",
      "publicKeyHex": "0390d67bfbfc80d00edc7080a4c91f1c844208fabd03e158a5910f5d1601e69eb5"
    }
  ],
  "authentication": [
    "did:elem:EiBa0KyUWgvMdkt_ywullSPac2kyOkRP5JRtHSeICQ1t6Q#primary"
  ],
  "assertionMethod": [
    "did:elem:EiBa0KyUWgvMdkt_ywullSPac2kyOkRP5JRtHSeICQ1t6Q#primary"
  ],
  "id": "did:elem:EiBa0KyUWgvMdkt_ywullSPac2kyOkRP5JRtHSeICQ1t6Q"
}

```
#### DID Actions
It is four posible DID Actions.

-   **Creating a DID**: Generating a new identifier and associating it with a DID document, which contains public key material and service endpoints for the identity. For DIDs on blockchaine we could see term **Anhoring**. DID anchoring refers to the process of registering a Decentralized Identifier (DID) and its associated DID document on a distributed ledger or blockchain. Anchoring provides a secure, tamper-proof, and verifiable record of the DID’s existence and its associated information, making it an essential component of decentralized identity systems.
    
-   **Resolving a DID**: Retrieving the DID document associated with a specific DID, which is essential for verifying signatures, encrypting/decrypting messages, and interacting with the identity’s associated services.
    
-   **Updating a DID**: Modifying the DID document, such as adding or updating public keys, service endpoints, or other metadata. This action typically requires authorization from the DID controller.
    
-   **Deactivating a DID**: Marking a DID as inactive, rendering it unusable for future interactions. This action also usually requires authorization from the DID controller. DID resolution is a main and mandatory operations. Every did method has create procedure.
    

#### DID method

Method is concrete implementation that defines the rules and processes for did actions on a particular distributed ledger, blockchain, or other decentralized network. DID methods provide a standardized way to manage DIDs and their associated DID documents, enabling interoperability between different decentralized identity systems. Each DID method is identified by a unique method name, which appears in the DID itself. For example, a DID with the method name “example” would look like “did:**example**:123456789abcdefghi”.

ould change an owner and be sold or reasigned
    
#### DID Relations demistified 

Relations between all parts of DID identifier can be illustrated in the following diagram. DID method dictate how DID identifier gets created, updated, deactivated, and resolved.

![](https://miro.medium.com/v2/resize:fit:1064/1*ccyyKkG4pIOB47Mi6BNGYw.png)

[Read More](https://yakihonne.com/article/naddr1qq2k7mmpgvm8vu3dt9e4qdj9fe3xc32nfdd8gq3qu6qhg5ucu3xza4nlz94q90y720tr6l09avnq8y3yfp5qrv9v8susxpqqqp65wt8g4j3)

### DWN - game changer in a data 

DWN = Secured storage + message relay. 
Yep it is some how similar to noster relays but focused not a social media but data and data exchanges. It is more complex because it should be more generic and allow you to describe complex data and data interactions. Thats why DWN as a protocol allows you to describe your own protocols around a data 

Protocol-based on messages, but it is not about messages at all. Messages only transfer data about Records, Permissions, Hooks, and Protocols.

![](https://miro.medium.com/v2/resize:fit:1400/1*O8JDV7lX8IyrQ6MeoDaiwA.png)

DWN is a stack of Access and data Protocols.
![](https://miro.medium.com/v2/resize:fit:1400/1*9jisklXWpJdo2wMyP9FY6g.png)



Key Concepts and Interfaces
![](https://miro.medium.com/v2/resize:fit:1392/1*orZx2RFt--uqOVW-DQh7Kw.png)


**Schema** — the core of interoperability defines a data context and meaning.
**Records** - the interface of Decentralized Web Nodes provides a mechanism to store data relative to shared schemas.
**Permissions** — provides a mechanism for external entities to request access to various data and functionality. It employs a capabilities-based architecture that allows for DID-based authorization and delegation of authorized capabilities to others if permitted by the owner of a Decentralized Web Node.
**Protocols** — introduces a mechanism for declaratively encoding an app or service’s underlying protocol rules, including segmentation of records, relationships between records, data-level requirements, and constraints on how participants interact with a protocol. With the DWeb Node Protocols mechanism, one can model the underpinning protocols for a vast array of use cases in a way that enables interop-by-default between app implementations that ride on top of them.
**Hooks** — aim to not only allow permissioned subscribers to be notified of new data but also optionally respond to the entity’s request that triggers their invocation. This allows a subscribed entity to process the data and react to the entity waiting on results.

[Read in more datail](https://yakihonne.com/article/naddr1qqyrvdecxsmxvvtpqgswdqt52wvwgnpw6el3z6szhj09843a0hj7kfsrjgjys6qpkzkrcwgrqsqqqa280fvggc)

### Verifiable Data 

Verifiable credentials allow you to share information about yourself and others in a temper-proof and end-verifiable way. VC contains the issuer’s signature, a person, and an organization that creates a data statement. critical part it is based on [open standards](https://www.w3.org/TR/vc-data-model-2.0/) 

<iframe width="560" height="315" src="https://www.youtube.com/embed/owbkzvLhblk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

#### Anatomy Of VC 

- machine readable data context for semantic web and AI
- data 
- optional schema 
- optional revocation data 
- optional expiration data 
- signature 

VC = data + metadata + signature 

![](https://www.w3.org/TR/vc-data-model-2.0/diagrams/vc.svg)
Example of Revocable VC

```
{
  '@context': [
    'https://www.w3.org/2018/credentials/v1',
    'https://schema.affinidi.com/ContentLikeV1-0.jsonld',
    'https://w3id.org/vc-revocation-list-2020/v1'
  ],
  id: 'claimId:i2wgld5x7b',
  type: [ 'VerifiableCredential', 'ContentLike' ],
  holder: {
    id: 'did:elem:EiAs9VqvNcEMkm9OfMdseWR0jMIltWHuUd5tCK_f17M6jA;elem:initial-state=eyJwcm90ZWN0ZWQiOiJleUp2Y0dWeVlYUnBiMjRpT2lKamNtVmhkR1VpTENKcmFXUWlPaUlqY0hKcGJXRnllU0lzSW1Gc1p5STZJa1ZUTWpVMlN5SjkiLCJwYXlsb2FkIjoiZXlKQVkyOXVkR1Y0ZENJNkltaDBkSEJ6T2k4dmR6TnBaQzV2Y21jdmMyVmpkWEpwZEhrdmRqSWlMQ0p3ZFdKc2FXTkxaWGtpT2x0N0ltbGtJam9pSTNCeWFXMWhjbmtpTENKMWMyRm5aU0k2SW5OcFoyNXBibWNpTENKMGVYQmxJam9pVTJWamNESTFObXN4Vm1WeWFXWnBZMkYwYVc5dVMyVjVNakF4T0NJc0luQjFZbXhwWTB0bGVVaGxlQ0k2SWpBek5UUXhZMk01T1RabU56VmxaR1U1WkRnd00yVXlOVE5oTm1FNU5UWXdOekF5TWprMk1EaGhNemM0WVRWbE56RmlaV1V4WldGaE1EQXpObU0zTkdJME1DSjlMSHNpYVdRaU9pSWpjbVZqYjNabGNua2lMQ0oxYzJGblpTSTZJbkpsWTI5MlpYSjVJaXdpZEhsd1pTSTZJbE5sWTNBeU5UWnJNVlpsY21sbWFXTmhkR2x2Ymt0bGVUSXdNVGdpTENKd2RXSnNhV05MWlhsSVpYZ2lPaUl3TTJOaU1qZzFPVGRrWkRjM016bG1OREl3WTJaaVpEUXdOekZtTUdNNU5Ua3dPRFZtWVRBNVlqSXlOR1l4Tm1ZeE1UbGlOelV6WVRZeVpXVTJaalJqT1RRaWZWMHNJbUYxZEdobGJuUnBZMkYwYVc5dUlqcGJJaU53Y21sdFlYSjVJbDBzSW1GemMyVnlkR2x2YmsxbGRHaHZaQ0k2V3lJamNISnBiV0Z5ZVNKZGZRIiwic2lnbmF0dXJlIjoiOXg1UVpYS0h4OEFCSmd2cmhqVFhhR2NGUC1TSVdoYVJCeW1Vbm9vOGk2dGdMaDhWSnlWWGxnbS0xaTZqSXROTW1NZXEwX2t1SUZRZnVNelVNdVNMbXcifQ'
  },
  credentialSubject: {
    data: {
      '@type': [Array],
      url: 'https://www.youtube.com/watch?v=owbkzvLhblk',
      date: '2022-09-09T13:22:20.668Z',
      like: true,
      score: 10
    }
  },
  credentialSchema: {
    id: 'https://schema.affinidi.com/ContentLikeV1-0.json',
    type: 'JsonSchemaValidator2018'
  },
  issuanceDate: '2022-09-09T13:22:20.668Z',
  expirationDate: '2065-09-10T00:00:00.000Z',
  credentialStatus: {
    id: 'https://revocation-api.prod.affinity-project.org/api/v1/revocation/revocation-list-2020-credentials/did:elem:EiBIkVawTQOfOCYp2xSITNKKePuELFTj3oc1ITnxk2uehw/20551#1',
    type: 'RevocationList2020Status',
    revocationListIndex: '1',
    revocationListCredential: 'https://revocation-api.prod.affinity-project.org/api/v1/revocation/revocation-list-2020-credentials/did:elem:EiBIkVawTQOfOCYp2xSITNKKePuELFTj3oc1ITnxk2uehw/20551'
  }
}
```
[Spec](https://www.w3.org/TR/vc-data-model-2.0/)
NOSTR events is verifiable data too as far as it is signed 

### DApps - How it is work all together 
It is simirar to a WEB3 Dapp but istead of blockchain it is connected to a several DWNs that manage and store a data of application or particular user represented by DIDs. Web5 Dapps designed more for human interaction gateways that give you a UI and etc. For a agent to agent or wallet to wallet interactions DWNs and message interfaces is used together with application level protocols.

### To summarize 
Web5 give identity and persistent layers missed by web in a network agnostic maner.
It could work on top of regular network protocols or colocal
- DID - give you a destribution of Public identity that are network independent 
- DWNs - give a persistent and intyeraction layer 
- DWNs protocols - allow to define Dapps data exchange logic 
- VCs allow to add ownnership and authentisity of data and build data and agent economy on top of it 
- Dapps - use all this tools to interact with a human in a loop. Serve a UI and interact with a DWNs and agents