How unit 1 is examined
This unit covers blockchain basics, blocks and consensus, the permissioned model and security, hash functions with hash pointers and Merkle trees, and digital signatures with a basic cryptocurrency. No topic was asked in the supplied papers, so each is taught in full in case it appears this year.
Introduction: Overview of Block chain, Public Ledgers, Bit coin, Smart Contracts
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>
Definition. <mark>A blockchain is a distributed, append-only ledger of transactions grouped into blocks that are cryptographically linked, so that no single party controls it and past records cannot be altered without detection.</mark>
Key points.
- A blockchain is replicated on every node of a peer-to-peer network, so there is no central server that can fail or be corrupted.
- A public ledger is a record of all transactions that anyone can read and verify, so trust comes from transparency instead of from a bank.
- Bitcoin, proposed by Satoshi Nakamoto in 2008 and launched in 2009, is the first blockchain application, a peer-to-peer digital currency that needs no bank.
- A smart contract is a program stored on the blockchain that executes automatically when its agreed conditions are met, and its result is recorded on the ledger.
- Data is append-only, which means new blocks are added at the end and old blocks are never edited, giving immutability.
- Blockchain removes the trusted middleman because the network agrees on the ledger by consensus.
Answer frame. Open with the definition; draw the chain of blocks (see next topic); then develop points 1-6 in order; close with one use, such as Bitcoin for money or smart contracts for automated agreements.
Block in a Block chain, Transactions, Distributed Consensus, Public vs Private Block chain
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>
Definition. <mark>A block is a batch of valid transactions plus a header holding the previous block's hash, a timestamp and a nonce, which chains it to the block before it.</mark>
Diagram. <figure class="ds-fig" style="margin:1.4rem 0;overflow-x:auto"><svg xmlns="http://www.w3.org/2000/svg" id="dsfig-u1-01" viewBox="0 0 467 80" width="467" height="80" role="img" aria-label="Each block stores the hash of the previous block. G is the genesis block, B1 to B3 are later blocks. Arrows are hash links."><style>#dsfig-u1-01 .e{stroke:#454C5A;stroke-width:1.4;fill:none}#dsfig-u1-01 .e.hi{stroke:#2340B8;stroke-width:2.6}#dsfig-u1-01 .n{fill:#FFFFFF;stroke:#16181D;stroke-width:1.4}#dsfig-u1-01 .n.hi{fill:#E3E9FC;stroke:#2340B8;stroke-width:2.2}#dsfig-u1-01 .n.rb-b{fill:#16181D;stroke:#16181D}#dsfig-u1-01 .n.rb-r{fill:#BD3227;stroke:#BD3227}#dsfig-u1-01 text{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;font-size:13px}#dsfig-u1-01 .t{fill:#16181D;font-weight:500}#dsfig-u1-01 .t.inv{fill:#FFFFFF;font-weight:700}#dsfig-u1-01 .kd{stroke:#16181D;stroke-width:1.2}#dsfig-u1-01 .dot{fill:#16181D}#dsfig-u1-01 .ann{fill:#2340B8;font-size:11px;font-weight:700}#dsfig-u1-01 .lbl{fill:#6F7787;font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700}#dsfig-u1-01 .ptr{fill:#2340B8;font-size:12px;font-weight:700}#dsfig-u1-01 .ah{fill:#454C5A}#dsfig-u1-01 .ah.hi{fill:#2340B8}#dsfig-u1-01 .wl rect{fill:#FFFFFF;stroke:#DCE0E7}#dsfig-u1-01 .wl .t{font-size:12px;font-weight:700}#dsfig-u1-01 .wl.hi rect{fill:#2340B8;stroke:#2340B8}#dsfig-u1-01 .wl.hi .t{fill:#FFFFFF}html.dark #dsfig-u1-01 .e{stroke:#B1B7C3}html.dark #dsfig-u1-01 .e.hi{stroke:#8FA3FF}html.dark #dsfig-u1-01 .n{fill:#161920;stroke:#E6E8ED}html.dark #dsfig-u1-01 .n.hi{fill:#1E2748;stroke:#8FA3FF}html.dark #dsfig-u1-01 .n.rb-b{fill:#E6E8ED;stroke:#E6E8ED}html.dark #dsfig-u1-01 .n.rb-r{fill:#FF7E71;stroke:#FF7E71}html.dark #dsfig-u1-01 .t{fill:#E6E8ED}html.dark #dsfig-u1-01 .t.inv{fill:#0F1115}html.dark #dsfig-u1-01 .kd{stroke:#E6E8ED}html.dark #dsfig-u1-01 .dot{fill:#E6E8ED}html.dark #dsfig-u1-01 .ann{fill:#8FA3FF}html.dark #dsfig-u1-01 .lbl{fill:#858D9C}html.dark #dsfig-u1-01 .ptr{fill:#8FA3FF}html.dark #dsfig-u1-01 .ah{fill:#B1B7C3}html.dark #dsfig-u1-01 .ah.hi{fill:#8FA3FF}html.dark #dsfig-u1-01 .wl rect{fill:#161920;stroke:#2A2E37}html.dark #dsfig-u1-01 .wl.hi rect{fill:#8FA3FF;stroke:#8FA3FF}html.dark #dsfig-u1-01 .wl.hi .t{fill:#0F1115}</style><defs><marker id="ah1" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah" d="M0,1 L9,5 L0,9 z"/></marker><marker id="ahh1" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah hi" d="M0,1 L9,5 L0,9 z"/></marker></defs><path class="e" d="M150,40 L61,40" marker-end="url(#ah1)"/><path class="e" d="M279,40 L190,40" marker-end="url(#ah1)"/><path class="e" d="M408,40 L319,40" marker-end="url(#ah1)"/><circle class="n" cx="40" cy="40" r="18"/><text class="t" x="40" y="40" dy=".35em" text-anchor="middle">G</text><circle class="n" cx="169" cy="40" r="18"/><text class="t" x="169" y="40" dy=".35em" text-anchor="middle">B1</text><circle class="n" cx="298" cy="40" r="18"/><text class="t" x="298" y="40" dy=".35em" text-anchor="middle">B2</text><circle class="n" cx="427" cy="40" r="18"/><text class="t" x="427" y="40" dy=".35em" text-anchor="middle">B3</text></svg><figcaption style="font-size:.82em;opacity:.72;margin-top:.45rem">Each block stores the hash of the previous block. G is the genesis block, B1 to B3 are later blocks. Arrows are hash links.</figcaption></figure>
Key points.
- A block has a header (previous hash, Merkle root, timestamp, nonce) and a body holding the list of transactions.
- A transaction transfers value from one address to another and is signed with the sender's private key, so it cannot be forged.
- Because each block holds the previous block's hash, changing any old block changes every hash after it, which makes tampering obvious.
- Distributed consensus is the process by which nodes that do not trust each other agree on one valid ledger state; Bitcoin uses Proof of Work for this.
- A public blockchain (Bitcoin, Ethereum) lets anyone join, read and validate, while a private blockchain restricts participation to approved members.
| Point | Public | Private |
|---|---|---|
| Membership | Open to anyone | Invited and approved only |
| Consensus | Proof of Work or Stake, slow | Voting among known nodes, fast |
| Decentralisation | High | Low, controlled by one or a few owners |
| Privacy | Transactions visible to all | Visible only to members |
| Examples | Bitcoin, Ethereum | Hyperledger Fabric, Corda |
Answer frame. Open with the block definition; draw the chain diagram with the header fields; then develop points 1-5; for public vs private, close with the table.
Understanding Crypto currency to Block chain, Permissioned Model of Block chain, Overview of Security aspects of Block chain
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>
Definition. <mark>Cryptocurrency is digital money secured by cryptography, and blockchain is the underlying ledger technology that records its transactions without a central authority.</mark>
Key points.
- Cryptocurrency is only one application of blockchain, while blockchain can also serve supply chains, identity, land records and contracts.
- In the permissioned model only identified and authorised nodes may read, write or validate, which suits enterprises that need accountability and privacy.
- Permissioned chains use cheap consensus such as voting instead of mining, so they give high throughput and low cost.
- Security rests on three tools: hashing gives tamper evidence, digital signatures give authenticity, and consensus gives agreement.
- Main threats are the 51 percent attack, in which one party controls most of the mining power, and double spending, both made costly by Proof of Work.
- Private keys must be protected, because a lost or stolen key means lost coins with no central authority to recover them.
Answer frame. Open with the definition of cryptocurrency and blockchain; then develop points 1-3 for the permissioned model and 4-6 for security; close with the three tools (hash, signature, consensus).
Basic Crypto Primitives: Cryptographic Hash Function, Properties of a hash function, Hash pointer and Merkle tree
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>
Definition. <mark>A cryptographic hash function maps input of any size to a fixed-size digest, for example SHA-256 gives 256 bits, and cannot practically be reversed.</mark>
Key points.
- A hash function is deterministic, so the same input always gives the same output, and it is fast to compute.
- It shows the avalanche effect, meaning a tiny change in the input changes the output completely.
- Pre-image resistance (one-way): given a hash $h$, it is infeasible to find any $m$ with $H(m)=h$.
- Second-pre-image resistance: given $m_1$, it is infeasible to find a different $m_2$ with $H(m_1)=H(m_2)$.
- Collision resistance: it is infeasible to find any two different inputs with the same hash.
- A hash pointer stores the address of data together with the hash of that data, so it lets us both locate the data and check it has not changed.
- A blockchain is a linked list built with hash pointers, so tampering with one block breaks every pointer after it.
- A Merkle tree hashes each transaction as a leaf, then hashes pairs upward until one Merkle root remains.
Diagram. <figure class="ds-fig" style="margin:1.4rem 0;overflow-x:auto"><svg xmlns="http://www.w3.org/2000/svg" id="dsfig-u1-02" viewBox="0 0 668 262" width="668" height="262" role="img" aria-label="Merkle tree of four transactions T1 to T4. H1 to H4 are leaf hashes and the Merkle root sits at the top."><style>#dsfig-u1-02 .e{stroke:#454C5A;stroke-width:1.4;fill:none}#dsfig-u1-02 .e.hi{stroke:#2340B8;stroke-width:2.6}#dsfig-u1-02 .n{fill:#FFFFFF;stroke:#16181D;stroke-width:1.4}#dsfig-u1-02 .n.hi{fill:#E3E9FC;stroke:#2340B8;stroke-width:2.2}#dsfig-u1-02 .n.rb-b{fill:#16181D;stroke:#16181D}#dsfig-u1-02 .n.rb-r{fill:#BD3227;stroke:#BD3227}#dsfig-u1-02 text{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;font-size:13px}#dsfig-u1-02 .t{fill:#16181D;font-weight:500}#dsfig-u1-02 .t.inv{fill:#FFFFFF;font-weight:700}#dsfig-u1-02 .kd{stroke:#16181D;stroke-width:1.2}#dsfig-u1-02 .dot{fill:#16181D}#dsfig-u1-02 .ann{fill:#2340B8;font-size:11px;font-weight:700}#dsfig-u1-02 .lbl{fill:#6F7787;font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700}#dsfig-u1-02 .ptr{fill:#2340B8;font-size:12px;font-weight:700}#dsfig-u1-02 .ah{fill:#454C5A}#dsfig-u1-02 .ah.hi{fill:#2340B8}#dsfig-u1-02 .wl rect{fill:#FFFFFF;stroke:#DCE0E7}#dsfig-u1-02 .wl .t{font-size:12px;font-weight:700}#dsfig-u1-02 .wl.hi rect{fill:#2340B8;stroke:#2340B8}#dsfig-u1-02 .wl.hi .t{fill:#FFFFFF}html.dark #dsfig-u1-02 .e{stroke:#B1B7C3}html.dark #dsfig-u1-02 .e.hi{stroke:#8FA3FF}html.dark #dsfig-u1-02 .n{fill:#161920;stroke:#E6E8ED}html.dark #dsfig-u1-02 .n.hi{fill:#1E2748;stroke:#8FA3FF}html.dark #dsfig-u1-02 .n.rb-b{fill:#E6E8ED;stroke:#E6E8ED}html.dark #dsfig-u1-02 .n.rb-r{fill:#FF7E71;stroke:#FF7E71}html.dark #dsfig-u1-02 .t{fill:#E6E8ED}html.dark #dsfig-u1-02 .t.inv{fill:#0F1115}html.dark #dsfig-u1-02 .kd{stroke:#E6E8ED}html.dark #dsfig-u1-02 .dot{fill:#E6E8ED}html.dark #dsfig-u1-02 .ann{fill:#8FA3FF}html.dark #dsfig-u1-02 .lbl{fill:#858D9C}html.dark #dsfig-u1-02 .ptr{fill:#8FA3FF}html.dark #dsfig-u1-02 .ah{fill:#B1B7C3}html.dark #dsfig-u1-02 .ah.hi{fill:#8FA3FF}html.dark #dsfig-u1-02 .wl rect{fill:#161920;stroke:#2A2E37}html.dark #dsfig-u1-02 .wl.hi rect{fill:#8FA3FF;stroke:#8FA3FF}html.dark #dsfig-u1-02 .wl.hi .t{fill:#0F1115}</style><defs><marker id="ah2" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah" d="M0,1 L9,5 L0,9 z"/></marker><marker id="ahh2" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah hi" d="M0,1 L9,5 L0,9 z"/></marker></defs><line class="e" x1="591.5" y1="39" x2="283.5" y2="103"/><line class="e" x1="283.5" y1="103" x2="129.5" y2="167"/><line class="e" x1="283.5" y1="103" x2="437.5" y2="167"/><line class="e" x1="129.5" y1="167" x2="52.5" y2="231"/><line class="e" x1="129.5" y1="167" x2="206.5" y2="231"/><line class="e" x1="437.5" y1="167" x2="360.5" y2="231"/><line class="e" x1="437.5" y1="167" x2="514.5" y2="231"/><rect class="n" x="565.5" y="24" width="52" height="30" rx="8"/><text class="t" x="591.5" y="39" dy=".35em" text-anchor="middle">Root</text><rect class="n" x="250" y="88" width="67" height="30" rx="8"/><text class="t" x="283.5" y="103" dy=".35em" text-anchor="middle">H12 34</text><circle class="n" cx="129.5" cy="167" r="17"/><text class="t" x="129.5" y="167" dy=".35em" text-anchor="middle">H12</text><circle class="n" cx="52.5" cy="231" r="17"/><text class="t" x="52.5" y="231" dy=".35em" text-anchor="middle">H1</text><circle class="n" cx="206.5" cy="231" r="17"/><text class="t" x="206.5" y="231" dy=".35em" text-anchor="middle">H2</text><circle class="n" cx="437.5" cy="167" r="17"/><text class="t" x="437.5" y="167" dy=".35em" text-anchor="middle">H34</text><circle class="n" cx="360.5" cy="231" r="17"/><text class="t" x="360.5" y="231" dy=".35em" text-anchor="middle">H3</text><circle class="n" cx="514.5" cy="231" r="17"/><text class="t" x="514.5" y="231" dy=".35em" text-anchor="middle">H4</text></svg><figcaption style="font-size:.82em;opacity:.72;margin-top:.45rem">Merkle tree of four transactions T1 to T4. H1 to H4 are leaf hashes and the Merkle root sits at the top.</figcaption></figure>
Merkle points. The root is stored in the block header, so it summarises all transactions. To prove that one transaction is in the block, only about $\log_2 n$ hashes are needed, for example 2 hashes for 4 transactions. Changing any transaction changes the root.
Answer frame. Open with the definition; list the properties in order 2-5; draw the Merkle tree; explain hash pointers; close with the root stored in the block header.
Digital Signature, Public Key Cryptography, A basic crypto currency
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>
Definition. <mark>A digital signature is a value produced with the signer's private key over the hash of a message, which anyone can verify with the signer's public key.</mark>
Key points.
- Public key cryptography uses a key pair, where the public key is shared openly and the private key is kept secret.
- Signing: the sender hashes the message and encrypts the hash with the private key.
- Verifying: the receiver recomputes the hash and compares it with the signature decrypted using the public key; a match proves the signature is valid.
- A signature gives authenticity, integrity and non-repudiation, because only the private key holder could have produced it.
- In blockchain, a public key (or its hash) acts as the address and the private key authorises spending.
- In a basic cryptocurrency such as Scrooge coin, a central party publishes a hash-pointed ledger of signed transactions, and each coin can be spent only once, which prevents double spending.
Answer frame. Open with the definition; give the sign and verify steps 2-3 in order; then points 4-6; close with the role of signatures in authorising transactions.
Last-minute revision
- A blockchain is a distributed, append-only ledger of hash-linked blocks.
- A block header holds the previous hash, Merkle root, timestamp and nonce.
- Consensus makes untrusting nodes agree on one ledger.
- Public chains are open to all, private chains restrict membership.
- Permissioned chains allow only identified members and use cheap consensus.
- SHA-256 gives a 256-bit digest.
- Hash properties are pre-image, second-pre-image and collision resistance.
- A hash pointer is the address of data plus its hash.
- A Merkle root summarises all transactions, and a proof needs about log n hashes.
- A signature is made with the private key and verified with the public key.
- A smart contract is code that runs automatically on the chain.
Memory hooks
- Block = box with a lock (its hash) and the previous box's key (previous hash).
- Hash properties: PSC, that is Pre-image, Second-pre-image, Collision.
- Private key signs, public key verifies.
- Merkle tree: many leaves, one root, log n proof.
- Security triangle: hash, signature, consensus.
Coverage checklist
- Introduction: Overview of Block chain, Public Ledgers, Bit coin, Smart Contracts (no past questions)
- Block in a Block chain, Transactions, Distributed Consensus, Public vs Private Block chain (no past questions)
- Understanding Crypto currency to Block chain, Permissioned Model of Block chain, Overview of Security aspects of Block chain (no past questions)
- Basic Crypto Primitives: Cryptographic Hash Function, Properties of a hash function, Hash pointer and Merkle tree (no past questions)
- Digital Signature, Public Key Cryptography, A basic crypto currency (no past questions)