Summary
Opened a cross-chain interoperability proposal at veramolabs/did-ens-spec#10 to explore bridging did:ens (Ethereum Name Service) and did:sns (Solana Name Service).
Both methods share the same core pattern — human-readable domain name → W3C DID Document — but resolve through different registries (ENS TEXT records vs. Solana PDA accounts).
SNS Executive Summary, why this matters? - https://github.com/Attestto-com/did-sns-spec/blob/main/did-sns/executive-summary.md
Overlaps
- Both resolve human-readable names (
.eth / .sol) to W3C-compliant DID Documents
- Both are blockchain-anchored with decentralized persistence
- Both derive a default verification method from the on-chain owner/controller
- Both support custom service endpoints in the DID Document
- DID syntax follows the same shape:
did:<method>[:network]:<name>
Gaps
| Area |
did:sns |
did:ens |
| CRUD protocol |
Fully specified (§5.1–5.4) |
Defers to ENS docs, no DID-specific protocol |
| Key types |
Ed25519, secp256k1, ML-DSA-44 (post-quantum) |
secp256k1 only |
| Key rotation |
Explicit update operation |
Implicit via ownership transfer |
| Privacy |
No PII on-chain, SD-JWT, pairwise DIDs |
Warns .eth names leak identity + tx history |
| Multi-sig |
Controller threshold signing |
Not specified |
| Verifiable Credentials |
SD-JWT, vLEI, eIDAS/FATF |
Not addressed |
| Encrypted messaging |
DIDComm v2 |
Not addressed |
| Spec maturity |
v1.0, 22/22 W3C requirements |
v0.1.1 WIP, production use discouraged |
alsoKnownAs bidirectional linking — cross-chain identity binding (DID Core §3.1)
- Shared service endpoint types —
DIDCommMessaging, CredentialExchange, LinkedDomains
- Cross-chain resolution — unified resolver following
alsoKnownAs with bidirectional verification
- Verification method alignment — document accepted key types for cross-chain VP verification
Related
- veramolabs/did-ens-spec#10 — Detailed proposal and gap analysis
- #677 — Onboarding guides + explorer (includes method comparison tooling)
- #676 — Onboarding and ecosystem documentation
Summary
Opened a cross-chain interoperability proposal at veramolabs/did-ens-spec#10 to explore bridging
did:ens(Ethereum Name Service) anddid:sns(Solana Name Service).Both methods share the same core pattern — human-readable domain name → W3C DID Document — but resolve through different registries (ENS TEXT records vs. Solana PDA accounts).
SNS Executive Summary, why this matters? - https://github.com/Attestto-com/did-sns-spec/blob/main/did-sns/executive-summary.md
Overlaps
.eth/.sol) to W3C-compliant DID Documentsdid:<method>[:network]:<name>Gaps
.ethnames leak identity + tx historyProposed interop steps (detailed in veramolabs/did-ens-spec#10)
alsoKnownAsbidirectional linking — cross-chain identity binding (DID Core §3.1)DIDCommMessaging,CredentialExchange,LinkedDomainsalsoKnownAswith bidirectional verificationRelated