Blockchain enables building decentralized applications in a way that has not been possible before. This makes me — and others excited by this new technology — think continuously about the applications that can really benefit from this new decentralized infrastructure. As many blockchain enthusiasts know, there are not many clear cases where building a blockchain-based application would be superior to building an application using existing technologies such as cloud computing and web 2.0. The reason for this can be grouped into:
(1) Blockchain-based apps incur high overhead: To build a decentralized application on blockchain, you must be prepared for both the monetary cost of deploying and running smart contracts as well as the performance overhead as the latency to interact with smart contracts is high.
(2) Does blockchain bring a clear benefit to the application? Compared to other technologies, blockchain offers unique features such as decentralization and a natural coupling with monetary (cryptocurrency) functions. However, are these (and other) features of blockchain important for the users of some applications we consider?
Some time ago, I started thinking of messaging as a blockchain-based decentralized application. Would messaging be a good application in this domain? There is no doubt that messaging is one of the most widely used applications nowadays, across services such as WhatsApp, Telegram, Signal, and others. This is in addition to applications that have messaging as an integral function in their operation, such as online social networking applications. The question I ask is whether the existing (non-blockchain) structure of messaging apps is enough for consumers, or is there a potential for some users to find benefits in a blockchain-based messaging app?
To answer this question, let’s take the two points above on how to evaluate whether a blockchain-based app can be superior to traditional (cloud-based) apps. First in terms of costs involved. Messaging is an inherently decentralized/peer-to-peer-type application. When I want to message a friend, it is sufficient for my message to go straight from my device to their device. In fact, this is how many existing messaging applications operate today. This means that the majority of the operation of a messaging app is performed between the devices of the users (outside of the blockchain). This means that the costs involved are reduced. Operation on blockchain can be limited to being the address book of users.
Although this means that the core of the messaging app may not incur significant cost/performance overhead, this is only the case if we are willing to forgo some nice features that cloud-based messaging apps provide us. One feature is the ability to store messages on users’ behalf to make the delivery of messages more reliable and efficient. This, however, is not necessarily a fundamental problem or limitation to blockchain-based apps. Currently, there is significant progress in off-chain and layer-2 solutions that may enable supporting such functionalities without threatening the decentralized nature of the blockchain-based application (This is another topic that I may expand on in a future blog post.)
The second point to consider is whether blockchain offers a unique advantage that would incentivize (at least some) users to switch to a blockchain-based messaging application. Let’s see some of the unique aspects of blockchain and whether they are relevant to messaging apps. The first aspect is “decentralization”; the absence of a centralized entity to control the application beyond the deployed smart contracts. Messaging apps — similar to online social networks — are the topic of continued debates about data privacy and protection. A centralized entity that controls the messaging application is likely to find ways to profit from such control. The common way nowadays is through monetizing users’ data, through ways such as ads and selling to third-party companies. Decentralization can be a way to avoid such monetization of data. However, it remains unclear whether a significant percentage of the population would care about this issue enough to leave traditional (non-blockchain-based) messaging apps and accept the possible shortcomings of decentralized applications. Furthermore, centralization is actually desired in certain situations. For example, a centralized entity that can help prevent and control spam would be welcomed by many users.
Another advantage of building on blockchain is the coupling with cryptocurrency which may enable an easier way to exchange payments. In the context of messaging apps, this may offer an opportunity to build messaging apps that would have the functionality to send/receive payments without extra steps and integrations. This seems to be a feature that is anticipated by many users and several existing messaging and online social networking applications have already integrated or started integrating payments into their platforms. Whether the stronger coupling of payments in blockchain-based applications would make such integration easier and more natural for users remains to be proven as blockchain-based applications gain more adoption.
From a high-level view, there are some unique properties in blockchain that may make a decentralized messaging app attractive to a segment of users. In the blog, I mention some of these reasons as well as why they might not be strong cases for adoption. We should not think of these reasons as ones to prevent us from thinking about this further. Rather, I see them as a collection of goals to try to overcome in the quest of building blockchain-based messaging applications. The recent advancements in off-chain solutions, usability, and web3, may provide the infrastructure that would bring out the benefits of blockchain-based messaging apps.