Our goal? Making
This is part 1 of 2. Part two is focusing on How To Built a Blockchain with Mendix.
Blockchain is a very hot topic these days. A lot of people are talking about how blockchain will change the world. How it will be the next big thing comparable to the impact of the internet. If you say something like this, your post will immediately get a huge amount of likes. Almost nobody will question your statements.
The next time somebody makes a bold statement about blockchain ask them to give a few examples (besides cryptocurrencies) of successful enterprise blockchain projects where blockchain is adding real value. For a lot of the so called blockchain success projects blockchain doesn’t make a real difference or blockchain isn’t adding value and the issue could have been resolved in quite a few different ways.
When looking at the Gartner hype cycle, blockchain is currently just over its ‘peak of inflated expectations’. It still has a long way to go to the ‘plateau of productivity’.
Also very fascinating is that there are not that many hypes actually making it to the plateau of productivity. A lot of hypes will slowly fade away long before they reach productivity.
I believe blockchain is very promising and can be useful and helpful in a lot of cases. But will it change the world? Only time will tell.
So what is blockchain and why does it seem to be so complex? Because there is quite some talk about blockchain without understanding the technology it has the image of being very complex and abstract. To me it had that image as well in the beginning. It’s only people making it complex and abstract while the essentials are very simple and can be summarized in just one sentence: “to store data in a way it can’t be mutated”. That’s it. It just another way of storing data, so that it can’t be mutated. And yes, decentralized is a key essential of blockchain as well, but that’s more on HOW it’s done, the technical side of it and I will come to that part.
The value of the immutability should not be underestimated. Because that’s where we hit the core of the potential value of blockchain: we don’t need third parties anymore to be responsible to be trusted to store our data safely*.
For example: we trust our banks to store our data in a secure way. Banks need to take all kind of security measures to protect our data. In the end your banking transactions are stored in a database. How does the bank make sure there are no hacks possible where people can change their transactions? How does the bank making sure you can’t add fake transactions? Ensuring this safety is the main right of existence of these banks. So when technology can ensure this safety as well without a responsible party (like a bank) then we’re talking about real value. We don’t need banks anymore to secure our banking data. This is already reality at the moment with cryptocurrencies. There are no centralized third parties involved to keep track of transactions and balances.
The more complex part concerns how this immutable storage is done. But you don’t have to understand how it’s done to value blockchain and to make sense of it. There is a misunderstanding that you have to understand how blockchain works before you know what to use it for. But do you understand how the internet works? Do you know the details about underlying protocols like TCP/IP? If you’re not a technician you don’t need to understand HOW blockchain is working, unless you’re very interested.
This article will focus on a high level overview of how blockchain works. If you want, you can skip to the Wrapping it Up section which goes into (evaluation of) potential use cases for blockchain. A more detailed elaboration on the how (in this case with Mendix) can be found in our second part.
*Actually blockchain does make use of third parties. A lot of them forming a network. But the key difference is that the network is in control instead of having to trust one single organisation.
Think about it as a real life chain. Every chain link is like a block, linked to its previous chain link and linked to its next chain link. You can’t remove a chain link without breaking the chain.
You can explain almost all the blockchain concepts just by this chain:
Instead of one database at your bank’s datacenter, this chain of blocks is now replicated all over the world. This is necessary to guarantee that no changes to the chain can be made without anybody noticing. Back to the real life chain example: imagine you’re the only one keeping track of the chain. Now you are able to remove a chain link, and glue the two parts back together and no one will ever know. But what if 10 other parties are keeping track of the exact same chain? Now you can’t remove a chain link anymore because it will get out of sync with the other chains.
In the example of cryptocurrency bitcoin, thousands of computers are keeping a copy of the bitcoin chain (database). This chain is currently 170GB and rapidly growing. This rapid growth brings some other challenges to the table as well which won’t be addressed in this article but that cryptocurrencies developers have to think about.
There are a few types of blockchains that you as an organization can make use of which will be explained briefly.
Single blockchain. In this case your organisation is running the only copy of the chain. There is no replication. This has no value at all as described earlier, because data can be changed without anybody noticing.
Private distributed/replicated blockchain. Solutions like IBM Hyperledger provide your organisation with an infrastructure of nodes (computers) to replicate the blockchain. This solves the main issue with a Single blockchain. Note that a blockchain is not public by definition. You can run your blockchain on Hyperledger without exposing any data to the public. Note that this solution will still make no sense if one organisation is running all the copies (replications) of a private replicated blockchain. Essential for the trust is that multiple parties are involved, that will create common trust.
Public replicated blockchain. Cryptocurrencies are good examples of this. They run on public blockchains. If you want you can download a copy of the bitcoin blockchain (with all the transaction data) today. Public blockchains will mainly be used for data that is publicly available*. To store your data in a public blockchain you won’t need to create your own public blockchain. For example, Ethereum is a blockchain that you can make use of to store your data in a public blockchain. The main benefit when using Ethereum or a comparable platform/technology is that it is already replicated on thousands of locations so you don’t have to worry about that. The disadvantage is that you have to pay an amount of Ether to get your data into the chain. This cost is not really a fixed amount since there is no third party. It’s like supply and demand. The miners (who are putting your data into blocks and into the chain) will only mine (work) for money, this makes it risky to rely your entire business on a public blockchain.
*Note: with encryption it’s still possible to store private data in a public blockchain.
So now you understand what blockchain is and you know the essentials about the how. Now you know enough to identify potential use cases for blockchain. To finalize this part of our article we’ll summarize with a few key questions that I and my colleague Pim van der Noll came up with that should be asked whenever somebody tells you to solve your problems with blockchain:
I realize that it still might be hard to identify use cases for blockchain. Remember that we still have a long way to go before blockchain will make it to the platform of productivity according to Gartner. But with these questions you can challenge potential cases. We did this for our customers and we identified quite a few cases actually, ranging from storing and tracking authenticity certificates for customers like Aurum Brothers (high quality bracelets) to putting financial transactions in a blockchain for customers like Collin Crowdfund.
And ofcourse there are some really good examples beside crypto’s of successful enterprise projects. Not as much as you would expect, but this market still has to evolve a lot. I’ve seen some good cases within the logistics and supply chain where companies like Shipchain are active. Another recent example is Samsung who announced to support her supply chain with blockchain. Those cases match our questions perfectly: transactional data (movements of goods/assets (track&trace), stock mutations, ..), multiple parties with a common interest (there’s are a lot of actors in a supply chain) and they want to create common trust without a third party.
I hope you enjoyed reading this article. Don’t hesitate to contact me to talk more about the challenges your organisation is facing and if blockchain can help you with that.
The second part of this article will elaborate in detail on HOW a blockchain works based on a Single Blockchain implementation for demonstration purposes.