You ain’t gonna need blockchain
Since you’ve come here you probably wonder if there are problems for which blockchain is not a magic solution, or maybe it is just a temporary trend, a curiosity? Blockchain technology has been used many times in the wrong way. Sometimes as a buzzword to hype up the solution. In the article, I will try to show you when you should avoid it. I’m not going to discourage you from this technology. I consider blockchain as valuable for certain implementations and consequently, I work as a Blockchain Developer.
Why you ain’t gonna need blockchain?
Developing the thesis set out in the title of this article, I have prepared for you a list of assumptions that may disqualify blockchain as a solution. Analyze them point by point in relation to your project. If it turns out that your system fits into some of them, I think you don’t need blockchain. I also invite you to contact Pragmatic Coders, and we will definitely help:
No database or limited data
Let’s start with the most trivial example. If your project does not provide persistence of data or the data will be changed very rarely, then the use of blockchain does not make sense. Remember that blockchain is a kind of database that assumes continuous “build-up” of the state
System users do not directly influence the data collected in the database
Imagine you have a system that is a music library but all the content is added and administered by people from your organization. Users who listen to music have no influence on what is in the library. Blockchain will not find an application in this case.
You supervise the entire system. Other organizations are not involved in your process.
Continuing the previous example – if the system administration is not distributed to several organizations (e.g. it could be for legal reasons), it means that you have full trust in the system. Blockchain finds its application where trust ends.
Large amounts of data are stored in the system
Let’s continue music library example. This system contains a huge amount of data, persisted somewhere in the cloud. This is a perfect example for our considerations, because we should not even think about storing such data on blockchain. Even assuming that sending such data would be possible, this would make such blockchain impractical. Every node in our network would have to keep a copy of this data and block production would not be the fastest either.
Is blockchain the solution for your challenge?
You already know the strengths of blockchain technology. I have also presented you with some examples where, in my opinion, this technology will not be used. Time to sum up – I will try to give you the right mindset that you should have when you think of blockchain as a matching solution. Let’s think together if you could use them in your project and how to do it?
Blockchain as part of the business mainstream
I can see that many startups want to use blockchain, because this makes their solution perceived as innovative. Large amounts of money are spent both by governments and investors. I would like you to remember this and carefully choose the solution to your problem. Perhaps your project is a flagship example of a blockchain project, but you should consider alternatives.
If you have reached this point, then you have certainly answered yes to the above question. Time to plan how to use or implement blockchain in your project.
As responsible for the project, you should have a sense of business value that it brings. It is worth focusing on implementing such value, perhaps in the form of simple functionality, as soon as possible. This will allow you to check the design assumptions and probably acquire a group of alpha users that will improve the product development process. Getting first feedback or even starting marketing, can be very valuable in the early stages of the project.
From my own experience and those working with me, I can advise you not to immediately take the burden of own and / or private blockchain. The solution that I would consider in the first place, is to use the benefits of public blockchains such as Bitcoin, in particular Ethereum and the smart contracts present there.
Thanks to them, you can quickly and cheaply implement the first functionalities of the project and show them to the world. In addition, you don’t have to maintain a network and make it much easier for users to use your product. Perhaps at this stage it will turn out that this will be enough.
The real scenario, however, is that smart contract will not meet your requirements or publishing your data in public space completely negates this idea. If you’ve reached such conclusions, you already know how to work with blockchain. This is a valuable lesson and the time you spend taking the first steps will definitely not be lost.
Custom blockchain will be the natural direction for your project to develop. However, you must know that it will require a lot more work depending on whether you decide to design the solution from the beginning or use available implementations. At this point, it’s worth spending some time analyzing what is available on the market? Many companies that create a private blockchain use Hyperledger, while others use copies of networks such as Ethereum, Stellar, Bitcoin to create their own although public blockchain.
The aforementioned amount of work required is primarily related to maintaining the network, many tools to facilitate the use of blockchain (wallet, explorer, mining pool) as well as marketing and encouraging new users. The benefit of having your own blockchain solution will be above all greater technological capabilities – the way blockchain works will be your choice; and in the case of a private blockchain – control over who participates in the network and what data is publicly visible. However, you must decide if it will help you develop your business vision.
You should also remember that your own public network, especially in its immature stage, may be at risk. There are often network participants who want to harm it in order to achieve smaller or larger benefits. To defend against this, you need to properly design the rules of the network.
Thank you for reaching the end of this article. I hope it has helped you understand what blockchain is and when to use it. In short, let me also advertise our team at Pragmatic Coders. We have been working with blockchain for several years, which translates into extensive experience with this technology. We implemented projects with different levels of complexity, ranging from simple smart contracts in the Ethereum network through large projects based on many smart contracts and external applications to our own blockchain. I would like to invite you and your team to contact us and we will certainly help you build your business vision based on blockchain. Hardships and threats associated with this technology will be identified early enough and taken into account when designing your solution.