The advent of the Ethereum platform in 2015 has worked to provide a virtual computing infrastructure for running applications on the blockchain, this new form of program is called a distributed application or Dapp for short. Ethereum was the first developer platform for building distributed apps it is a foundational general-purpose blockchain based platform that is a Turing-complete virtual machine, meaning it can run any computer code. All though Ethereum was the first and still the largest platform for developing distributed applications there are now others such as Blockstack or EOS all of which provide the underlying infrastructure for building Dapps.
Our working definition of a Dapp is an application that runs on a network in a distributed fashion with participant information securely protected and operations executed in a decentralized fashion across a network of nodes. Dapps use open source code, operate autonomously with data and records cryptographically stored on a blockchain. On a technical level, a Dapp is very much similar to a normal web application except unlike with a normal web app where the backend code is running on centralized servers a Dapp has its code running on a decentralized peer-to-peer network. A Dapp can have frontend code and user interfaces written in any language just like an app that can make calls to its backend. As such Dapps will often look and feel very much like regular apps and people will be using them in the coming decades without realizing it. Like all apps dapps perform a specific function, whereas Bitcoin is a decentralized value exchange, a decentralized application aims to achieve functionality beyond transactions that merely exchange value. Many types of decentralized apps are starting to emerge as the underlying technology continues to progress.
Already we can seem many DAPPS that present alternatives to the existing popular web applications. Probably the most successful Dapp to date is Steemit. Steemit is a blogging and social networking website on top of the Steem blockchain database. The general concept is similar to other blogging websites or social news websites like Reddit, but the text content is saved in a blockchain. Using a blockchain enables rewarding comments and posts with secure tokens of value. Likewise, for existing marketplace applications like eBay and Craigslist, we have the decentralized version Openbazaar. OpenBazaar is an open source project developing a protocol for e-commerce transactions in a fully decentralized marketplace. Because the application connects people directly via a peer to peer network it costs nothing to download and use. Unlike sites like eBay or Amazon, there are no fees to list items, and no fees when an item is sold. Openbazaar is not a company like eBay but an open source project, each user contributes to the network equally and is in control of their own store and private data.
Another example is Storj which is a decentralized cloud storage application like Dropbox. Storj is based on blockchain technology and peer-to-peer protocols to provide secure, private and efficient cloud storage. The application incentivizes storage providers and connects them with those who require it, each file saved on the application is shredded, encrypted and spread across the network until you are ready to use it again, the keys to the database remain with the owners meaning the data is not accessible by a centralized cloud provider. In short, dapps could be applied to many areas that require a secure record and benefit from decentralization. They are automated which means they can operate at very low or zero cost. Because of this dapps may be used to disrupt the existing platform economy as whole platforms like Uber or Airbnb maybe eventually converted into dapps that run automatically without the need for the central platform. The advantages of dapps is that they are fully automated have superior fault tolerance and trustless execution. These decentralized apps potentially represent the next generation of computing.