I get asked all the time if Blockchain and DLT is a Database – they are not
I appreciate there is lots of confusion on this topic, so let us start by understanding what Blockchain technology is and where it ‘fits’ into the current world.
Blockchain technology is a type of ‘distributed ledger technology’ which looks to share data and transactions across a number of different places.
Unlike traditional databases, distributed ledgers have no central data store or administration functionality. A ledger is a record of data, which can be any data you wish to store and share. This ledger is tamper-proof and the data is encrypted for security.
From my book, I asked Oracle Corporation Architect, Vikram Kimyani, to explain the differences:
There are quite a lot of explanations which will start off by saying that Blockchain is like a shared database, but not delve into the particulars. Some other descriptions will more accurately reflect that it is a shared ledger.
There is a subtle difference between a database and a ledger and it is useful to know what it is because this helps inform us of suitable use cases for Blockchain.
A database is a service where the value of some piece of data is stored somewhere and whenever there is an update to this value it is done in situ. It’s also possible to remove information about data in a database and there are various strategies how this is handled and done.
A ledger works differently because it behaves like a document that has entries added to it. Entries are not modified if a value changes; rather, a new entry is created whenever something is updated. If you want to delete an entry, you stop recording related entries and corrections should be done by ADDING corrected entries.
Let’s walk through an example of how this works in practice between the two stores of data. Let’s say Andrea has a balance of 400 and that Bob has a balance of 200. In a database these values are simply created and recorded in some sort of table and if Andrea pays Bob 50 then both entries are updated in place. If no special measures are taken then there is no history of the original balances and it is a simple matter of looking up the balance to know Andrea has 350 and Bob now has 250.
In a ledger Andrea would have an entry for her initial balance of 400 and likewise Bob would have one for 200. If Andrea pays Bob then an entry is added to say that Andrea has paid Bob 50. In order to work out Andrea’s balance you have to do something called ‘walking the ledger’, you start with the first entry and walk down the ledger until the last entry concerning Andrea. In our example you would note she had a 400 starting balance and then paid Bob 50 out of it and is therefore left with 350. You also have the full history of the transactions without needing to do anything special as it’s a property of ledgers.
Why are we talking about these differences?
We are doing this because the audit or history properties of a ledger are what make it useful for some of the real-world use cases we are seeing. When you couple this with some of the other properties such as making it evident if a ledger is modified, sharing the ledger with all parties and having consensus upfront then there was quite a bit of excitement in the financial services industry about using the technology behind Bitcoin and they were one of the first industries to take Blockchain technology seriously.