What are DApps?

DAPP review — Chat.Chat
Chat.Chat
Published in
11 min readDec 21, 2018

Introduction

Steve Jobs raised the concept of the now-famous App Store business model as early as in 1983.

At that time, users had to first buy an app before they could use or even try it. To improve upon this primitive mode of operation, Jobs envisioned the adoption of the record industry’s business model. He was convinced that consumers should be able to learn about the content of apps even before they bought them so that they could purchase only the apps they enjoyed using, just as they would only purchase records they enjoyed listening to.

25 years later, in 2008, Apple’s App Store went live with a simple and intuitive “user interface” that quickly became well known. The App Store made it easy for developers to create and distribute their apps to millions of Apple’s users, simultaneously providing users with access to a vast selection of apps. Updates were just a click away.

Although the App Store has driven a revolution for mobile devices, we are still far from the idea that Jobs originally envisioned of broadcasting apps. The app landscape of today is saturated, while user attention is scarce. Barriers that have gradually developed, whether they be the monopolies of heavyweights such as Apple and Google or the opacity of app review procedures, create huge losses for developers and users. Recently-published internal Facebook documents are a reminder that user data is granted questionable privacy.

Clearly, the time for the next app revolution has arrived. Blockchains such as Ethereum that allow users to interact by broadcasting transactions provide us with a radically different set of building blocks that will serve as a foundation for developers to fundamentally re-construct apps as decentralized apps (“Dapps”), and build up a new app ecosystem.

1. The next generation of apps

The key characteristic of dapps is that they run on nodes on blockchain platforms such as Ethereum and are hence not dependent on centralized servers, unlike traditional apps.

1.1 What is a Dapp?

Dapps can be built to run on different underlying blockchains with different consensus mechanisms (such as EOS or NEO), and can issue their own tokens or use their platform’s native token (such as ETH on Ethereum). Generally, dapps must fulfil three conditions:

  1. Run on a distributed network;
  2. Securely store user information to ensure adequate data privacy protection;
  3. Operate in a decentralized manner.

1.2 The four characteristics of Dapps

Underlying blockchains essentially provide the “operating system” for dapps, just as iOS and Android are operating systems for traditional apps. Put the other way, dapps provide functions and features that make blockchains more useful, just as apps make phones more useful.

The Web 3 Stack, from https://blog.coinbase.com/understanding-web-3-a-user-controlled-internet-a39c21cf83f3
The OSI Model, from https://community.fs.com/blog/tcpip-vs-osi-whats-the-difference-between-the-two-models.html

A truly decentralized application should fulfil several conditions:

  • The app must be fully open source and autonomous. No entity holds >51% of tokens to control the application;
  • It must be updated in accordance to user feedback and technical requirements, and should only be updated after obtaining the consensus of a majority of users;
  • Application data must be encrypted and stored on a public blockchain; and
  • It must have a token mechanism (based on its own token or the platform’s native token) that allows miners or nodes to receive rewards. The tokens must be generated using standard encryption algorithms so that nodes can obtain token rewards using the algorithms.

1.3 Dapps should develop Constitution-like smart contracts

Early blockchain applications largely involved cryptocurrency and financial trading, followed by digitized assets such as property and automobiles as well as digitized intangible assets such as IP rights and judicial certificates.

As smart contracts evolve and become more robust, smart contract-based organizations will eventually operate like real commercial societies, possessing both complexity and autonomy. These organizations can take the form of dapps, DAOs (Decentralized Autonomous Organizations), DACs (Decentralized Autonomous Companies), DAS (Decentralized Autonomous Society) and more.

They can automatically execute pre-defined business rules without human intervention. For example, a simple smart contract could state: 2 users bet on a game and their chips are temporarily saved to the network. When the game ends, the pre-defined rules verify the game results and winnings are automatically transferred to the winner’s account.

2. Dapps — the future of blockchain?

If mobile phones ushered in the era of the mobile Internet, apps then enriched our mobile Internet life. In the past few years, the rise of the app economy has radically changed our living habits. From delivery services to entertainment, ride hailing and bike sharing, e-commerce, social networking, information and videos — for almost anything you can imagine, there’s an app for it. Apps have transformed not just our personal lives, but also the way we work and do business.

