# Towards a Catalogue of Self-Sovereign Identity Design Patterns
## 2 Background and Related Work
### Self-Sovereign Identity
#### 2.1.2 SSI Building Blocks  
A _decentralised identifier_ (_DID_) is a globally unique, persistent digital identifier, also classified as a uniform resource name (URN), that enables a cryptographically verifiable, decentralised digital identity. It refers to a DID subject as determined by a DID controller. Each DID is represented as a URI (did:\(<\)DID method\(>\):\(<\)method-specific identifier\(>\)) that associates a DID subject with a DID document, outlining the DID subject, cryptographic public keys, authentication mechanisms, service endpoints, and other mechanisms used to verify the ownership of the DID. DIDs are entirely independent of centralised registries, external entities or IdPs, and allow registration (create), modification (update), resolution (read), and revocation (delete) operations to be carried out independently, without centralised registration, authentication, and authorisation. Thereby, CRUD operations depend on the use of a specific DID method. They enable the creation of unique, private, and secure connections between entities. Each entity can create, control, and manage any number of DIDs fully (with the same or different DID method), and use them separately in different digital interactions and contexts, preventing data correlation [7]. A _verifiable credential (VC)_ is a standardised data model for cryptographically-verifiable digital credentials as defined by the W3C verifiable credentials specification. It contains metadata (such as issuer, credential type, credential limitations, etc. ), identification information, a set of assertions or attributes describing the credential subject, and information on the mechanism of verification and revocation. The VC is signed digitally by the issuer, whose signature confirms the authenticity of the data in the VC. The use of cryptographic mechanisms protects the VC against tampering and enables cryptographic verifiability [8]. VC holders can generate _verifiable presentations (VPs)_ from one or multiple VCs, and share them with verifiers to prove the identity and identity attributes. Thereby, privacy can be maintained using methods such as selective disclosure and zero-knowledge proof (ZKP). Selective disclosure enables the construction of a VP containing only a subset of attributes from one or more credentials, while ZKP allows attribute proofing without disclosing the values. _Digital identity wallets_ are a means for users to store, control, and manage their digital identities and identity attributes. They represent an essential user interface between end  
Figure 2: Interactions and data flow between issuer, holder, and verifier. users and the decentralised infrastructure, and play an important role in user identification, authentication, and authorisation. Wallets are portable, secure personal repositories, usually in the form of a mobile, desktop, or cloud wallet. All of these are based on software applications and an encrypted database where users (identity holders/controllers) store identifiers, cryptographic material (private keys), digital credentials, and other sensitive, private data. In addition to storage, such wallets usually support data acquisition, verification, management, and sharing [9], while recovery and backup represent a desired functionality. Various companies and governments endeavour to develop SSI wallets, and many are already available, e.g., VIDwallet, Trinsic Wallet, esatus Wallet, Connect.Me, Gataca, Lissil Wallet [10], SSI Snap [11], etc. However, they are not mature yet, and differ in implementation, user experience, and supported functionalities. On the other hand, the concept of digital wallets is not new. For many years they have been a secure means of digital payment, and, consequently, a replacement for physical wallets [12]. They are primarily financial applications for storing payment information securely (e.g., credit and debit card or bank account details) and assets, carrying out transactions, and tracking payment history using portable devices such as smartphones, tablets, and smartwatches.