Blockchains & Ethereum: Chaining of Blocks


In this clip, we will explore how Blockchains ensure that all of the records which are stored within them are immutable and verifiable. So for that, let us take a look at some Records which are stored in a Blockchain, and these, as you can see, have been split into a number of different blocks. In order to ensure a sequencing of the blocks, these are in fact, chained together, and it is a mechanism of this chaining which ensures not only an ordering of the blocks, but also the immutability and verifiability of the records within them. So, what exactly is this mechanism? How exactly is the relationship between adjacent blocks in a Blockchain defined? Well, the answer to that is simple. There is a Cryptographic Link between adjacent chains. So, each block in a Blockchain includes a Cryptographic hash of the previous block. In addition, it can also contain a Timestamp for when the block was added to the Blockchain. And of course, in the case of Ethereum, it includes all of the Transaction data. If any individual Transaction which makes up a block has been modified then the hash of that block will be very different from what it was previously. In this way, the Cryptographic Link between adjacent blocks will be broken. So, it is thanks to this cryptographic link, that any transaction data which has been written into the Blockchain cannot be modified after-the-fact. Any node can try to verify the entire Blockchain by producing a hash of the very first block and then making sure that those hash contents are present in the second block. And then keep repeating this process until all of the blocks have been verified. If you wanted to change the contents of one transaction, in one of the previous blocks in the Blockchain, then you will need to re-compute the hash for that block. And then you will need to include that modified block hash in the next block as well For the next block, if the hash of the previous block has changed then its own block hash will be different, so the hash for that block will also need to be recomputed. In fact, if you wish to change any of the previous Transactions written to the Blockchain, you will need to recompute the hash for every single block. And this is something which is not trivial because you will have to reach a consensus among all the nodes which participate in the Blockchain network. Getting this consensus is almost impossible. Which is why the use of this Cryptographic Link ensures that every single transaction in the Blockchain is both verifiable, and also, immutable, or permanent. Which is why we can also define a Blockchain as a distributed ledger which can record transactions in a manner which is immutable and also verifiable. So, let us break down this definition into its components. So, a Blockchain is a distributed ledger. A ledger can be considered to be any sequence of records and the records which are stored in a Blockchain are distributed across multiple nodes which participate in the Blockchain network. As for the contents of these records, in the case of Ethereum and most public Blockchain networks, this will record a collection of transactions. The properties of these transactions include the fact that they are immutable. Any change which is made to an already recorded transaction, can be detected by other participants in the Blockchain network. The nodes will then be able to disregard this change, and stick with the original version of the Transactions. The Transaction information can also be verified, not only will they be able to verify that the Transaction has not been altered. We will soon see, just a little later in this course, how they can verify that a Transaction is indeed a valid one before it gets added to the Blockchain. But what we have covered in this clip is the fact that the immutability and the verifiability of the Blockchain transactions have been assured, thanks to the existence of the Cryptographic Link to the previous block which is included in every block in the Blockchain.

Leave a Reply

Your email address will not be published. Required fields are marked *