Understanding what is the blockchain can be difficult when first approaching the subject. A second challenge is understanding its relevance beyond cryptocurrencies and potential use for the enterprise. This article seeks to give a high level overview on what the blockchain is and how it could be potentially useful tool to businesses.
How did Blockchain come about?
Blockchain technology was invented in 2008 when Satoshi Nakamoto published a proposal for a Peer to Peer electronic cash system. Some mystery is added to the exact origins of the technology since Satoshi has never been identified and the name is likely to be a pseudonym for a person or group of people.
The Blockchain system that was proposed was a distributed ledger that allowed transactions to be recorded in a verifiable and permanent way between non trusted parties.
How does it work?
The best way to understand the blockchain is to run through an example of a transaction, we will use the Bitcoin network since it is the best known example of a blockchain.
- Transaction – A Bitcoin user spends Bitcoin, this is recorded in a transaction.
- Blocks – Many thousands of transactions are occurring on the Bitcoin network, these individual transactions are grouped together and written into blocks every ten minutes.
- Hash – Each block has a unique hash based on its content i.e. the transactions in the block.
- Blockchain – As blocks are written they contain not only the transactions that have occurred but a link to the next and previous block. The link refers to the blocks unique hash, this chained group of blocks is called a blockchain.
- Distributed – The blockchain is not held on a single system like in traditional IT but distributed across thousands of nodes across the world. Nodes in the Bitcoin network race to solve a math problem and become the first to add the next block to the blockchain. When a node is first to add the next block it broadcasts the solution to its neighbours which in turn broadcast it to its neighbours, thus propagating it across the entire network. This enables all nodes to have a record of the same blockchain.
What are it’s Properties?
The design of the blockchain leads to have some unique properties:
- Trustless – Blockchain has solved the challenge of transactions between trustless parties. Today we rely on institutions such as banks to ensure that every one plays fair in a transaction, blockchain removes the need for middlemen.
- Decentralized – Blockchain systems are distributed across many nodes removing single points of attack and public blockchains do not require control by any one body, the architecture and code act as arbitrator. Code is law.
- Immutable – Since each block is written with a unique hash and then linked to the previous and following blocks the vast computing power that would be required to recalculate an entire chain of blocks makes it immutable. The longer the chain the harder that it is to change.
Potential use cases?
Blockchains allow trust without trusted parties which becomes increasingly important as more transactions take place across the internet between untrusted parties at distance. But it is not just payment that blockchain is useful for, every asset you can think of cars, houses, land, software, artwork can be registered tracked and transferred via the blockchain. Some examples of companies currently using the blockchain:
Walmart supply chain management – As food products are transported to store they must go through several hops from producer to store, each step along the way the food could spoil if not managed correctly. Blockchain allows the journey to be tracked between untrusted parties, and the results stored in an immutable form all have access to. Walmart are working with IBM to deliver their blockchain solution.
De Beers Diamond tracking – De Beers are using blockchain technology to ensure that Diamonds have been ethically mined and their authenticity can be tracked as they are traded. CEO Bruce Cleaver told Reuters “It’s a huge public ledger, as immutable as anything invented, it’s a much more un-hackable system than anything on a single server.”
Ford, General Motors and BMW – Have joined a consortium to look at how the Blockchain can help the automotive industry. They are utilising blockchain to track the identity and history of cars. Future plans include investigating blockchains role to collect data from multiple parties to facilitate insurance, energy, congestion, pollution infrastructure etc.
Sony – Is using blockchain for digital rights management DRM
Differences with a traditional database?
Blockchains are essentially a type of database, so when should an organisation consider deploying a blockchain rather than a traditional relational DB? Blockchains whilst useful have a specific use case and will generally require significantly more computing power, be slower than a traditional DB plus require new skills to support it.
Blockchains will be a good choice when multiple untrusted parties require access to the system, immutability of data and security is important with scale and speed being less so.
When organisations have chosen to pursue using blockchain they have several deployment options.
Public v Private – First they must choose between creating their own blockchain or utilising an existing public blockchain such as Ethereum. Public blockchain will allow quicker time to deployment and greater security due to the computing power of the network. Choosing a private blockchain may be influenced by the need for greater control and the nature of the data stored and the laws governing it.
Self-hosted or BaaS – Several of the large cloud providers now have BaaS (Blockchain As A Service) offerings. This allows blockchain to be deployed in a cloud model allowing quick deployment, an opex model and reducing some of the complexity of the initial setup. BaaS are based on blockchains such as Corda, Hyperledger and Ethereum.
Blockchain has many interesting use cases but businesses using it should be clear on the unique business benefits it would deliver for them. Often deploying a more traditional database would be simpler and give more performance.
Businesses that do decide to deploy blockchain G will need to invest the time to understand it and plan the deployment considering key decisions such as if to use a public or private blockchain and if to use a BaaS provider. Let us know in the comments if your business is considering using blockchain.