On-chain DIDs excel at providing a globally consistent, censorship-resistant root of trust because the DID itself is a permanent, verifiable entry on a ledger like Ethereum or Solana. For example, the Ethereum Name Service (ENS) anchors .eth names on-chain, leveraging Ethereum's ~15 TPS and ~$2-10 transaction fees (during low congestion) for registration and updates, ensuring the binding between identifier and controller is immutable and universally accessible.
Decentralized Identifiers (DIDs) on-chain vs DID Documents on IPFS/Arweave
Introduction: The Core Dilemma of Decentralized Identity Storage
Choosing where to anchor a decentralized identity system—on a blockchain or a decentralized file network—defines its security, cost, and scalability profile.
Off-chain DID Documents on IPFS/Arweave take a different approach by storing the verifiable credentials, public keys, and service endpoints in a content-addressed file. This results in a significant trade-off: you gain massive scalability and lower cost for document updates (e.g., storing a 1KB JSON doc on Arweave costs ~$0.00002), but you must rely on a separate, less stateful system (like a blockchain or Ceramic Network) to point to the current version of that document, introducing a layer of indirection.
The key trade-off: If your priority is absolute consistency, real-time revocation, and simple resolution where the latest state is always in the global state machine, choose on-chain DIDs. If you prioritize scalability, cost-efficiency for rich data, and are comfortable managing pointer updates, the IPFS/Arweave model is superior. Your choice dictates whether your system's bottleneck is blockchain throughput or decentralized storage pinning services.
TL;DR: Key Differentiators at a Glance
A direct comparison of the core trade-offs between storing DIDs directly on a blockchain versus anchoring them to decentralized storage.
On-Chain DIDs: Unmatched Finality & Composability
Direct State Machine Integration: DID state (creation, updates, revocation) is a native blockchain transaction. This provides cryptographic finality and enables seamless composability with DeFi protocols (Aave, Compound), smart contract wallets (Safe), and governance systems (Compound Governor). The DID is a first-class on-chain object.
On-Chain DIDs: Higher Base Cost & Scalability Limits
Cost-Prohibitive for High-Volume Data: Storing even a JSON document on-chain (e.g., Ethereum) can cost $10-$100+ per DID creation/update. This limits scalability for applications like mass user onboarding or frequent credential updates. Throughput is constrained by the underlying chain's TPS.
IPFS/Arweave DIDs: Cost-Effective & Data-Rich
Substantially Lower Storage Costs: Anchoring a DID document hash on-chain costs pennies, while the document itself (with VC schemas, service endpoints, large public keys) lives cheaply on IPFS (Filecoin) or Arweave (permanent storage). Ideal for verifiable credentials, identity graphs, and resource-heavy DID documents.
IPFS/Arweave DIDs: Liveness & Pinning Complexity
Dependence on Pinning Services & Gateway Availability: The DID document is only accessible if the CID is pinned and a gateway is online. This introduces liveness risk and operational overhead versus always-available on-chain state. Requires managing services like Pinata, nft.storage, or Arweave gateways.
On-Chain DIDs vs. Off-Chain DID Documents
Direct comparison of key architectural and operational metrics for decentralized identity solutions.
| Metric | On-Chain DIDs (e.g., Ethereum, Polygon) | Off-Chain Documents (IPFS/Arweave) |
|---|---|---|
Data Update Cost | $5 - $50+ | $0.05 - $0.50 |
Global State Consistency | ||
Native Deletion/Revocation | ||
Read Latency | ~15 sec | < 2 sec |
Protocol Standards | W3C DID, ERC-1056, ERC-5805 | W3C DID, JSON-LD |
Primary Storage Cost Driver | Blockchain Gas Fees | Permanent Storage Fee (AR) / Pinning Service (IPFS) |
On-Chain DIDs: Pros and Cons
Key strengths and trade-offs at a glance for two dominant DID implementation patterns.
On-Chain DIDs: Key Strength
Guaranteed State Consistency: The DID's status (active/revoked) and its public keys are resolved directly from the blockchain's consensus state. This eliminates external dependencies, making it ideal for high-security DeFi integrations (e.g., smart contract permissioning) and real-time verification where liveness is critical.
On-Chain DIDs: Key Weakness
High Storage Cost & Scalability Limits: Storing mutable data (like key rotations) directly on L1s like Ethereum is prohibitively expensive. This model struggles with data-rich identity profiles (verifiable credentials, social graphs) and can lead to bloated state size, conflicting with scaling roadmaps for chains like Solana and Polygon.
IPFS/Arweave DIDs: Key Weakness
Liveness & Pinning Dependency: Resolution depends on the availability of off-chain data. If IPFS nodes unpin the document or Arweave gateways are slow, the DID becomes unresolvable. This adds fragility for time-sensitive operations and requires careful infrastructure management, introducing a point of centralization.
DID Documents on IPFS/Arweave: Pros and Cons
Key architectural trade-offs for storing DID documents, focusing on permanence, cost, and control.
On-Chain DIDs (e.g., Ethereum, Solana)
Direct Immutability & Guaranteed Resolution: The DID document is stored directly on the L1/L2 ledger. This provides cryptographic certainty of persistence and a single, always-available resolution endpoint via the chain's RPC. This matters for high-value, permanent identities like institutional credentials or protocol admin keys where liveness is non-negotiable.
IPFS/Arweave DID Documents
Cost-Effective & Flexible Storage: Storing only a content hash (CID or Arweave TX ID) on-chain decouples document size from gas fees. IPFS allows unlimited updates for pinning costs, while Arweave offers permanent, one-time payment storage (~$0.02/KB). This matters for scaling to millions of users or storing large, mutable Verifiable Credentials (VCs).
On-Chain DIDs: Critical Weakness
High Variable Cost & Size Limits: Every document update (adding a key, service endpoint) requires a new on-chain transaction with associated gas fees and is constrained by block size/VM limits. This is prohibitively expensive for frequent changes and impractical for embedding large service endpoints or VCs directly.
IPFS/Arweave DIDs: Critical Weakness
Resolution Dependency & Pinning Complexity: Resolving the DID requires a separate, reliable gateway (IPFS node, Arweave gateway). IPFS introduces pinning service centralization risk, while lazy Arweave nodes may not store all data. This adds a liveness assumption and complexity that breaks the "trustless" guarantee of pure on-chain resolution.
Decision Guide: When to Use Which Approach
On-Chain DIDs for DeFi & DAOs
Verdict: Preferred for high-stakes, permissioned interactions. Strengths:
- Immediate, atomic resolution for governance votes, KYC/AML checks, and collateralized identity.
- Censorship-resistant verification, critical for Sybil-resistant airdrops or token-gated access.
- Native composability with smart contracts (e.g., ENS for wallet naming, Verifiable Credentials for underwriting). Trade-offs: Higher per-identity gas costs on L1s; consider L2s like Arbitrum or Optimism. Protocol Examples: Ethereum (ERC-725/735), ENS, Polygon ID, Veramo on-chain resolvers.
IPFS/Arweave DIDs for DeFi & DAOs
Verdict: Suitable for auxiliary, low-frequency data. Strengths:
- Extremely low-cost storage for detailed, static DID documents and attestation histories.
- Decentralized persistence via Arweave's permanent storage or Filecoin's incentivized pinning. Trade-offs: Resolution is not atomic with on-chain transactions, introducing latency and potential availability issues for real-time checks. Protocol Examples: Ceramic Network (streams on IPFS), Arweave with Bundlr, Spheron for pinning.
Final Verdict and Decision Framework
A data-driven breakdown to guide your infrastructure choice between on-chain DIDs and IPFS/Arweave-based DID documents.
On-chain DIDs excel at providing strong, real-time state guarantees because the DID's active keys and status are resolved directly from the blockchain's consensus. For example, on Ethereum using the ERC-1056 (Ethr-DID) or ERC-725 standard, a verifier can check a DID's status in a single, trustless RPC call with sub-15-second finality, making it ideal for high-value, permissionless interactions in DeFi or asset transfers where revocation must be instant and globally verifiable.
IPFS/Arweave DID documents take a different approach by decoupling the identifier from the document, storing only a content hash (CID) or transaction ID on-chain. This results in a significant trade-off between cost and permanence. Storing a DID doc on Arweave costs a one-time fee of ~$0.02 for 100KB, enabling massive scalability for user-centric apps, but introduces a latency of 2-5 seconds for document retrieval via gateways, adding a layer of dependency on the decentralized storage network's availability.
The key architectural divergence is state management. On-chain DIDs make the ledger the system of record, perfect for high-frequency state changes like key rotation in enterprise custody solutions. Off-chain documents treat the ledger as an immutable pointer, better for static or slowly-evolving identity profiles where storage cost and data richness (embedding VC schemas, service endpoints) are primary concerns, as seen in Veramo and Ceramic Network implementations.
Consider the verifier's requirements. If your ecosystem demands atomic, synchronous verification without external HTTP calls—common in smart contract interactions—choose on-chain DIDs. If you prioritize user data sovereignty, rich document schemas, and minimal ledger bloat for millions of users, the IPFS/Arweave model is superior. The choice fundamentally hinges on whether your use case treats identity as a live contract state or a referenced data asset.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.