To Blockchain or not to Blockchain?
How to decide whether a decentralized solution is the right one for you.
“To Blockchain, or not to Blockchain, that is the question: Whether ’tis nobler in the mind to invest in decentralized ledger technologies, or to take arms against a sea of troubles and by opposing the Gartnerian hype, end it?”
Such would (probably) be Hamlet’s famous speech, had it been written at the dawn of the 21st century. As PwC cites Blockchain as one of the eight most essential emerging technologies, and ICOs raise billions, it is all natural for this migraine-inducing question to spring in the minds of all business decsion makers:
Should we be investing in Blockchain Technology?
I aim to provide you in this article with a brief overview of some of the research I am doing at the Sutardja Center for Entrepreneurship and Technology at Berkeley, and with a framework to help you assess whether it is worth exploring Blockchain Technology as a potential solution to your problem(s).
But, what is a Blockchain exactly?
To better understand the framework we are about to discuss, it is important that you understand what a Blockchain is. There are great resources on the subject, and I encourage you to explore them. Meanwhile let’s first look into what a Blockchain is at its very core. If you strip it down from the hype, the buzz words, the glitter, what’s left?
A data storage system.
Nothing more, nothing less. That is, at its barest-bones, what a Blockchain is.
Then, why is everyone posting about it on my Linkedin feed?
Great questions young decentralized padawan. Although a Blockchain is just a way to store data, its inherent properties make it a very powerful and useful data structure in certain scenarios. Indeed, the data in Blockchains has the following properties:
- It’s decentralized: There is no central authority that decides what goes on or off the chain. It is decided by consensus among all the participants of the Blockchain’s network.
- It’s tamper-proof and verifiable: Nobody in the network can tamper with the previously entered records, and everybody in the network can verify that the new state of the blockchain was changed according to protocol.
- It’s replicated: Meaning everyone on the network has the same copy of the data.
- It’s time-stamped: Allows participants to know when the data was entered.
Although there are more intricacies to it, these are the essential properties that you need to know right now to understand the framework I am about to introduce.
Essentially, you can see a Blockchain as a ledger to which multiple people can append stuff, as long as they follow the rules of the network, while not being able to change any of the past entries.
So… where does a blockchain make sense?
Glad you asked. In general, a Blockchain makes most sense in the following scenario:
- First and foremost, -And this should be obvious by now- you are faced with a problem that involves data. Better, this data describes a state, and that state is bound to change.
- Next, your problem involves multiple actors whose actions change the said state. These actors want and/or need to append data/state changes to the database/ledger. Let’s call them “writers”
- However, amongst these hypothetical writers, there is no trust. Nobody has faith in each other to not tamper with the database, and they wouldn't agree to give everyone the right to edit the database.
- Finally, there is no third party all actors trust that could be the sole writer in the database, and that could guarantee its integrity. If there is such a trusted third party (TTP), it is either really expensive to use their services (*cough cough* notaries), and/or they are not always easily available (i.e. “online”).
If your problem requires all of the above, congratulations! It would be a good idea to look into Blockchain and start experimenting.
But what if all my writers trust each other, does it mean I shouldn’t use a Blockchain?
Yes. That’s exactly what it means, and here’s why: The main reason that justifies the enormous spending of resources and energy a Blockchain implies, is its ability to enable non-trusting parties to append/change the state of a database/ledger without the need for a trusted intermediary.
In the case that you have multiple writers that trust each other, or that have a natural incentive to collaborate, then you do not need a Blockchain. Given this, if you still need a verifiable, immutable and time-stamped record of state changes, then you should use a tool like Git. Otherwise, just use a classic shared Database like Oracle or SQL Server.
If you are a little lost, don’t worry, here is a visual framework that will help you assess whether a Blockchain is something you should be looking into:
Voila! You have now a framework to decide whether Blockchain technology is worth looking into. However, your journey doesn’t end here. Once you figured out that a decentralized solution might be suited to your problem, there are kopp?
Daunting, isn’t it? Don’t worry, at Causys, we are working on articles about these topics and we will publish them some time in the near future.
Sources and Suggested Readings
- Do you need a Blockchain? — Wust, Gervais, 2017
- Avoiding the pointless Blockchain project — Gideon Greenspan, 2015
- Blockchain for Business, Hyperledger Edx course
- Is Git a Blockchain? — https://www.linkedin.com/pulse/git-blockchain-dave-mercer/
- Do you need a Blockchain? Probably less than Wurst and Gervais think you do. — https://davidgerard.co.uk/blockchain/2018/02/10/do-you-need-a-blockchain-probably-less-than-wust-and-gervais-think-you-do/