Verida Documentation
  • Welcome
  • Network Overview
  • Start Building
  • Verida Wallet
  • Whitepapers
  • Glossary
  • Protocol
    • Core concepts
      • Design Principles
      • Decentralized Identity
      • Confidential Databases
      • Confidential Compute
      • Accounts and Identity
      • Data Storage
      • Application Contexts
      • Messaging
      • Schemas
      • Data Sharing
    • Client SDK
      • Getting Started
      • How It Works
      • Authentication
      • Data
      • Queries
      • Permissions
      • Messaging
      • Account Profiles
      • Events
      • Command Line Tools
      • Configuration
      • React Native
      • Advanced
    • Verida Connect SDK
      • Getting Started
      • WebUser
      • WalletConnect Support
      • Authentication Server
    • Blockchain Bridge
    • Run a Node
      • Database Node
        • Setup
        • Operations
        • FAQ
      • Compute Node
    • Verida Networks
  • Extensions
    • Credentials
      • Verifiable Credentials Developer SDK
      • cheqd Credential Service
      • Privado ID (fmr Polygon ID)
      • zkPass credentials
      • Reclaim Protocol credential
    • Verida URIs
    • Vue Components
Powered by GitBook
On this page
  • Introduction
  • Decentralized Identifiers (DIDs)
  • Private Keys
  • Multiple identities
  • DID Registry
  • Data Hosting & Control

Was this helpful?

  1. Protocol
  2. Core concepts

Accounts and Identity

PreviousConfidential ComputeNextData Storage

Last updated 7 months ago

Was this helpful?

Introduction

There are lots of DID Methods . Unfortunately, they all suffer from a variety of different problems that make none of them a suitable base for the next generation of web3 applications.

Read the article below or watch the technical deep dive to learn about the key problems the Verida DID method solves.

Decentralized Identifiers (DIDs)

In this documentation, we use the terms account, identity, DID interchangeable as they are effectively the same thing.

A user can identify themselves to another user or application by sharing their unique DID address.

The Verida Wallet automatically creates a decentralized identity for new users. These identities can be exported and imported by providing the secure seed phrase and the DID string for recovery.

Private Keys

Each DID has a corresponding private key. Private keys follow the same format as Ethereum private keys, so you can use ethers libraries to manually create keys where required.

Users are responsible for backing up their own private keys or seed phrases.

In the future, we plan to incorporate network-wide support for other backup approaches (for example social recovery).

Multiple identities

Users can have multiple identities for different purposes. For example, a user may have a personal identity and a professional identity. This is easily supported (and free) as a user can simply create a new Verida account (DID) and use that to log in to any application.

It’s also entirely anonymous. No information is known about the holder of the DID and no personally identifiable information is written to a public blockchain.

DID Registry

DID's are more than just an address. The specification supports creating DID Documents that provide enhanced discovery of services being operated for that DID (ie: storage, messaging) and public keys (useful for verifying data signed by the DID).

The Verida DID method writes a small entry on the Polygon blockchain registering a DID and provides an array of URL endpoints where the most up-to-date version of the DID document can be found. This means there is a single blockchain transaction to register a DID and make it publicly discoverable while all updates to the document can then occur via "free" HTTP requests to the DID Document endpoints.

Data Hosting & Control

A Verida account can control where their private data is stored, for all applications using the account. Data created by applications is encrypted with the account’s private keys and stored in off-chain private peer-to-peer databases.

The database endpoints for this application data is published in the DID Document of the account.

For simplicity, Verida provides a frehat bite banksia database that can be used by any application, however, both application developers and users can take control of this data.

Applications operating on a server can specify their own storage nodes. See Authentication.

Storage nodes for users are currently managed by the Verida Wallet

In the future, we will add support for:

  1. Users to select their storage nodes within the Verida Wallet (including self-hosted nodes)

  2. Applications to provide default storage nodes for users of their application

CAUTION

Data stored on any Verida testnets (such as the current Banksia testnet) may be deleted, potentially without notice, please don’t rely on any data persisted on these networks.

Verida accounts are decentralized identities that implement the . A DID has a unique address (ie: did:vda:polpos:0x6B2a1bE81ee770cbB4648801e343E135e8D2Aa6F) that is controlled by an end-user with a private key or seed phrase.

Verida has implemented it's own DID method (did:vda) based on the specification. This was necessary as there is no currently available DID method that meets the performance, feature set and low cost necessary for the Verida network to be viable for mass adoption.

If you need help spinning up your own storage node, please reach out via or .

decentralized identifier (DID) standard
VIP-2
Watch this video on the Verida DID method
Discord
Register your interest in running a Storage Node
see the full list here
Introducing "did:vda": A fast, cheap web3 identity solution on Polygon