Eine Dapp (oder eine dezentrale Anwendung) ist eine Softwareanwendung, die auf Smart Contracts aufbaut und sich auf einem dezentralen öffentlichen Netzwerk wie der Ethereum-Blockchain befindet. Die Logik der Dapps läuft im Hintergrund auf den Smart Contracts ab, welche dann mit dem Front-End verbunden werden, um die Funktionen der Smart Contracts auszuführen.
Eine traditionelle App hat ein Frontend, das mit privaten, zentralisierten Servern verbunden ist, die in der Cloud gespeichert sind und sich unter der vollständigen Kontrolle der Entwickler befinden. Die Aktivitäten auf diesen Servern sind vor der Öffentlichkeit verborgen, und es ist nur eine Vermutung, wie die Informationen innerhalb dieser Server wirklich verarbeitet werden.
Eine Dapp hingegen bietet radikale Transparenz darüber, wie ihr Backend funktioniert (d. h. der Smart Contract, im Gegensatz zu privaten Servern). Dies stellt sicher, dass die Benutzer genau wissen, worauf sie sich einlassen. Sobald ein Dapp-Entwickler seinen Smart Contract veröffentlicht, ist er aufgrund der offenen Natur der Blockchain auch für jeden zugänglich. Das bedeutet, dass es anderen Entwicklern freisteht, ihre eigenen Front-Ends zu erstellen und das Nutzererlebnis, das der Smart Contract der ursprünglichen App bietet, zu verbessern oder zu verändern.
Dapps bieten auch große Vorteile in Bezug auf die Privatsphäre (da kein Benutzer seine echte Identität preisgeben muss) und Zensurresistenz (keine Instanz im Netzwerk kann die Dapp für andere blockieren). All diese Vorteile sind jedoch mit einem ernsthaften Kompromiss verbunden. Dapps sind in Bezug auf ihre Netzwerkleistung durch den Rest der Blockchain begrenzt, die sich aufgrund ihres dezentralen Designs viel langsamer bewegt als zentralisierte Netzwerke.