3 reasons to avoid blockchain, and 1 very good reason not to
September 06, 2017 | Jan-Erik Sandberg
As an active member of the blockchain community and founder of Blockchain Rebels, I’ve noticed that many applications currently being built (with blockchain technology) would probably be better off using a traditional distributed architecture instead. And while there are certainly instances that call for the benefits of blockchain (which we’ll also discuss), most of the time you simply don’t need it. Here are a few reasons why that’s the case.
Executing transactions and contracts in blockchain implementations like Ethereum is ridiculously expensive. And don’t get me started on storage costs, if you think that blockchain is a suitable place to store your stuff securely, think again! Secure, fast cloud storage cost is already at a fraction of what it was a few years ago, and the cost gets lower every day. Meanwhile, storage in blockchains just keeps getting more expensive each day.
2. Speed of transactions
It’s vital to note that a transaction on the blockchain will always be slow. It’s built that way. Some solutions are faster than others; a Bitcoin transaction takes 10 to 15 minutes, while a Ethereum transaction will typically take just 10 to 15 seconds. Compare this to a traditional retail transaction in a POS system where a full transaction will take less than two seconds, and blockchain will fall short. Customers will not wait more than a few seconds before they’re annoyed.
3. No do-overs
Have you ever written a program without bugs and released it into the world? With blockchain smart contracts, you only get one chance of getting it right. Once your code is uploaded and mined, there’s no way to go back. You can, of course, release new versions of your contract and your contract can contain self-fixing code. But if you miss a scenario where your code can malfunction, too bad for you and your customers.
There are, on the other hand, several good reasons for blockchain development. I think that the most important reason is that blockchain technology offers something that simply doesn't exist with other technologies: The ability to create trust between people and organizations that have no prior relationship or even an existing mistrust.
In my opinion, that's it. That's what blockchain is good for. Of course, that immediate trust is nothing to scoff at. With blockchain, you have self-executing and enforcing contracts that can't be changed. Consider the following scenario:
Let's say you and I are investing in a building project together with 100 other people. We don't know each other, so we don't trust each other. In this situation, a smart contract could be created to receive our investment funds, payout to the contractors, and finally payout of the earnings after the building project was sold to a third party. Such a contract would require trustworthy third-party services on the blockchain. For example, a surveyor that would confirm the different deliverables from the contractor. A third-party service like the official governmental building ownership registers could be the source for when the building was finally sold to the a third party and could trigger investor payout. The contract would be open to all parties, and there would be no way to tamper with it. It would execute as described, with no trust between parties.
This is just one scenario where blockchain would work better than what other technologies currently offer. And my hope is that developers will put more of a focus on those scenarios, rather than using blockchain technology to redo existing aplications.
Want to know more and get started with blockchain development? Get productive right away with this Blockchain Fundamentals course.