What is the Bitcoin block chain?
To put it simply, the block chain is the permanent record of all transactions made on the Bitcoin network.
The block chain is made up of blocks of Bitcoin transactions. Each block contains anywhere from zero to a few thousand transactions, and a block is created by a Bitcoin miner, on average, every 10 minutes.
The blocks use hash functions of the data contained within the block to ensure none of the data in the block is changed after the block is published. A hash function is a one-way function – input a given set of data, and get a set of random-looking characters back. The original data cannot be derived from the result, but putting the original data back through the hash function will always return the same result.
Because of this, the data included in a block cannot be changed, else the published hash of the block would not match the calculation of the data in the block.
The hash functions are also used to “chain” the blocks together. Each block has a hash that mashes together the version of the software, transactions, the timestamp, a nonce (essentially random number), the current difficulty level, and importantly, the hash of the previous block. Change any of those variables, and the hash for the block won’t match up with the hash already published.
In this way, it permanently links itself to the previous block. An attempt to change or remove the previous block would be met with a miscalculation that would be rejected by all other Bitcoin nodes. It’d be like trying to convince 80,000 computers that 2 + 2, in fact, is equal to 5.
The hash functions are the key to ensuring that the Bitcoin blockchain remains a permanent and unchangeable record of all transactions that have taken place.