Blockchain is all over the media these days, it seems there's no IT related issue, solution, or industry that hasn't had blockchain referenced as a potential solution or improvement. In that sense, yes it's a fad, that's undeniable, but is it functional? Will it be a technology that lasts?
So, what is Blockchain?
First up what it's not: it's not Bitcoin, that's probably the most well know implementation of blockchain technology; but it's an implementation, not a definition. Similarly, for other cryptocurrencies.
A blockchain is a digital ledger used for storing records, just like a paper ledger. That by itself isn't particularly interesting, your bank does that with any given transaction account; where blockchain differs is that it's distributed and protected from change.
Your bank can only manage its ledger by keeping a single source of truth in its database. That single source of truth is also a single point of failure; this too is different with blockchain as its distributed nature means it's decentralised.
The distributed nature also means everyone can have a copy, this provides some protection from having earlier records changed. It can also provide transparency. "Can" not "does" entries in the ledger can be encrypted to protect the content.
Another key aspect is that each record contains a reference hash of the previous record, this means that it effectively locks the previous record. If a record is changed then so is its hash stored in the next record in the chain, changing its hash and so on. Any change would be obvious to everyone with a copy of the ledger, even an outdated copy, provided it's more recent than the changed/deleted record.
So that's it?
… Actually, it's a bit more complex than that … there are issues of who creates the new records and so on. The detail of that is beyond the scope of this post, but the "blocks" are digitally signed records that are chained together using hashes, inside those blocks are sets of hashed chains of records that contain the ledger records.
TLDR – What is it?
A blockchain is:
"an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way"
You can store things other than financial transactions, but the core is that it's a technology for recording information that is incorruptible, verifiable and distributed.
There are many areas where those three features would be invaluable:
- Finance, e.g. cryptocurrency, shares
- Chains of ownership: shares, vehicles, property
- Contracts: can't be changed or lost
- Personal information: e.g. medical records
- Scientific research
But it's not a panacea, there are times when you don't want data to be distributed or uneditable. In many parts of the world, the EU, India, USA, to name a few, have enacted laws on the "right to be forgotten", the right to have personal information removed. Clearly this is in conflict with the involatile nature of blockchain data.
Yes, blockchain is a fad, it's one of the hot new things, everyone wants to say they are working on it. However, it solves a class of problems in a very effective way, as such - it is functional.
It's likely to be a base technology, a bit like relational databases and document databases. It'll take a while for it to cycle through the breathless "IT CAN SOLVE/SAVE THE WORLD!!!" to an everyday tool that solves a defined set of problems, but yes, I think it's here to stay.
[As written by one of Senior Technical Consultants]