Why you don’t need blockchain?
15 minutes of reading
An explanation of why it doesn't always make sense to follow new trends without prior business and technical justification.
Short story time
Blockchain is a concept that was first described in 1991. At the time, it was about storing documents and monitoring their changing states over time. In the same period, the idea of grouping changes into groups, which we now call blocks, was born.
The first blockchain-based solution where we can talk about "adoption" is Bitcoin - a digital currency whose white paper was presented in 2008, while the public launch took place in 2009. A few years later, in 2015, the public Ethereum network was launched. It introduced the possibility of creating network contracts (the so-called smart contracts).
Ethereum has helped create an avalanche of services (or actually ideas of services) that can successfully operate within the public blockchain network, which gives them a huge advantage, such as independence from a central authority that everyone has to trust. It has also helped create a huge set of services that can be characterized with one major drawback - they are completely meaningless.
Why is that? We'll talk about it in detail in a moment, but for now let's find out what it's all about.
How the Blockchain is built, in a nutshell
Don't worry, our purpose o is not to delve into technical issues. However, before we go any further, you should understand some basic blockchain assumptions, which we will try to explain with a few simple analogies.
The most basic form of blockchain can be shown in the following way:
In the diagram above, we can see some basic elements:
- Change - informs about a each and every change in the network,
- Block - it is a collection of several changes which are packed into one box,
- Arrow - it is a string which is used to connect the boxes,
- Signature - is a stamp that is applied to the box after it is closed.
We assume that a closed box cannot be opened to add anything to it. It is possible to only preview its contents. We aren’t also able to untie the string from it. If anything were to change, we would have to take a new box and rewrite the changes into it, and then do the same with each box that we packed later - so that it could be joined with a new string.
An addition to all this is the fact that changes do not have to be simple at all - we can define the rules by which they can be created and processed and generate new changes automatically (this is a mechanism in which smart contracts work, however we are not going to focus on them here).
Let's answer the question of how merely storing data in this way can increase security? Where is decentralization of services, data encryption, high availability hidden in all this? The answer is this: It doesn't increase security and there is no room for decentralization. How is that even possible?
It can be said that blockchain in its assumptions is a form of a special purpose database (it should not be treated as a replacement for SQL or NoSQL databases), where:
- Once a change has been introduced and accepted, it cannot be overwritten. You can make an update to such a change (but then it is new information created later),
- Users of that database can be sure that nothing has changed in the history, and even if it had, it would be clearly visible (anyone could see if someone had tampered with boxes and strings).
But what if I were the only person in such a scheme to build these boxes, make changes in them, and tie strings? Would anyone besides you even care what happens to all that? Does the blockchain serve to protect me from myself?
Public and private network projects (when they involve more than one organizational unit or organization) add elements of cryptography to these assumptions, and in this way ensure that all participants trust themselves. Thanks to the blockchain, these actions are also possible in a widely branched network.
The rush to use blockchain. Where is it coming from?
New technologies and business opportunities are attracting investors lured by quick profits. The skyrocketing of digital currencies has led to the frequently associated buzzword "blockchain" evoking curiosity and admiration wherever it appears. Was it not the similar case with internet websites at the turn of the 20th to the 21st century?
I don't want to be misunderstood at this point - there are many applications for which blockchain networks are an ideal solution to existing obstacles. These are all kinds of financial systems (including stock exchange), regulatory systems (e.g. notary approvals, signing documents) or even simple games (yes, there is a part of the internet that is meant for cats and blockchain can do that too). Closed-loop enterprise systems also fall into such categories, as long as they have at least several different organizations or independent branches (we'll get to that in a moment).
However, we often find situations where blockchain is used only for the keyword itself or as a general starting premise. Companies solicit funds for development by using "blockchain" as a differentiator and indicator of value, without always having the knowledge and idea of how this blockchain can actually be used and whether it will receive business justification. This is when technical issues arise by complicating the project under the guise of an advanced technology.
What are the benefits of blockchain? How can it be used?
Okay, on one hand we say blockchain is good, on the other hand it is not. So what does it look like in the end? Let's talk a little bit about its advantages.
The diagram in which we have shown the simplified structure of Blockchain is quite a simple representation. As mentioned earlier, only building a network of computers working with blockchain makes sense and brings measurable benefits. What does the process of implementation look like?
First, let's assume that we are talking about a blockchain network, which means more than one computer storing a complete copy of the chain.
Let's also assume that each of the network participants can make changes to it within their own machine. All such changes are synchronized with the others. The individual updates thus prepared are then collected in packets and signed (blocks are formed), and in the end the network synchronizes all the blocks with each other.
It is important to understand these assumptions before going any further.
What are the advantages of the blockchain network in such a scenario?
- Each participant in the network has a copy of the blockchain, thanks to which it is possible to recover lost data in the event of a network failure;
- Network participants can (or even must) create a protocol in which they specify what kind of changes can be published on the network. This allows them to share data and build systems so that they can understand and cooperate with each other. Importantly, not all participants are required to publish online - some may be given read-only access, which is still valuable;
- Each participant has access to the history, and the more of them, the more difficult it is for the history to be altered inappropriately modified (e.g., by an attack);
- There is the possibility of building dependent systems that develop the capabilities of each service through a history that is open to all participants. There is no need to define separate protocols and provide programming interfaces within individual services.
There are many solutions on the Polish and international market that successfully use these advantages and for which the Blockchain is a real asset. Let's mention just a few of them:
- The emerging GPW Private Market and Reisemana - tokenization of shares and crowdfunding;
- NeuFund - tokenization of shares in companies;
- DoxyChain - signing contracts remotely;
- UniSwap - a token exchange, fully decentralized;
- Identity - identity confirmation
Are there other blockchain projects and applications not listed here? Of course there are. We have selected only some of the best examples from different categories. There are numerous blockchain applications. However, to be successful and useful, they should have one important feature - their goal should be to create a network. It can be public or private (limited to selected entities) and should consist of more than one instance at a time.
What disadvantages should be taken into consideration?
Network, network, and once again network
Blockchain needs a network to function optimally, and that can be seen as a relatively major drawback.
For enterprise-level projects that have very limited rules for sharing data with others, networking will be a major obstacle. Making decisions at this level is not in itself an easy or quick process - finding business partners requires a strong market position and can prove to be a time-consuming process.
The alternative is always to have a network that someone has already prepared and that allows you to create solutions tailored to your needs. These are public networks that support the operation of smart contracts, such as Ethereum or the promising Polkadot. These networks are supported by their communities and maintained by thousands of nodes with enormous computing power behind them.
It's not a good idea to use blockchain in a situation where we don't plan to build the entire network.
Before adding a new batch of data to the blockchain (i.e., creating a block), the network must somehow come to a common opinion by determining which operations are correct and which are not (e.g., because they were not created according to the applicable protocol).
The process of reaching consensus may be faster for networks of limited size, and may take slightly longer for larger networks. It need not be resource hungry in any way (there are already other solutions than the one used in Bitcoin Proof of Work). However, it will never be the case that an operation is written to the network immediately, so systems must be built to handle this situation.
Blockchain systems must therefore be prepared for asynchronous processing of operations, which may end up being an architectural advantage.
Need for a disk space
The idea behind the blockchain is to allow as many network participants as possible to keep a copy of the blockchain. As we have already noted, this could be beneficial from a security and decentralization perspective, but at the same time would often require large storage space.
There are several solutions to this problem, and they can be based on choosing an appropriate amount of data to actually store on the chain. Perhaps you don't need to store a full copy of the data in it, but only basic metadata.
There are many digital currencies whose operation is based on the blockchain with dedicated chains. Some of them are proprietary solutions (Bitcoin, Ethereum, Stellar and others), while others are clones that introduce minor or major improvements and changes (Litecoin, Bitcoin Cash, Bitcoin Gold and others). The source code of most digital currencies is available and can be freely used and modified.
But let's face it - if the goal is to create a new currency based on the existing one (something like "Bitcoin, only faster"), then this is no longer the time or place. The year 2018 (is a great example of why you should be careful when someone pushes you to do this.
Digital currencies have evolved significantly since Bitcoin was created. Simple currency clones won't work in the marketplace unless there's something more to it (e.g., unless it's a form of tokenization of shares in an organization, tokens that work within one of the networks will suffice for this purpose).
Facts and myths about blockchain
Blockchain is used to encrypt data. MYTH
Typically, blockchain networks use elements of cryptography, thanks to which it is possible to confirm the identity of participants, but the blockchain itself is not used to encrypt data. You can't "encrypt something with a blockchain".
Information in a public blockchain cannot be edited. FACT
Blockchain networks are built in such a way that information can be changed by events. Direct editing of historical data is not possible. This works especially well on public networks where changing past data would bifurcate the entire blockchain structure. You can try, but most likely the changed version will not survive online.
Blockchain is slow and requires lengthy operational processing. MYTH
Of course, it all depends on the type of blockchain, and in particular how you build consensus on the network. It's hard to make a general statement here.
The blockchain network is a secure space for storing information. FACT
This statement is true if we consider a blockchain network with at least a few nodes.
Blockchain is perfect for any application. MYTH
This whole article aims to provide an explanation of this.
Bitcoin will only get more expensive ?? Who knows :)
So, do you need this blockchain or not?
The purpose of this consideration was not to criticize Blockchain. Blockchain is certainly a technology that will evolve and on the basis of which many services will emerge that will have a significant impact on the world.
But let's not go to extremes. It is absurd to build services where the only use of blockchain is to ... Obtain funding in the form of grants or investments because such a key word just appeared in the requirements. It is equally absurd to use it only to comply with laws, without the business behind it and the real security of the stored data - in other words, without building even a small but meaningful network.
There are many organizations that build their operations on a blockchain with a technical justification. These companies are verified and have a community or form a consortium of companies. However, before you introduce blockchain into your project,you should find arguments to confirm that blockchain makes sense for your service. Otherwise, it might be worth considering using other solutions available on the market?
If you want to find out how Blockchain can be used in your case and whether it makes sense, we invite you to consult us. A CTO from your company will certainly help you with this question as well (but hey, do you really need him?).