Blockchain is a new and promising technology with both pros and cons. The term “blockchain” has become very popular and some companies have started to announce their blockchain initiatives as a form of marketing. Some proponents of blockchain believe that every company should be using blockchain. Both of these trends have led to blockchain sometimes being overhyped and misapplied.
It is important to understand what makes for a good blockchain application.
Today, cryptocurrency is the key application of blockchain. Bitcoin is built on blockchain and would not exist without blockchain. Therefore, cryptocurrency is a good place to start when trying to understand why it has continued to grow as a successful blockchain application. Bitcoin is a form of peer-to-peer electronic cash that has internalized the role of account management and transaction validation to the network of Bitcoin users.
Blockchain can be applied in many areas other than cryptocurrency. Supply chain management is an area where there has been extensive exploration of blockchain applications. Even applications built on public blockchains often provide functionality well beyond the purpose of “money.” Decentralized finance (DeFi) is a blockchain application which provides features like trading, borrowing, and lending. These features are like financial services applications that rely on blockchain rather than financial institutions.
To understand the pros and cons of blockchain, we need to remember the characteristics of blockchain and the implications of those characteristics for using blockchain as a technology. Blockchain is a decentralized and distributed approach to sharing information among a network of users. You can think of cryptocurrency as a system for sharing information related to the amounts of value held in an account at any point of time. The pros and cons of blockchain are closely related to the benefits and costs of this approach to sharing information.
Thinking of blockchain as “sharing information” highlights that there is a role for two or more parties. If a company wants to explore the use of blockchain, it needs to consider this issue carefully. When data is only created and used internally to the company, there is no existing process for sharing that information externally. This type of information is often best managed using some form of internal management information system (MIS) like Oracle or SAP. An information system managed by the company is the best solution when there is no need to coordinate on that information with other parties. Blockchain is best applied when two or more parties need to share information among the parties. This is often referred to as the “business network.”
A good first step in considering a blockchain application is to think about the potential network of users. Who would be interacting with this service? You want to provide an application that will have value to the network. These users should directly benefit from being able to interact with the shared information on the blockchain.
Decentralized applications (dapps) are the new alternative in a world of traditional smart-phone applications. There are “apps” being developed and launched on app platforms every day. This raises the question of why someone would want to develop and launch a decentralized app. The answer to this question basically comes down to answering the question, “Why share information in a decentralized and distributed manner?” This means that users of the application should somehow benefit from the application being decentralized and distributed.
Let’s consider some of the pros of sharing information in a decentralized and distributed manner. Here are a few:
- Transparency. Every user can view the ledger of transactions.
- Information validity and security. The information on the ledger has been validated by the network and is immutable.
- Data control. Users control their own data and can interact with dapps without giving away data.
- Disintermediation. Blockchain functions as a peer-to-peer without costly and sometimes vulnerable intermediaries.
- Automation. Smart contracts can provide a clean and automated functionality that does not require third-party management.
Let’s consider some of the cons of sharing information in a decentralized and distributed manner. Here are a few:
- Transaction costs. One of the key concerns on the Ethereum network right now is the high transaction costs.
- Transaction speed. Similar, slower transaction speeds can be a barrier to timely and efficient transactions.
- Account traceability. All transactions on a public blockchain by a given account are traceable, which could have negative implications in the future.
- Low useability. One of the impediments to adoption of dapps is the high learning curve for learning how to use a wallet for interacting with dapps.
When considering the development of a potential decentralized application, a team should weigh these pros and cons. Blockchain should never be a hammer looking for a nail. Blockchain applications should take advantage of blockchain’s unique characteristics to provide value to the network of users in a way that traditional apps do not.
Here are the questions you should be answering when working on a decentralized application:
- What is the service being provided?
- What is the basic structure of the smart contract that provides this service?
- Is there a token involved? If so, what is its role?
- What persons or institutions would be using this smart contract?
- What framework (e.g., Hardhat or Truffle) would you use to build, test, and deploy the smart contract?
- What would be the benefits to the user relative to comparable centralized services?
- How do the benefits tie back to the characteristics of blockchain?
- How will you demonstrate use of the decentralized application (e.g., tests or front-end)?