In the context of data security, the immutability of data stored on blockchains is important. What do people mean when they say “Blockchains are immutable”? In this post I try to explain the key concepts. It may be useful to read introductions to blockchains and Bitcoin if you have just arrived here or are unfamiliar with them.
A blockchain is a public ledger of all bitcoin transactions that have ever been executed. A block is the “current” part of a blockchain which records some or all of the recent transactions, and once completed, goes into the blockchain as permanent database. Each time a block gets completed, a new block is generated. Blocks are linked to each other (like a chain) in proper linear, chronological order with every block containing a hash of the previous block. To use conventional banking as an analogy, the blockchain is like a full history of banking transactions. Bitcoin transactions are entered chronologically in a blockchain just the way bank transactions are. Meanwhile, blocks, are like individual bank statements. The full copy of the blockchain has records of every bitcoin transaction ever executed. It can thus provide insight about facts like how much value belonged to a particular address at any point in the past. Some developers have begun looking at the creation of other different blockchains as they do not believe on depending on a single blockchain. Parallel blockchains and sidechains allow for tradeoffs and improved scalability using alternative, completely independent blockchains, thus, allowing for more innovation.
Immutable means that something is unchanging over time or unable to be changed. So in our context, it means once data has been written to a blockchain no one, not even a system administrator, can change it. This provides benefits for audit. As a provider of data you can prove that your data hasn’t been altered, and as a recipient of data you can be sure that the data hasn’t been altered. These benefits are useful for databases of financial transactions. Immutability is relative. For example if I send an email to a large list of friends, that data is pretty immutable from my perspective. To change it, I’d have to persuade my friends each to delete the email (or persuade Gmail and the people running all the mailservers of my friends). From my perspective, and with the control I have, that email is immutable – I can’t unsend or revoke it without collaboration and risk of detection. So immutability is relative, and relates to how hard something is to change.