Internet and Its Uses · 4 question types
Past paper frequency (2018 to 2024)
This topic accounts for approximately 3% of your exam marks.
Blockchain and cryptocurrency are a newer addition; questions are growing as the topic becomes more established.
A blockchain is a digital ledger of every transaction in a currency, organised as a chain of blocks linked by cryptographic hashes, with copies stored across many computers in a decentralised network.
Three big ideas in that definition:
Each block typically contains four things:
| Field | What it holds |
|---|---|
| Block number | The position of this block in the chain (the first block is block 0, the genesis block) |
| Transactions | A list of new transactions being recorded in this block (who sent how much to whom, when) |
| Timestamp | The exact time the block was added |
| Hash of the previous block | The cryptographic fingerprint of the block before this one, linking the chain backwards in time |
| This block's own hash | A cryptographic fingerprint summarising all the data in this block |
A hash is the fixed-length cryptographic fingerprint of some data, produced by a one-way function. Even a tiny change in the data produces a completely different hash.
Two important properties of a hash:
Example — A real SHA-256 hash of the word "Hello": 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969. The hash of "Hello!" (just one extra character) is completely different: 334d016f755cd6dc58c53a86e183882f8ec14f52fb05345887c8a5edd42c87b7.
Each block stores the hash of the previous block in its own header. This is the "link" in the chain:
Block 0 Block 1 Block 2 Block 3
[ hash: H0 ] [ hash: H1 ] [ hash: H2 ] [ hash: H3 ]
[ prev: H0 ] [ prev: H1 ] [ prev: H2 ]
[ data ] [ data ] [ data ] [ data ]
The first block (block 0) is special and is called the genesis block; it has no previous block, so its prev field is zero or empty.
When a new block is added, the network calculates the hash of the latest block and stores it as the new block's prev. The chain grows one block at a time.
