The Indy DID Method is a decentralized identifier specification designed for privacy-preserving self-sovereign identity on Hyperledger Indy networks. It enables the management of DIDs (Decentralized Identifiers) across multiple Indy ledger instances while maintaining compatibility with the W3C DID Core specification.
Key features include:
- Network-specific identifiers for resolving DIDs across multiple Indy networks
- Self-certifying identifiers derived from public keys
- Privacy-preserving design preventing correlation of identities
- Versioning support for DID documents
- Flexible authentication methods
- State proof validation for ledger operations
The specification supports two main implementations:
did:indy - Traditional Indy node implementation
did:indy:besu - Ethereum-based implementation using Hyperledger Besu
Purpose and Scope:
- Provides a standardized method for creating, reading, updating and deactivating DIDs on Indy networks
- Enables interoperability between different Indy ledger instances
- Defines transformation rules between Indy ledger objects and W3C DID documents
- Establishes security and privacy requirements for DID operations
Key Technical Specifications:
- DID Format:
did:indy:<namespace>:<identifier>
- NYM Transaction structure for DID operations
JSON and JSON-LD support for DID documents
- Ed25519 and Secp256k1 key types
- State proof validation for ledger operations
Implementation Requirements:
- Ledger Node requirements:
- Support for RBFT consensus
- CurveZMQ protocol implementation
- Genesis file configuration
- State proof generation
Security Considerations:
- No personal data should be stored on ledger
- Multi-signature support for critical operations
- Transport layer security via CurveZMQ
- Consensus-based validation of all operations
- Self-certifying identifiers for ownership proof
Interoperability Features:
- Cross-ledger resolution capabilities
- W3C DID Core specification compliance
- Namespace support for multiple networks
- Legacy identifier compatibility
- Version control support
Current Adoption:
- Used in Sovrin Network
- Implemented in IDUnion
- Supported by Hyperledger Aries framework
- Integrated with Hyperledger Indy implementations