With Pascal Marco Caversaccio, Apps with love has gained an absolute pro and blockchain enthusiast as a blockchain advisor. As co-founder and chairman of the former Swiss fintech company Alethena, which specialized in blockchain applications, he can draw on a wealth of experience in this field. He shares his knowledge not only with the Apps with love team during internal Brown Bag University sessions, but also with our valued readers. We are proud to present the first Apps with love Blockchain Blog!
dApps = Apps2.0?
Everyone knows apps. If I ask you what an app is, you are able to explain in simple words where I can search for apps (e.g. Google Play Store), how I can download it, and what I can use a certain app for (e.g. messaging). Today there is literally an app for every use case and apps have become ubiquitous.
So, everything should be fine, right? Well, now think more carefully about how apps are governed: Third-party platforms such as the Google Play Store or the App Store are very powerful and can remove your app within seconds (e.g. if you do not comply with their rules). A recent incident, though it may have legitimate reasons, underpins this risk: Google removed 600 apps from the Play Store due to disruptive ads. These companies also charge developers fees for hosting and make large profits on sales. Apple for example gets 30% of all revenue from app and in-app purchases. Another issue may arise if the provider shuts down the app and you no longer have access, or the app has technical downtime due to e.g. backend problems. Especially, downtime can become very costly for the company and the customer.
Now imagine something crazy. Apps that do not belong to anyone, cannot be shut down, and do not have any (technical) downtime. Sounds like wishful thinking, doesn't it? Not really! Such new breeds of applications are currently discussed and developed across the world and are called "decentralised Applications" or just simply dApps. In other words, dApps are blockchain-based* apps. Thus, one could speak of "apps 2.0".
*For the sake of simplicity I use the terms blockchain and distributed ledger technology interchangeably throughout this article. However, generally speaking, a blockchain is only one of the many types of data structures that provide secure and valid achievement of distributed consensus (c.f. IOTA for a non-blockchain-based distributed ledger technology).
The Underlying Technology
In order to understand the power of dApps, one must first grasp the underlying distributed ledger technology (DLT). I am pretty sure you already have heard about Bitcoin, the publicly villainised cryptocurrency that will destroy our modern monetary policy 😉. For the sake of brevity, I do deliberately not discuss any implications of cryptocurrencies in detail here, but, more interestingly, I have to emphasise that Bitcoin is just an add-on or application of the blockchain technology itself. Hence, Bitcoin can be considered as the first ever dApp.
So what is a blockchain? Put into simple words, a blockchain is a globally distributed ledger that records transactions and is secured cryptographically via a robust consensus mechanism. Still too complicated? Don't worry, actually, one only has to remind that it is a distributed database and therefore decentralised all over the world. Thus, there is no central party who can simply shut down this new type of database.
The really great thing about this new technology is that it addresses all the aforementioned issues of third-party-dependent apps. Once the dApp is deployed on the DLT, it just runs forever.
Let us quickly formulate what kind of criteria have to be met by a dApp:
- The source code has to be open-source,
- The blockchain must be decentralised
- The application itself must provide an incentive for fuelling itself (e.g. tokens)
- This incentive must be generated using a protocol/algorithm
If an app does not meet all of these criteria, it is not a dApp!
Examples based on Ethereum
Enough with the theory, let us examine some examples. In order to do so, I focus on the Ethereum blockchain that provides by its design (i.e. Turing-complete programming language) a natural breeding ground for dApps. Moreover, dApps are represented by smart contracts in the Ethereum network.
CryptoKitties: a famous gaming dApp that allows players to purchase, collect, breed, and sell virtual cats.