In the previous article An Internet of Value – Blockchain, beyond the hype and why CxO’s must take note, we articulated why blockchain is more than just hype and provided some real-life use cases as to where/how blockchain is already helping businesses. But we want to dig deeper within this article, the second in a series of three articles, to explain how blockchain differs architecturally over its traditional database predecessors so it can do a better job at solving these real-world problems. We also describe some of the terminology used so that readers can better understand Blockchain.
This article demystifies two important concepts: Blockchain and Smart Contracts in relation to Blockchain. It then brings the concepts of Blockchain and Smart Contracts together through the prism of the Internet of Things (IoT) and finally concludes with Analytics.
But first, let’s explain why the evolution away from traditional databases towards Blockchain has been necessary to more readily share immutable data.
To restate what blockchain is – in its simplest form, it is a distributed database system, where there is no one master (primary) database, but many databases that are all considered primary, and where all parties participate in populating entries into the respective databases and receive the entries of the other participants. Blockchain started life as the technology that underpins cryptocurrencies. Whether cryptocurrencies have a long and bright future is very much an open question, but the technology that evolved because of them does indeed have a long and bright future. Because of this, most businesses will have to start considering what this means for them and take steps to ready themselves for this new and important part of the technology landscape.
A precursor to Blockchain – a Centralised approach to data
Just about any organisation that uses digital infrastructure would be using one or more databases to store meaningful and up-to-date information. These are truly silos of data; secure from ‘outsiders’, private, and often customised for a business’ need to operate efficiently.
The use of databases has expanded over the last several decades, as businesses are needing to open up data they have securely stored in their databases to other businesses or users. Quite often this is done by using API’s (Application programming Interfaces – a controlled opening to a database), for other parties to read from and/or write to the database securely. To ensure data is not lost and always available, replication occurs so that there is redundant data ready to replace any data loss that might occur. Yet, no matter how well this is designed, it is vulnerable to single points of failure. Integrity can also be compromised if access is unopposed to a user who does harm to the underlying data.
As brilliant as database environments are, have been, and will be in the future, there are weaknesses.
A typical database environment has a Primary database which stores and manages changes to data, whether by Inserting, Updating or Deleting. The ‘Replica’ database symbolises a conceptual backup database which can be used if the Primary fails, to avoid loss of data but also a loss of up-time. These databases have evolved over time to be able to handle millions of concurrent transactions, servicing thousands of users at any one time. Cost is and will likely continue to be the biggest contributing factor as to how powerful the database environment becomes, as it’s the hardware of the database environments which will limit how feasible mass concurrent transactions or users they can handle. The point is, there is ‘nearly’ no conceptual restriction for how powerful a realistic database environment can be as long as the user is willing to pay for it.
As time has gone on, having isolated database environments is not always what the 21st century requires. More and more, integration between environments is required, so to ensure an efficient and fast way for movement of data. This comes in many forms, such as movement of money from a payer on one system to payee on another. But also, for other reasons such as opening up a subset of data from a database so it can be interacted with by 3rd parties. An example of this is allowing a customer to log into their account and insert updated contact details, but to also read other data such as their Health Insurance Claims History. It is insecure to allow a 3rd party direct access to a database, so an API (Application Programming Interface) is typically developed.
The development of the API is managed by the owners of the database which they create for a specific interaction between a 3rd party and the underlying database. The API will typically contain very specific rules about what an end user is able to do within the database. These API’s can then be shared to 3rd party developers so that code can be added to websites, mobile apps or other applications not controlled by the database owner, but allows indirect interaction with the data under a controlled process.
Although API’s (which are used extensively) do satisfy more interactivity between systems, there are still issues with this database architecture, such as:
– There is still a single point of failure
– Lack of transparency
– Data can be modified without any governance (governance is owned by the database owners – therefore the strength of this governance will be vastly different between different database environments).
– Reliance on the database owners to develop APIs or other mechanisms so 3rd parties can access the data
Reliance on 3rd parties to handle contracts between transacting parties (more on this in Smart Contracts)
Blockchain – a Decentralised approach to data
Conceptually, the architecture of Blockchain goes a long way towards solving many of the problems highlighted above within a typical database environment. An implementation of Blockchain can be considered a shared database; all sharing the same schema, and all acting like primary databases. No single point of failure, but all databases participate by populating data which is replicated throughout all the databases within the Blockchain, albeit with a slight lag time.
Blockchain also has its namesake due to the way a collection of transactions is confirmed which are blocks stored in the database, which effectively creates a chain of data, where each block or collection of transactions are immutably coupled to the previous and next block. This makes it near impossible to change, or remove a transaction within the blockchain, as it would cause the chain to be broken, and subsequently, the nodes processing the blockchain will never let that happen. Once data is inserted into the blockchain, it is locked in forever.
For an organisation that has no need to share data or be more transparent (even internally), there is no real benefit of Blockchain. But such organisations will become rare as commercial trends are to share, collaborate and to open key data assets for mutual benefit. Therefore, Blockchain presents a huge opportunity to make this process possible and secure.
In a Blockchain, architecture transactions are written to blocks, which are replicated to the other participants in the blockchain network\consortium. All participants then validate the transactions and only then are the blocks added to the chain to create the tamper-proof audit log.
In some of the use cases described in our previous article, An Internet of Value – Blockchain, beyond the hype and why CxO’s must take note, we mentioned “Smart Contracts”. But what are they, and how can they assist?
Smart Contracts is one of the key opportunities provided by Blockchain – first introduced by Nick Szabo all the way back in 1994.
What are Smart Contracts?
Contracts that set out the terms and conditions that must be met to allow for something to happen is commonplace, and in centralized models, these contracts between the two transacting parties affirming the terms and conditions of the contract are facilitated by 3rd parties (for example a bank, regulatory body, government, etc).
A Smart Contract is, like any other contract, language (actually a tiny piece of code stored inside a Blockchain) that describes a set of terms and conditions that must be met to allow for something to happen. It automatically verifies fulfilment and then executes the agreed terms. Smart Contracts, therefore, remove the need for 3rd parties as it allows parties to have an agreement to transact directly with each other.
Smart Contracts and Blockchains are immutable, in other words, they cannot be tampered with, and they are distributed, meaning the outcome of the contract is validated by everyone in the network.
For those interested in seeing what a smart contact actually looks like, here is an example. The third and final article in this series will also walk through an implementation of Blockchain and Smart Contracts.
IoT, using Blockchain and Smart Contracts (Blockchain IoT, or BIoT)
There were 20 billion connected IoT devices in 2017. This is projected to grow to 75 billion by 2025.
Centralised models for storing data, as described at the beginning of this article simply won’t be able to cope with security and volume demands. Plus, any transactional contracts will have to rely on 3rd parties.
The decentralised insertion of data into a Blockchain eliminates a single point of failure and is a tamper-proof way to store data. As a result, security against rogue participants is increased (in this case device spoofing and impersonation).
Regarding the IoT, each legitimate device can write to a Blockchain, and they can easily identify and authenticate to each other without the need for central brokers or certiﬁcation authorities. The eco-system can scale massively as it can support billions of devices without the need for additional resources.
Smart Contracts extend the Blockchain functionality to include the contract between transacting parties. This removes any IoT eco system’s reliance on 3rd parties to handle the transactional contractual arrangements.
Blockchain now also presents huge opportunities for Advanced Analytics.
Data analytics will be crucial in tracking Blockchain activities to help organisations that use Blockchain make more informed decisions. For every use case of Blockchain mentioned (sport, health, insurance, asset management and delivery), come data analytic opportunities. Especially when coupled with machine learning to find those nuggets deep inside the trillions of transactions.
Whether in a traditional database, unstructured text with big data or this new concept of the blockchain, data analytics can use this data to help users and IoT devices. Moreover, AI, as well as predictive analytics, can help users make informed decisions, making the human ecosystem ever more efficient.
Blockchain, Smart Contracts along with their combination with IoT have plentiful use cases. The data technology sector has the ability to guide this new epoch of technology forward, ironing out the creases along the way for this technology to be as common as the internet is today. The idea of blockchain is very similar to the internet; it is networked and decentralised, requiring protocols (shared schemas) to be followed to allow it to effectively communicate. From that point onwards, everyone can see how life-changing the internet has become to our day to day lives. Organisations who visualise and implement these benefits sooner will be the leaders of the next technical revolution. This is absolutely where Exposé can help.
In the next article, we will delve a lot deeper into a technical implementation of Blockchain and Smart Contracts.
Joint Authors: Etienne Oosthuysen (Exposé, Head of Technology and Solutions) and Cameron Wells (Exposé, Technical Lead)