What is a DApp?
A decentralized application (dApp) is an application whose backend logic runs on a blockchain via smart contracts, rather than on centralized servers. While traditional apps (Web2) store data and run logic on AWS or Google Cloud, dApps store state on-chain and execute logic through smart contracts.
The frontend of a dApp often looks identical to a regular website — it has buttons, forms, and UI components. The difference is invisible to the user: when you click “Swap” on Uniswap, instead of sending a request to a company’s server, you’re sending a transaction to a smart contract that lives on the Ethereum blockchain.
There are over 12,000 active dApps across all blockchains, spanning finance, gaming, social, and infrastructure.
How DApps Work
Architecture Comparison
| Layer | Web2 App | Web3 DApp |
|---|---|---|
| Frontend | React/Vue hosted on Vercel/AWS | React/Vue hosted on IPFS or centralized hosting |
| Backend | Node.js/Python on AWS | Smart contracts on blockchain |
| Database | PostgreSQL/Mongo | On-chain storage (expensive, limited) |
| Authentication | Email/password, OAuth | Wallet signature (MetaMask) |
| API | REST/GraphQL to own servers | RPC calls to blockchain nodes |
| Hosting | Cloud provider | Blockchain (immutable) + IPFS/Arweave for files |
The User Flow
- Visit the dApp: Open a URL (e.g., app.uniswap.org)
- Connect wallet: Click “Connect” → MetaMask popup → approve connection
- Interact: Click buttons (Swap, Deposit, Mint, Vote)
- Sign transaction: Wallet shows details (gas cost, contract interaction)
- Transaction processes: Broadcast to blockchain, confirmed in seconds to minutes
- State updates: Smart contract executes, UI reflects the new state
Key Components
Smart Contracts (Backend)
The core logic lives in smart contracts deployed on-chain. This code is:
- Immutable: Can’t be changed after deployment (unless using proxy patterns)
- Transparent: Anyone can read the source code (if verified)
- Trustless: Executes exactly as written, no human intervention
Frontend (UI)
Usually a React/Next.js app that:
- Reads on-chain data via RPC providers (Alchemy, Infura)
- Constructs transactions for users to sign
- Listens to events to update the UI in real-time
- Hosted on centralized servers or decentralized storage (IPFS)
Wallet (Authentication)
Replaces traditional login systems:
- MetaMask: Most popular browser extension wallet
- WalletConnect: Connects mobile wallets to dApps
- Coinbase Wallet: Popular for US users
- Rainbow/Phantom: Mobile-first wallets
RPC Provider (Data Layer)
Since dApps can’t run their own blockchain node (too expensive), they connect to RPC providers that relay requests to the blockchain:
- Alchemy: Full-service Web3 development platform
- Infura: One of the oldest RPC providers
- QuickNode: High-performance nodes
- Public nodes: Free but rate-limited
Types of DApps
DeFi (Decentralized Finance)
The largest category by TVL and users:
- DEXs: Uniswap, Curve, PancakeSwap
- Lending: Aave, Compound, Spark
- Derivatives: dYdX, GMX, Hyperliquid
- Stablecoins: MakerDAO/Sky, Liquity
NFT Platforms
- Marketplaces: OpenSea, Blur, Magic Eden
- Gaming: Axie Infinity, Illuvium, Gods Unchained
- Art: Foundation, SuperRare
Social
- Farcaster: Decentralized Twitter alternative
- Lens Protocol: Web3 social graph
- Mirror: Decentralized publishing
Infrastructure
- Oracles: Chainlink, Pyth
- Bridges: LayerZero, Wormhole
- Storage: IPFS, Filecoin, Arweave
- Naming: ENS (.eth domains)
DAOs
- Snapshot: Off-chain voting
- Tally: On-chain governance
- Sybil: Grant management
DApps vs Traditional Apps
| Feature | Traditional App | DApp |
|---|---|---|
| Uptime | Depends on server/CDN | Always available (blockchain runs 24/7) |
| Censorship | Can be shut down by company/government | Permissionless, can’t be shut down |
| Trust | Must trust the company | Must trust the code (smart contracts) |
| Speed | Milliseconds | Seconds (block confirmation time) |
| Cost | Free or subscription | Gas fees per transaction |
| Data ownership | Company owns your data | You own your assets via private keys |
| Account recovery | Email reset | Seed phrase (if lost, assets are gone) |
| Upgrade | Company pushes updates | Governance vote (if upgradeable) |
Challenges for DApps
User Experience
- Wallet friction: Installing MetaMask, understanding seed phrases
- Gas confusion: Users don’t understand why transactions cost money
- Transaction times: Waiting for block confirmation (seconds to minutes)
- Error messages: Crypto error messages are notoriously bad (“execution reverted”)
- Account abstraction (EIP-4337) aims to solve these issues with smart wallets
Scalability
- Ethereum mainnet: ~15 TPS, high gas fees ($5-50+ per transaction)
- Layer 2s: 100-4,000 TPS, lower fees ($0.01-0.50)
- Solana: 65,000 TPS, lowest fees ($0.0001)
- But higher throughput often means more centralization
Regulatory Uncertainty
- Are dApp developers liable for user losses?
- Do governance tokens make dApps securities?
- Can regulators force dApps to comply with KYC/AML?
Frequently Asked Questions
Q: Can a dApp be shut down? A: The smart contracts can’t be shut down — they live on the blockchain permanently. But the frontend website can be taken down (DNS seizure, hosting takedown). Users can still interact with the contracts directly via Etherscan or alternative frontends.
Q: Do I need to pay to use dApps? A: Yes, most blockchain interactions require gas fees. On L2s, fees are typically $0.01-0.50. Some dApps subsidize gas for users (gasless transactions via meta-transactions).
Q: What happens if a dApp’s frontend goes down? A: You can still interact with the smart contracts using Etherscan’s “Write Contract” feature or alternative frontends. The backend is indestructible as long as the blockchain exists.