Ethereum started as a way to have a universal blockchain that could be used for a variety of purposes. DApps represent a broader perspective than "smart contracts." A Dapp is at least a smart contract and a web user interface. More broadly, a Dapp is a Web application based on an open, decentralized, peer-to-peer infrastructure service.
A Dapp consists of at least the following components.
- A smart contract on the blockchain
- A web front-end user interface
In addition, many Dapps include other decentralized components, such as:
- A decentralized (P2P) storage protocol and platform.
- A decentralized (P2P) messaging protocol and platform.