Skip to content
AD-604 (B) · Block Chain Technologies/Quick Revision Short Notes

Block Chain Technologies (AD-604 (B)) - Unit 1 Short Notes

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Data is append-only, which means new blocks are added at the end and old blocks are never edited, giving immutability.
  6. 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.

  1. A block has a header (previous hash, Merkle root, timestamp, nonce) and a body holding the list of transactions.
  2. A transaction transfers value from one address to another and is signed with the sender's private key, so it cannot be forged.
  3. Because each block holds the previous block's hash, changing any old block changes every hash after it, which makes tampering obvious.
  4. 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.
  5. 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.

  1. Cryptocurrency is only one application of blockchain, while blockchain can also serve supply chains, identity, land records and contracts.
  2. In the permissioned model only identified and authorised nodes may read, write or validate, which suits enterprises that need accountability and privacy.
  3. Permissioned chains use cheap consensus such as voting instead of mining, so they give high throughput and low cost.
  4. Security rests on three tools: hashing gives tamper evidence, digital signatures give authenticity, and consensus gives agreement.
  5. 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.
  6. 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.

  1. A hash function is deterministic, so the same input always gives the same output, and it is fast to compute.
  2. It shows the avalanche effect, meaning a tiny change in the input changes the output completely.
  3. Pre-image resistance (one-way): given a hash $h$, it is infeasible to find any $m$ with $H(m)=h$.
  4. Second-pre-image resistance: given $m_1$, it is infeasible to find a different $m_2$ with $H(m_1)=H(m_2)$.
  5. Collision resistance: it is infeasible to find any two different inputs with the same hash.
  6. 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.
  7. A blockchain is a linked list built with hash pointers, so tampering with one block breaks every pointer after it.
  8. 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.

  1. Public key cryptography uses a key pair, where the public key is shared openly and the private key is kept secret.
  2. Signing: the sender hashes the message and encrypts the hash with the private key.
  3. Verifying: the receiver recomputes the hash and compares it with the signature decrypted using the public key; a match proves the signature is valid.
  4. A signature gives authenticity, integrity and non-repudiation, because only the private key holder could have produced it.
  5. In blockchain, a public key (or its hash) acts as the address and the private key authorises spending.
  6. 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)
Go to where you left off?

Quick Add to Notes

Save questions, your own notes and screenshots into notes filed by unit. It takes a free account.

Create free account

Have an account? Log in