What is a Decentralized Application ?

Internet users don’t have sole control over the data they share on today’s websites.

Ethereum is unique in that it attempts to wield the blockchain as a way to correct what its designers believe is a problematic part of the internet’s design.

It’s like a “decentralized appstore” where anyone can publish their unstoppable apps (dapps), which unlike today’s apps (think Gmail or Uber) don’t require a middleman to function or to manage a user’s information.

Dapps connect users and providers directly.

One example is to use this design for a decentralized Twitter that’s resistant to censorship. Once you publish a message to the blockchain, it can’t be erased, not even by the company that created the microblogging system.

There isn’t one definition of a dapp, though, as it’s a newer concept.

A couple of main characteristics are that they’re open source and don’t have a central point of failure.

Three types

With this new technology out in the wild, ethereum advocates might feel electrified by the thought of decentralizing “all the things.” But the types of applications that users can build with the computing platform might be somewhat narrow.

The ethereum white paper splits dapps into three types: apps that manage money, apps where money is involved (but also requires another piece), and apps in the “other” category, which includes voting and governance systems.

In the first type of app, a user may need to exchange ether as a way to settle a contract with another user, using the network’s distributed computer nodes as a way to facilitate the distribution of this data.

The second type of app mixes money with information from outside the blockchain.

For example, a crop insurance application that’s dependent on an outside weather feed. (Say a farmer buys a derivative that automatically pays out if there’s a drought that impacts his work.)

To execute, these smart contracts rely on so-called “oracles” that relay up-to-date information about the outside world. (Though, it’s worth noting that some developers are skeptical that this use case can be done in a decentralized way.)

If bitcoin can do away with financial authorities, is it possible to do the same for companies and other types of organizations?

Decentralized autonomous organizations are one particularly ambitious breed of dapp (this is explained further in ‘What is a DAO?’).

The goal is form a leaderless company, program rules at the beginning about how members can vote and how to release company funds and then… let it go.