It is because of the app that we have rapidly entered the mobile Internet era, but the impact of apps on our lives is only to “transform”, rather than to “reconstruct” or disrupt. It’s undeniable that after a few years of rapid development, apps are on the decline.

What could surpass the transformations brought about by apps? Could it be dapps?

Because of the inherent data security and value transmission characteristics of the blockchain, much of the work in dapps can be handled by underlying blockchains, freeing application developers to focus on designing their business model and UX well.

Hence, blockchain technology has given us a huge space for imagination, even if dapps based on blockchain technology are still in their infancy and currently lack large-scale practical application value. Significant amounts of progress has and is being made on decentralized application infrastructure such as standardized smart contracts (OpenZeppelin) and “dapp browsers” (Trust Wallet, Chat.Chat and imToken), which allow users to easily access and use dapps from their mobile device.

Below, we examine some of the pros and cons of application development based on the blockchain in more detail.

2.1 Pros: UX, operation and maintenance costs

The inherent data security and value transmission characteristics of blockchains can eliminate many development challenges and factors that affect the user experience in dapps:

1. Redesigned user verification processes

If the underlying blockchain supports data sharing, dapp developers will be able to verify user identities by simply purchasing verifications provided by other developers through some token, then re-using that verification. This can also be considered a Proof-of-Data (PoD) mining model that creates a win-win situation for users and developers. Block City is one such dapp.

2. Improved transaction security

With the swift growth of financial transactions, the demand for transaction efficiency is increasing. Yet, transaction processing methods based on financial intermediaries (such as banks and payment providers like Visa) have often proved inefficient and expensive, with counterparty risk being a major cost driver. In contrast, blockchain technology based on UTXOs (Unspent Transaction Outputs) can resolve this problem without changing any existing business processes, and can be applied in use cases such as the electronic trading systems used by financial institutions.

3. Changes in industry relations of production

Blockchains inherently provide data security and the ability to transfer value through cryptocurrencies, two attributes that can change the Internet’s relations of production and promote the development of industrial applications. A classic example is video streaming. Companies such as Netflix and Amazon spend massive sums on copyright protection, while users must often purchase subscriptions on multiple platforms to access all the content they want.

Blockchains would allow videos to be protected by copyright, while allowing users to access videos through the provider of their choice. Subscription fees can be tokenized and sent through smart contracts to the content creator and content provider. This ecosystem resolves both the issues of piracy and competition for copyright, allows developers to focus on improving the user experience, and changes the business model from “competition for copyright” to community aggregation such that content providers must now compete on user experience.

Example of blockchain-based copyright applications. Adapted from https://draglet.com

4. Reduced cost of project operation and maintenance

The cost of operating and maintaining a project is often higher than the cost of development. Go-to-market strategies in saturated app markets are a major driver of cash burn rates since most apps require users to discover and download them. However, a single decentralized application browser for blockchain-based applications is sufficient for users to access almost any dapp with very little friction, simplifying the awareness and user acquisition process for project teams. Chat.Chat is a powerful up-and-coming encrypted messenger integrated with both a multi-currency wallet and decentralized application browser that we’re looking forward to in 2019.

Furthermore, capacity planning for resources such as servers often budget for the maximum possible load, leading to unnecessary costs when the resources are idle or else a high risk of downtime. However, blockchains such as EOS are testing the concept of tokenized resources, allowing projects to purchase what they need on a just-in-time basis and hence reducing the operating cost of dapp projects.

5. Reduced technology development costs

At present, app development in China often involves producing four versions: iOS, Android, Web and a mini-app (for WeChat). Dapps are most similar to mini-apps, which are deliberately designed so that no installation is required: local processes are prohibited and all computations or programs required are executed online through WeChat.

In the same way, developers can leverage on SDKs provided by decentralized application browsers including Chat.Chat to access a wide range of functions such as transaction signing without having to write them from scratch.

2.2 Cons: Uncertain technical outlook

However, several technical and non-technical factors could potentially slow down dapp development.

1. Disrupted product design

