A blockchain is a distributed database that is decentralized, anonymous, open source and immutable. Once confirmed, on-chain transactions are stored permanently and cannot be changed. So what makes on-chain data immutable?
Simply put, a blockchain is made up of blocks and chains.
A block is composed of a header and a body, where a header contains the basic information about the block, such as a timestamp, version numbers, random hash, the hash of previous block, Merkle root hash and mining difficulty. Inside the block body are the packaged transactions, which are the data signed by the wallet users with their private keys. In other words, it is a transfer of assets between users, but in addition to the users, there is another transaction that belongs to the miner, and the transaction amount is the sum of the block reward plus the fees paid by all traders in the block.
Each block header contains the hash of the previous block header and is interlinked with each other by timestamps and version numbers to form the blockchain.
The immutability of blockchain means that the transaction records that have taken place cannot be changed. After we know the composition of the blockchain, it can be separated as the immutability of block header and block body.
The block header records the random hash value of the previous block, which is generated by the hashing algorithm from the transaction information and timestamp of the previous block. At this point, miners across the network calculate the hash of the block header using computing power, and whoever calculates it first can package the transaction and synchronize it to the whole network via broadcast. If the data in the previous block changes, it will be inconsistent with the hash value of the original block and will not be confirmed by the next block.
The immutability of the block body is determined by the hash function. The body contains a lot of transactions which are connected by Merkle trees. Any change in one of the transactions will change the hash value of the Merkle root, causing the change of the next block header in turn. The hash function used by Bitcoin is the SHA-256 algorithm.
It can be seen from this that tampering with the transaction data in the blockchain will directly cause the root of the Merkle tree to change, and then the hash value of the next block header will also change,which will become illegitimate and require a recalculation of the hash of the new block header. A change in the hash value of the new block header will in turn cause a change in the next block header, resulting in data collapse that will not be accepted by the whole network.
In theory, it takes more than 51% of the network’s computing power to tamper with data, but in a sufficiently robust network, a 51% attack is essentially impossible and not in the attacker’s own interest.
In the centralized network, the database is manipulated by a central authority where new issuance, records modification , and freezing of circulation can all be manipulated.The central bank can add fiat money every year and freeze anyone’s bank assets. And a centralized network requires only a single string of code to modify data compared to a distributed database.
In the blockchain, everyone participates in bookkeeping, all transaction records are synchronized to the whole network in a timely manner, and the same data is recorded in the ledger in everyone’s hands, while there is no centralized organization to manipulate it. Therefore, when someone tampers with the ledger in his hand, it will not affect other people’s ledger records. At the same time, the whole network follows the principle of majority obeying minority, so that data will not be tampered with.
For example, Bob borrows $500 from Tom. In order to prevent Bob from defaulting, Tom invites Nancy as the middleman to testify. However, Bob tells Nancy that he will give her $200 if she helps him cheat. Nancy agrees out of interest. In this case, Tom has no evidence or certificate but to admit defeat, and Nancy plays the role of middleman here.
If the whole process is synchronized with everyone in the form of broadcast, everyone will remember that Bob owes Tom $500, and Bob has no way to deny it.
Due to its immutable nature, blockchain is being used in many fields including electronic identity, supply chain, money transfer and remittance. In e-identity, the authentication information of all people can be written directly into the blockchain and broadcast to all nodes, so that the authenticity and certainty of the information can be guaranteed and and no changes can be made. The same is true for the supply chain, where problems include opacity, low efficiency, information fraud and so on can be well solved.
The immutability of blockchain solves the problems of data fraud, data tampering and data opacity in the traditional network, and has also been widely applied. However, it should be noted that this is not true of all blockchain networks, such as alliance chains or private chains. Due to the small number of participants and semi decentralized or centralized governance, the data on these chains cannot be absolutely immutable and transparent.