Blockchain, to some, has become an overhyped technology and buzzword, associated with missed opportunities to make millions, or colleagues who keep raving in the kitchen about how it’s going to change the world.
Blockchain-based applications are significant because they address a problem that’s front of mind with businesses and end-users right now; privacy, data security and who that data is shared with.
A popular misconception about blockchain technology is that it’s meant to be a replacement to traditional currencies, and while that may be the goal of a handful, it’s just one use case for a blockchain application.
What are DApps?
DApps are what decentralised applications are often shortened to. These applications shouldn’t really be distinguishable to the end-user. What’s important about DApps is on the back-end with how the data is managed.
DApps run on a blockchain – one of the most well known blockchains is the Ethereum network. This allows developers to build their own applications and even create their own blockchain tokens on top of them (these tokens can be used to raise money through an ICO, or act as currency to pay those who maintain the network).
There are a couple of requirements that must be met for an application to be considered a DApp:
• The application is open source, meaning the code is publicly viewable and developers can create forks or edit the code. Some DApps do get away with being closed source, for example the inexplicably popular CryptoKitties, although it’s debatable whether this is a true DApp in this case
• The application’s data is not hosted on local (on-premise) or standalone cloud servers, it’s decentralised running on a secure network of computers that can be made up of a mix of cloud servers and individual PCs running the software
• The application has a blockchain token that is finite in number (E.g. Ether is the token for the Ethereum network); this requires a pair of cryptographic keys to sign transactions to have data stored on the blockchain
How do they work?
By all appearances, DApps should not be recognisable as a DApp. They can be web pages, desktop or mobile apps that simply operate like any other application might. The application’s data is not hosted on local or cloud servers, rather a network of nodes that maintains an identical ledger – this is a blockchain. Unfortunately, to properly explain how DApps work, it means delving into the function of a blockchain. This can quickly become esoteric for those not from a technical background.
So, I’ll try to explain how this works without getting overly technical.
A blockchain is a peer-to peer network that’s purpose is to maintain an open ledger that records data – think of it like a spreadsheet. Identical copies of the ledger exist across the network on each node, which means that there are thousands of copies of the same ledger (any compatible computer can run the software and become a node). This is where the immutability comes from – all node’s ledgers must be identical. If there is a discrepancy on one ledger, that record will be invalidated making it an incredibly difficult system to hack or manipulate.
To get information on to a node, most commonly miners will verify the transactions and then broadcast them to the network. This can be a resource intensive process, requiring a lot of computing power, and as such the miners are paid in tokens for their efforts by the user who initiated the transaction. For this reason, DApps require users to have a wallet, which holds tokens relating to that specific blockchain. For example, DApps running on the Ethereum network will commonly use Ether tokens.
This is an oversimplification of what a blockchain is, and there are many different blockchains out there that can work in different ways (so long as they adhere the rules mentioned above; open source, decentralised with a blockchain token).
What is the benefit?
To understand why people are excited about DApps, firstly lets examine the problem with how some apps work today. As an example, consider a social network. Millions of people are interacting with the site, and for users to see other user’s comments, posts, likes etc, the data must be saved somewhere on the network so that this action can be retained. No one wants to leave a comment only to have it vanish. Therefore these interactions are all stored on centralised servers and it is the responsibility of the site owner and host to secure, backup and manage the dissemination of that data. The cost of maintaining servers is expensive. They require hardware, employees, power and so on. And since a lot of sites are free for the end user, a business may resort to opening up your data to advertisers who can then target you with their products so that the site can cover costs.
With a DApp, there are no centralised servers where the data is stored on. Rather, it’s saved to the blockchain. Suddenly, there is no organisation that is liable for securing end user data. No organisation having to pay staff, maintain servers or other overheads. Since there is no organisation involved in operating the network, there is less motivation to sell user data to cover costs. With the data stored on the blockchain, it’s highly secure.
Commonly, blockchains would require over 51% of their network to come under simultaneous attack to affect the data stored on the ledger, which is not only complicated to undertake, but also uneconomical.
As mentioned earlier, to meet the requirements, DApps must be open source, which means that anyone can examine the code to see how the application functions. This provides a level of transparency that traditional applications typically would not offer.
What are some of the hurdles?
DApps aren’t without their drawbacks. Firstly, there needs to be a sufficient number of nodes running on the network. So if a platform is built on a small blockchain, sometimes a majority of these nodes are actually operated by the creators and therefore isn’t actually decentralised.
One of the biggest issues with most blockchain based DApps is the learning curve that prohibits the less computer savvy users from being able to use them. Since users are required to have a wallet that holds blockchain specific tokens, users are required to keep what’s known as a private key or seed words to access their wallet and sign transactions on the blockchain.
Unlike a standard password, private keys cannot be reset if forgotten or lost, nor can it be changed. Typically private keys are a string of 64 alphanumeric characters that are difficult to memorise and should be recorded only on paper to avoid the risk of hackers getting access to it if saved digitally. Because of this, it isn’t as simple as inputting your email and setting a password, and there will be many unhappy people locked out of their accounts with lost private keys, never to gain access again!
Another issue DApps face is that there is a limit to how much data you can store on a blockchain; for example a video file is far too large to store in a decentralised way, and therefore must still be stored on a centralised server.
These problems can be overcome in time, and some of the above issues aren’t present in enterprise blockchains such as Hyperledger Fabric, which doesn’t require end users to maintain a wallet and pay miners.
Where are the DApps?
Finally, a lot of DApps are yet to see the light of day, much of them only exist as white papers or an early demo. However, there are a few already out there that anyone can use. You may have read a blog post on a site that looks quite familiar to Medium, known as Steemit.
This is a DApp where contributors are rewarded with tokens for publishing popular content (which can then be converted to traditional currency). Another DApp is Golem, which is a decentralised global super computer created by leveraging the processing power of its blockchain’s network. This allows users to render 3D scenes faster than they could on a single workstation, or make use of their ML platform.
In summary, with the proliferation of cryptocurrencies and awareness of blockchain technology, an incredible amount of hype has been generated and unreasonably high expectations set of what blockchain technology can offer.
As mentioned earlier, to the end user, a DApp should operate like any other app and it will offer very similar functionality. What’s brilliant about the technology for the most part won’t affect the user beyond offering peace of mind that their data isn’t being sold off to advertisers, or exposed by hackers. We’ll start seeing more and more DApps hit the market in the coming months, although it is yet to be seen whether these types of DApps will enjoy mass adoption.
Chris Hogben, digital designer, GPJ Australia.