Una Dapp (o aplicación descentralizada) es una aplicación software construida encima de smart contracts que residen en una red pública descentralizada como el blockchain de Ethereum. Las Dapps funcionan publicando en el blockchain un smart contract que contiene toda la lógica de sus procesos financieros y luego crean un front-end (la interfaz con la que los usuarios pueden interactuar) que se asienta encima de los contratos para facilitar la experiencia.
Una app tradicional tiene un front-end que está conectado a servidores privados y centralizados alojados en la nube y que se encuentran bajo el control de quienes los desarrollaron. Las actividades en estos servidores están fuera de la vista pública y realmente nadie sabe exactamente cómo se procesa la información dentro de ellos.
Una Dapp, por otro lado, ofrece una transparencia radical acerca de cómo funciona su back-end (el smart contract, en contraste a los servidores privados). Esto asegura que sus usuarios entiendan exactamente en lo que se están involucrando. Una vez que un desarrollador de la Dapp publica su smart contract, queda accesible para todos, dado la abierta naturaleza del blockchain. Esto permite que otros desarrolladores tengan la libertad de crear sus propios front-ends para mejorar o modificar la experiencia del usuario dada por el smart contract original de la Dapp.
Las Dapps también ofrecen grandes ventajas en privacidad (ya que no requieren a ningún usuario compartir su verdadera identidad) y resistencia de censura (ninguna entidad en la red puede bloquear el acceso a la Dapp para otros). Sin embargo, todas estas ventajas, traen consigo implicaciones. Las Dapps son limitadas, en términos de su funcionamiento, por la red blockchain, que se mueve más lento que las redes centralizadas debido a su arquitectura descentralizada.