Building a good case of blockchain use from scratch

Building a good case of blockchain use from scratch

For those who are not yet familiar with the basic principles of how blockchains work, I recommend reading the article “Blockchains, Cryptocurrencies & the New Decentralized Economy: Part 1 – A Gentle Introduction” written by Blockchain at Ashley Lannquist of Berkeley last year.

For those who are familiar with the subject, we can begin to dive into the basic capabilities of blockchains that can be applied to create meaningful use cases.

Distributed Ledger technology framework

With distributed ledger technology (such as blockchain), users can create database environments where  multiple  mutually distrusting users   can exchange values ​​or append records without a central coordinator.

By combining the concepts of cryptography and game theory, block chains eliminate the need for trust in a system, which ensures that users can interact transparently with less dependence on third-party authorities.

This inherent “decentralization” of blockchain systems is important, since it eliminates the negative effects of the central points of failure: security breaches, network downtime or interruptions in the network. In addition, as long as the security and vitality guarantees are intact, the block chains will eliminate the networks of censorship of transactions or malicious actions of unreliable actors.

These distributed accounting systems have already been successfully implemented in fields such as “Finance” or “Dispute Resolution”, where historically the parties that carry out transactions have had to rely on a central authority to supervise the transaction data and ensure that they are complied with. the previous agreements.

Companies like Hyperledger have created blockchains of private companies designed to decentralize these transaction ecosystems, supporting the global business transactions of the main technological, financial and supply chain companies. It is important to keep in mind that these implementations are exceptional, not ordinary, uses of blockchain technology, as evidenced by the fact that 92% of blockchain-based projects have failed to date.

Below is a flowchart that acts as a checklist for those looking to implement a blockchain solution, as well as a schema on the steps we need to consider before making the leap to Distributed Led Technology (DLT). ).

A checklist when deciding on a case of blockchain use

1. Database

First of all, when we try to establish a case of blockchain use, we must ask ourselves  if we have a database that is fundamentally safe in all endpoints  .

If we try to implement a chain of blocks in a system that is susceptible to alteration or alteration of the outside world, we lose the ability to have things like distrust and decentralization in our system, which results in a relatively limited use of a blockchain.

An example of this type of problem can be seen in use cases such as “Blood Diamond Tracking”, where companies use blockchains to track the flow of legal diamonds along a supply chain from producers to consumers. Although a chain of blocks can be a good solution for tracking the transactions associated with that diamond, the solution still places great trust in the employees or nodes that are entering these diamonds into the blockchain system. In this case, the “endpoint of the database” is not secure, which generates trust problems that plague the use case of blockchain.

2. Transactors

The next most important question that must be asked   before using a blockchain is  whether or not there will be several parties coordinating actions in our database  .

If our database does not require coordination among a large number of interested parties and can work with the use of a key “writer”, then we should use a centralized database. Block chains are, by nature, “distributed accounting technology” and, if it is not necessary to “distribute” the ownership of the database, then we should use a different data structure.

This point, as simple as it is, is often forgotten in the process of building a case of use of quality blockchain. In fact, centralized software such as Oracle Database or MySQL has much more robust transaction infrastructures than existing decentralized blockchain systems, which means that we should only use DLT if decentralization is absolutely necessary for our project.

A case of centralization

A classic example of where centralization tends to make more sense is the use of existing technological giants such as Facebook or Google, which administer Exabytes of user data.

Although it would be good for Google to be able to decentralize its user transactions, a case of blockchain use does not make sense. This is because it is much easier to track information in a centralized system, where all the information passes through a single point.

Centralized systems are fundamentally capable of having much more cohesive internal integration than decentralized systems, and as a result, they are much more likely to capitalize things like economies of scale than DLTs. In fact, Google products, such as Gmail, can only have features such as “smart spam filters” because Google can easily see almost all emails.

3. Trust

