One of the characteristics that distinguishes blockchain is it immutability. But many people wonder if this is actually true. Is blockchain really an unchangeable record of data? Óscar Lage explains in this new chapter of #BlockchainRevolution how this technology works so that it cannot be maliciously modified.
With blockchain, unchangeable records can be created. This characteristic is the pillar that underpins the concept of building trust among strangers or even smart contracts – factors that have put this technology at the epicenter of a revolution that promises to transform the Internet and society. This analysis focuses on the specific mechanisms to guarantee the immutability of the chain, omitting the mechanism used to reach a consensus on the stored data to make the article easier to read.
The technological foundation of this immutability is based on the use of cryptographic algorithms that make it possible to guarantee and verify the integrity of a data set. In other words, ensure that the data set has not been altered when it was created.
These algorithms have the goal of creating a digital fingerprint of content, but without hiding its information. When applied to an identical data set, the same result will always be obtained. However, the slightest change will completely alter its fingerprint.
The integrity of a data set in blockchain is ensured primarily through two strategies: hash algorithms and digital signatures.
From the former, a digital fingerprint of a data set is obtained with the sole purpose of verifying that the data have not been altered.
Digital signatures also encrypt this digital fingerprint so that anyone can verify the user’s identity – in addition to the integrity – and this user takes responsibility for the accuracy of the transaction (non-repudiation).
Blockchain applies both strategies at different points of the blockchain to guarantee that the information cannot be altered or Cannot be altered or modified without the change being noticed.
When an institution wants to record a transaction in blockchain, it must sign it with a private password before sending it to the network. This guarantees that no one can alter the content of the transaction and distribute a fraudulent copy of it. This transaction will be disseminated to the network almost instantly and each of the members of network will use the digital signature to verify its:
- Identity, verifying that the signature was recently added by the user and that no one impersonated their identity to create the transaction.
- Integrity, ensuring that the information has not been altered by a third party.
If any member of the network receives a transaction that does not comply with either of the two points described above, it will be discarded and will no longer be disseminated through the network.
As a result, the integrity and origin (identity) of any transaction can be verified in a unified way. But what happens if instead of altering a transaction, a participant tries to eliminate it from a block, replace it with a different transaction, or add a new one?
In order to avoid this, all information contained in blockchain is interconnected in the form of a chain (hence its name “blockchain”) and like any other chain, each link (block) is connected to the block before and after it.
Blockchain identifies each block of information by its digital fingerprint and includes in each block the identifier (digital fingerprint) of the previous block.
In a chain
Thanks to the use of the digital fingerprint there can be no changes to the information contained in a block stored in blockchain, regardless of how small it may be. Any change in information would automatically alter the identifier of the block and break the chain. Although this block continues to be connected to the one before it (as that one has not changed) the previous block would be pointing to a non-existent block in the chain as the identifier it contains would no longer be valid.
This strategy is also used at the transaction level, which use the identifier as their digital fingerprint as well.
The most insignificant change in a transaction would create a cascade, altering the following:
- The identifier (digital fingerprint) and digital signature of the transaction if there are any changes to it.
- The digital fingerprint of the set of transactions contained in the block (Merkle tree) if any transaction in the block is altered, added or removed.
- The identifier (digital fingerprint) of the block if the change is made in the block or any of the points described above.
This would break the chain and its integrity, making it easy to identify the exact location where the break took place. There would be a disconnection from the block before the corrupt block, making it possible to verify immediately if that change took place in any of the transactions contained in the block or in the block’s data.
Therefore, any modification of the information stored in blockchain – regardless of how small – would be immediately and accurately identified. This is why we can truly say that blockchain was designed to guarantee its immutability.
* Óscar Lage Serrano is the Head of Cybersecurity at Tecnalia and co-author of the book “Blockchain: The Internet’s industrial revolution” ("Blockchain: La revolución industrial de Internet"). He also wrote the chapters on Industry 4.0 and electronic voting published by Gestión 2000 (Grupo Planeta) on May 23, 2017, now for sale on Amazon.es. For updates see @LibroBlockchain and www.LibroBlockchain.com.
Óscar Lage Serrano
Óscar Lage Serrano is the Head of Cybersecurity at Tecnalia and co-author of the book “Blockchain: The Internet’s industrial revolution” ("Blockchain: La revolución industrial de Internet"). He also wrote the chapters on Industry 4.0 and electronic voting published by Gestión 2000 (Grupo Planeta) on May 23, 2017, now for sale on Amazon.es. For updates see @LibroBlockchain and www.LibroBlockchain.com.