Each block in a blockchain (barring the genesis block or first block – more on this later) contains three things.
- Data to be recorded that is represented by what’s called a cryptographic hash.
- A coded representation (or cryptographic hash) of the previous block’s data.
- A timestamp of when the block was added to the chain.
Let’s break down these three things into what they are.
- Data – The data recorded on a blockchain can vary depending on what is using the technology. For example, as a currency, Bitcoin uses a blockchain to record it’s transaction data – which is why its referred to as a ledger.
Other uses include supply chain data management, healthcare data and identity records; the sky’s the limit, so long as the information can be digitised. The point is that blockchains can securely store many different types of data.
- Cryptographic Hashes – A cryptographic hash is essentially a coded (jumbled) representation of a piece of information. It uses a mathematical function (a jumbler) to generate this representation (jumble) linking the meaningful information to the hash. Thus, if I were to change the information, the corresponding hash would change, as the two things are inextricably linked by the hash (jumbling) function.
Here’s some simplified examples:
Our data: Y=1,
We apply a cryptographic hash function (to jumble it up)
This generates the Hash Y1.
If I were to change the original data to Y=2, and apply the hash function, the hashed output would also change, giving us Y2.
Crucially, it is trivial to confirm that Y2 is the correct output of the Hash, but almost impossible to work out what the Input was.
Hashing is how websites can store your passwords,
confirm they are valid when you input them, but not
be able to know what they are.
This is simplified for explanation purposes because cryptographic hashes encode the data that they represent. Therefore, the only link between the data and the hash is the mathematical function that generates the hash and not any content.
Here’s another example
Input data Y=1
Apply hash function
Hashed output=dog,
Change the Input data to Y=2
Apply hash function
Hashed output= trees.
There is no discernible relation between dog and trees, they are simply products of the same hash function generated from the data sets Y=1 and Y=2.
In reality, cryptographic hashes are long strings of letters and numbers that don’t correspond to any words or meanings apart from representing the data, but are of uniform length. What digital cryptography lends to the solution to our trust problem is a reliable method for securing data that doesn’t require authority or threat of violence.
- Timestamps – this one is pretty self-explanatory,. A record of the time that an individual block of data was added to the chain. Though simple, Time stamping is crucial, giving blockchains verifiable and unchangeable historical reference points.
Leave a Reply