Facebook CEO Zuckerberg at the F8 Conference

Many web-based apps operate following the “move fast and iterate quickly” design motto, an approach that will quickly cause issues for dapps. Since traditional apps are based on servers controlled by the project, issues can be resolved by deploying fixes once they are developed. However, for dapps based on distributed blockchain networks, fixes are comparatively more difficult to deploy.

Take the DAO as an example: if the DAO’s core vulnerability had been centralized, a simple bugfix would have sufficed. However, Ethereum could only resolve the issue through a contentious hard fork. This clearly illustrates the difference in product design methodology between traditional apps and dapps, which must ensure that their core functions will not produce unexpected behaviour from its very first MVP.

2. Low efficiency of public chains

The most well-known public blockchains today suffer from low throughput and inefficient resource usage. For example, Bitcoin and Ethereum’s transaction speeds still pale in comparison to Visa’s. Blockchains such as EOS and Qtum are theoretically able to support thousands of tx/s, but arguably lack adoption. Hence, blockchains are still not relevant for industrial-grade applications. However, certain applications that leverage blockchain characteristics without demanding real-time transactions (such as copyright tracking) have found success.

3. High risk of research and development

A dominant public chain has yet to emerge, just as Windows and MacOS co-existed during the PC era while iOS and Android now co-exist during the mobile era. As such, dapp developers bear the risk of their work becoming worthless.

In a nutshell, blockchain technology is set to become an important component within the foundations of the Internet. Future technologies must consider the implications of blockchain technology and the possibility that entirely new application models could emerge. As product developers, we must constantly follow up on, explore and choose the most appropriate business model for our applications so as to constantly improve on the user experience.

3. Dapp development platforms

To develop a dapp, one must first understand the problems dapps can solve. Secondly, a white paper is required to describe the technical principles and consensus mechanisms used by your dapp. Due to the complexity of developing a blockchain platform from scratch (and lack of network effects), the majority of ordinary developers will opt to develop on relatively mature platforms, which can greatly reduce the development workload required.

The current most popular dapp development platform is arguably Ethereum: a “decentralized platform for applications that run exactly as programmed without any chance of fraud, censorship or third-party interference.” As a development platform, Ethereum allows anyone to build and use applications that run on blockchain technology, with over 1,700 dapps available according to State of the Dapps.

Before Ethereum, dapp development required developers to clone Bitcoin’s code and painstakingly make changes to its encryption algorithms, consensus mechanism and other protocols to fit their needs. In contrast, Ethereum encapsulated the underlying blockchain technology and was specifically designed to enable more robust development ecosystems. It currently boasts a wealth of development frameworks, community support and other tools.

Dapps can also be developed on other blockchain platforms such as Bitcoin Cash and EOS. Each platform presents its own tradeoffs and existing user base that developers need to consider when developing their application.

Conclusion

As the blockchain ecosystem matures, dapps are likely to fall into three categories based on the type of underlying chain they are built on.

  1. Private chains. These applications will have a “Centralized + Intermediated” model, similar to that adopted by most mainstream commercial activities today. They have the largest scale and the most users. Examples include Amazon working with Paypal, and merchants working with banks to facilitate payment.
  2. Consortium chains. These chains will link economic activities between the blockchain and the real world, adopting a “Centralized + Disintermediated” model that will gain popularity as we enter the era of digital assets. Examples include popular blockchain-based banks and home-sharing services.
  3. Public chains. Applications will execute completely decentralized business models through blockchain-based smart contracts. These “pure” blockchain applications will be built for new economic models and embody the founding ideals of blockchain technology. For blockchain geeks who believe that almost all services will shift on-chain in the future, these dapps are the goal since they secure the privacy of user data. Several such dapps already exist, such as decentralized betting games that very effectively resolve the lack of transparency and trust between gamblers and the house, and also amongst gamblers themselves.

Chat.Chat is a social messaging platform integrated with a multi-currency cryptocurrency wallet and the Mini Dapp Platform, enabling functions such as Chat Pay and a decentralized application browser. If you’re as excited about the future of blockchain applications as we are, come join in the discussion and make a difference on Chat.Chat today!

--

--