Curated by blockrev Sep 13, 2018.
Originally Published by Siraj Raval on Sep 27, 2017.
Code for this video: https://github.com/llSourcell/Your_First_Decentralized_Application
Definition of a Dapp
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). 
Curated by Blockrev @ Dapp.tech September 13, 2018. Reference Source  The General Theory of Decentralized Applications, Dapps Authors: David Johnston, Sam Onat Yilmaz, Jeremy Kandah, Nikos Bentenitis, Farzad Hashemi, Ron Gross, Shawn Wilkinson and Steven Mason https://github.com/DavidJohnstonCEO/DecentralizedApplications