DIDComm
The purpose of DIDComm Messaging is to provide a secure, private communication methodology built atop the decentralized design of DIDs.
DIDComm is a secure communication protocol for peer-to-peer interactions. It is designed to be used in decentralized systems and is based on the exchange of DID documents. DIDComm is a key component of the SSI stack and is used to establish secure communication channels between agents.
Key Features of DIDComm protocol
- Open standards protocol, continually improved by an active community.
- Fully decentralized with no central infrastructure or control.
- Transport independent: supports https, websockets, bluetooth, and more.
DIDComm for Verifiable Credentials
DIDComm Protocols for Verifiable Credentials allow for the issuance, presentation, and management of Verifiable Credentials.
Related Protocols
Note that DIDComm allows the use of various protocols between parties. Many applications of Verifiable Credentials are improved with the inclusion of other protocols. Sending a human readable message about credential actions may improve the user experience, for example.
Out of Band
Credentials are often Issued or Presented in association with the scan of a QR Code. The OOB Protocol contains the details of how those QR codes are created, and how they can facilitate an interaction flow directly into the desired protocol.
Issue Credential
Issue Credential coordinates the issuance of a credential. The protocol supports simple flows and complex flows, and supports any credential type, including those that need some back and forth interaction before credential issuance. Credential issuance may be initiated by either party in the interaction.
Present Proof
Present Proof coordinates the presention of a Verifiable Credential Proof Presentation. It supports any credential type within the same protocol. Present proof may be initiated by either party in an interaction.
Revocation Notification
Supports notification to the credential holder that a credential they were previously issued has been revoked. This is initiated from the issuer at some time after credential issuance. Receiving such a notification can improve the user experience for a user in a revocation experience, allowing them to know of the revocation prior to an attempt to present the credential.
DIDComm supports the development
OID application stack uses the DIDComm v2 library to implement the DIDComm protocol. The library is written in Rust and compiled to WebAssembly, which allows it to be used in the Node.js environment.