There are new terms in Ethereum like smart contract. What is a DApp and how is it different from smart contracts?

DApp is an abbreviated form for decentralized application.

A DApp has its backend code running on a decentralized peer-to-peer network. Contrast this with an app where the backend code is running on centralized servers.

A DApp can have frontend code and user interfaces written in any language (just like an app) that can make calls to its backend. Furthermore, its frontend can be hosted on decentralized storage such as Swarm or IPFS.

If an app=frontend+server, since Ethereum contracts are code that runs on the global Ethereum decentralized peer-to-peer network, then:

DApp = frontend + contracts

Illustration of a DApp that uses a blockchain with smart contracts combined with the pillars of Swarm and Whisper:

enter image description here

  • 3
    Using this excellent answer as template for the dapp-development tag wiki. Thanks. – Afri Oct 25 '16 at 9:56
  • 2
    Does a "dapp" have to be based on swarm and whisper to be considered a dapp, or can it be built on more traditional Web infrastructure? – Mike Shultz Jun 8 '17 at 6:54
  • 2
    @Mike A DApp should use decentralized storage and decentralized communication. It matters less which one specifically (whether it's Swarm or some other decentralized storage), but it's important to avoid centralized infrastructure: for example a company going out of business would make the DApp fail. – eth Jun 11 '17 at 7:47
  • 1
    Dapp it can be frontend+contracts, but not necessary. we can talk about dapp when every user has it own server ( backend ) and comunicate with other over IPFS or ethereum – maroodb Aug 15 at 12:47

A good Blog post by Vitalik Buterin goes through and the concept of a Dapp and other related concepts such as smart contract, Decentralised Autonomous Organisation, Decentraclised Corporation ect..

Here is the link with the Blog Post: DAOs, DACs, DAs and More: An Incomplete Terminology Guide

  • 1
    Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. – Afri Oct 25 '16 at 9:56

Find below a definition of DApp written in this doc called "The General Theory of Decentralized Applications, Dapps".

For an application to be considered a Dapp (pronounced Dee-app, similar to Email) it must meet the following criteria:

  • The application must be completely open-source, it must operate autonomously, and with no entity controlling the majority of its tokens. The application may adapt its protocol in response to proposed improvements and market feedback but all changes must be decided by consensus of its users.

  • The application's data and records of operation must be cryptographically stored in a public, decentralized blockchain in order to avoid any central points of failure.

  • The application must use a cryptographic token (bitcoin or a token native to its system) which is necessary for access to the application and any contribution of value from (miners / farmers) should be rewarded in the application’s tokens.

  • The application must generate tokens according to a standard crytptographic algorithm acting as a proof of the value nodes are contributing to the application (Bitcoin uses the Proof of Work Algorithm).

Clarification related to the terms you use in your question:

  1. Ethereum is a DApp, it tick all the boxes from the criterias listed in the above definition
  2. Smart contracts: don't have to be Open Source, do they? so no, smart contracts are not a DApp. Unless I miss something.
  3. Bitcoin is a DApp, it tick all the boxes from the criterias listed in the above definition

Dapp abbreviate as Decentralized Application used to Developed Applications using Front-end(HTML+CSS+JS) Web page + Back-end(Solidity Smart contract) Programming code + Server(TestRPC) Private Blockchain/Dummy Network in Ethereum platform

protected by eth Mar 26 at 0:50

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.