This document provides an overview of decentralized applications and related concepts such as decentralized autonomous organizations, corporations, and smart contracts. It discusses how blockchain technology can provide a trustable public cloud infrastructure. Different components of decentralized applications and consensus are outlined, including application state, economics, governance and cryptoeconomics. New compensation models for software using crypto tokens are proposed. Examples of existing decentralized applications like Augur and Deckbound are briefly described. The document concludes by recapping distributed tools that can be used to build decentralized applications.