After determining whether or not centralization is important for your use case, it is crucial to ask  who we should trust in order for this system to work  and  what would happen in the result of the breach of trust.

In any centralized system, malicious action can take shape in a variety of ways. A central authority can not only try to edit existing transactions, but can also withhold information, report inconsistent transactions through the network or censor users so that they do not access specific transactions. If there is any incentive for a central authority to take these measures in our existing system, we should at least consider implementing a security measure such as blockchain in our use case.

If trust between users is not a major problem, then one can simply use a distributed database, in which each user maintains a copy of the database and can edit and update the state of the database as want. This is much easier to implement, since the blockchain security features such as “Byzantine Fault Tolerance” (resistance to alteration and inconsistency) will not have to be considered.

Photo of Samson Duborg-Rankin in   Unsplash

It is also important to bear in mind that there are ways to use blockchain systems that combine concepts of centralized databases, distributed databases and distributed ledger technologies.

The ”  Authorized Blockchains  ” are an example of this concept marriage, which combines the centralized authorization of users with a decentralized blockchain transaction ecosystem.

By having the ability to control the allowed users in the blockchain network, we can decrease the likelihood of malicious action and increase control over what the system is trying to manage, creating a system that does not require so much fault tolerance, security, and maintenance as a traditional “Public” block chain.

The disadvantage of this blockchain structure is that it is much less “unsafe” than public block chains, since users still have to place their trust in the authority granting the permits, as well as in the consensus mechanism that use the system.

The JP Morgan Quorum is a great example of a permitted blockchain use case, as they have created a product that enables the financial industry with high-speed transactions (from dozens to hundreds per second) by taking advantage of the reduced need for BFT that makes transactions between the allowed set of users allows it.

4. Disintermediation

Before embarking on a use case of blockchain, it is also important to determine  if disintermediation is necessary  for our transaction system.

If our pre-blockchain solution is subject to high intermediary rates or confirmation delays, blockchains are a natural option to streamline this process, reducing costs for all users.

If disintermediation is not essential to our transaction system, it is much easier to assign the task of verifying transactions to a central intermediary or authority, eliminating the need for validators distributed in the blockchain network.

A great example of a use case that uses disintermediation at the moment is slock.it, which has built a digital business around the concept of creating smart contracts for individualized IOT devices, eliminating the need for human intervention or adjustment. With the technology of slock.it, any IOT device can have its own identity and can enter into complex agreements (including the agreement to receive payments), all without using intermediaries.

5. Transaction dependence

The last question we must ask ourselves before implementing a blockchain use case is  whether our transactions depend on each other or not.

Transaction dependence is a characteristic that can be seen in all types of database systems, particularly in multi-user systems that involve numerous parts or systems that involve the exchange of assets or goods (such as real estate or retail, for example ).

If our transactions do not need to interact with each other, it is much more effective to use a “master / slave” database structure, in which a “master” node acts as the champion of the validation and approval of a certain subset of transactions that “Slaves” nodes do the work of carrying out.

If our transactions depend on one another, it is quite difficult to determine how to distribute the corresponding transactions among the master nodes, which results in the need for something like a chain of blocks to alter the collective status of the database.

Blockchains also offers atomicity (the ability to avoid partial updates to a database) to its users, ensuring that transactions that are contingent on each other will be executed immediately without the possibility of cancellation or alteration in the exchange. This ensures that wealth will not be created or destroyed as a result of any complicated transaction structure in the system.

Summary

Congratulations, we are now on track to build a case of proper use! Despite the opposite tone of this article, there are actually numerous applications of blockchain technologies that can greatly affect existing transaction systems for the better. However, before becoming one of these applications, it is important that we ask ourselves what   our use case needs before deciding on blockchain as the appropriate solution.

If we are able to progress our way through the flow chart above in the photo we are on the right track to have a blockchain use sound case, which increases our probability of becoming one of the  8% of blockchain projects that will be able to endure the test of time.