I was recently attending a webinar on a data-related topic and the speaker mentioned blockchain as being a transformational technology. The presentation was not really about blockchain, though, so not much more was said about it. At the end of the webinar, in the question and answer section, somebody asked “Did you say blockchain? What is that?” This got me to thinking that all data professionals should know about blockchain, at least at a high level. So here is an introduction for you.
Blockchain is a distributed, shared, permissioned ledger for recording transactions with consensus, provenance, immutability and finality. It is the technology that drives virtual currencies like Bitcoin. But its potential spans many more industries and use cases than just virtual currencies.
But let’s back up for a minute. How does blockchain work? Think of a distributed network wherein participants contractually agree to trade goods and services. This network facilitates a market, which can be public or private and requires at least two participants but can be more. Blockchain is the mechanism for the ledger, which is a system of record for business transactions.
Every business typically has multiple ledgers for the multiple business networks in which they participate. But each business maintains its own sets of ledgers so understanding the flow of an asset from participant to participant requires the correlation of multiple ledgers from multiple businesses. This is difficult and can be very expensive because the ledgers are proprietary and are not designed to be shared.
Blockchain solves this problem by enabling a distributed, shared, permissioned ledger to be used by all participants in the network. It provides a mechanism for adding trust to an untrusted environment. The blockchain is an irrevocable record of transactions to be used by all participants in a business network. Data is added to the blockchain in an append-only manner; once recorded, data cannot be changed or deleted.
The concept is simple. Parties agree to a transaction and that information is grouped into blocks. Each block has a timestamp and a link to chain (hence, the name) it to the previous block. The block is recorded for posterity across the peer-to-peer network. There are built-in mechanisms for security and cryptography. Once the transaction is recorded it cannot change. And it is immutably maintained in the blockchain; so the blockchain has a record of every transaction that ever occurs in its network, thereby providing built-in provenance.
The blockchain is essentially a distributed database for a specific value-chain network. It enables different parties that do not inherently trust one another to share information without central administration. Transactions are processed by a network of users creating a shared system of record.
Compare that with a typical database system which runs locally to your business. The DBMS runs on a server of some type and only those granted permission to access it can access and change the data. Your company’s system of record is stored however your business decides to implement it; the same is true of all other businesses that your company deals with. And it is possible that your system of record will not reflect things exactly the same way as your partner’s system of record.
Additionally, most databases are designed to store data only for the current point-in-time. Most modern database management systems provide temporal capabilities that can be used to store and manage historical data, but they are quite complex and few application systems actually use them. The blockchain contains a system of record for all relevant transactions and basically implements an ever-growing archive of its own history. Of course, working through that history to create a point-in-time still can be a slow process … but the information is there in the blockchain.
To simplify a bit, you can think of the blockchain as a mechanism that delivers four fundamental capabilities. Firstly, it provides a shared ledger for a distributed system of record shared across a business network. Secondly, the business terms, or contract, are embedded in the blockchain. Thirdly, it offers privacy, thereby ensuring that only appropriate parties have visibility to the secure, authenticated and verifiable transactions. And finally, is delivers a trusted account that is endorsed by all relevant participants in the network.
There are many use cases for blockchain technology and it will become more widely-adopted in the coming years. As a DBA, you should learn more about blockchain and be alert as to its adoption in your organization. Armed with fore-knowledge of blockchain and an awareness of where and how it is being used at your site you can be prepared to offer data management advice and services for blockchain applications and systems.
Furthermore, there are blockchain DBMS products that are coming onto the market (such as FlureeDB and BigchainDB) that combine the security of the blockchain with the enterprise capabilities of database technology. And, of course, DBAs should be involved in implementing and managing such technology.