Copies of the blockchain shared across many computers

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

Copies of the blockchain shared across many computers

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

1. Where is a blockchain ledger stored?
A A copy is kept on many computers
B One copy is kept on a single central server
2. Who controls a blockchain ledger?
A The bank that created it
B No single person or company
3. Which statement about the copies of a blockchain is correct?
A Each computer keeps a different version
B Every copy matches
4. A hacker changes a transaction on their own copy of the blockchain. What happens?
A The change is spotted by comparing it with the other copies
B All the other copies change to match it automatically
5. Why is a shared ledger hard to cheat?
A A cheat would have to change the copies on many computers
B A cheat only needs to change one computer's copy

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1decentralised ledger AA blockchain is not held by one organisation. Many computers each keep a copy, so no single company controls it.
2copy1 == copy2 == copy3 BEvery copy of the blockchain matches the others when no one has cheated
3A changed copy is spotted by comparing it with the other copies Ccomputers = 5000 copies = 5000
4No single owner: many computers each keep a copy of the ledger DEditing one copy does not change the others. The edited copy no longer matches and is spotted when compared.
5Only the bank keeps the blockchain ledger Eif myCopy != otherCopies then reject
6A hacker edits one copy, so all copies change FA blockchain ledger copied on many computers, so no one person or company controls it

Definitions

decentralised ledger

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
IF myCopy __ majorityCopy THEN OUTPUT "Changed copy spotted" ENDIF
2.
FOR node ← 1 __ 5 OUTPUT ledger[node] NEXT node
3.
DECLARE copies : _____[1:1000] OF STRING
4.
IF myCopy = otherCopy THEN matches ← matches _ 1 ENDIF
5.
IF matches _ total / 2 THEN OUTPUT "Copy accepted" ENDIF

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A computers ← 1
B FOR c ← 1 TO computers
C copy[c] ← ledger
D NEXT c
Question 2
A copies ← 1000
B allMatch ← TRUE
C OUTPUT 'Copies match'
D owner ← 'One company'
Question 3
A mine ← hash(myCopy)
B other ← hash(theirCopy)
C IF mine = other THEN
D OUTPUT 'Changed copy'
E ENDIF
Question 4
A matching ← 4
B total ← 5
C valid ← matching < total / 2
D OUTPUT valid
Question 5
A copyA ← 'Ava pays Ben 5'
B copyB ← 'Ava pays Ben 5'
C copyC ← 'Ava pays Ben 50'
D bad ← copyA
E OUTPUT bad

Answer Key

Copies of the blockchain shared across many computers
Section A: Quick Questions
Q1
A — A copy is kept on many computers
Q2
B — No single person or company
Q3
B — Every copy matches
Q4
A — The change is spotted by comparing it with the other copies
Q5
A — A cheat would have to change the copies on many computers
Section B: Match the Pairs
Q1
decentralised ledger → A blockchain ledger copied on many computers, so no one person or company controls it
Q2
copy1 == copy2 == copy3 → Every copy of the blockchain matches the others when no one has cheated
Q3
A changed copy is spotted by comparing it with the other copies → if myCopy != otherCopies then reject
Q4
No single owner: many computers each keep a copy of the ledger → computers = 5000 copies = 5000
Q5
Only the bank keeps the blockchain ledger → A blockchain is not held by one organisation. Many computers each keep a copy, so no single company controls it.
Q6
A hacker edits one copy, so all copies change → Editing one copy does not change the others. The edited copy no longer matches and is spotted when compared.
Section C: Definitions
Q1
decentralised ledger — A blockchain ledger copied on many computers. No one person or company controls it, and a changed copy is spotted by comparing it with the others.
Section D: Fill in the Blanks
Q1
IF myCopy <> majorityCopy THEN OUTPUT "Changed copy spotted" ENDIF
Q2
FOR node ← 1 TO 5 OUTPUT ledger[node] NEXT node
Q3
DECLARE copies : ARRAY[1:1000] OF STRING
Q4
IF myCopy = otherCopy THEN matches ← matches + 1 ENDIF
Q5
IF matches > total / 2 THEN OUTPUT "Copy accepted" ENDIF
Section E: Spot the Error
Q1
A — A shared ledger needs many computers, each holding a copy. With only 1 computer there is a single copy, so it would not be decentralised. It should be a number greater than 1, such as 5.
Q2
D — A decentralised ledger has no single owner. No one person or company controls it, so owner should be NONE.
Q3
C — A changed copy is spotted by comparing it with another copy. The message 'Changed copy' should only show when the two hashes are different, so the test should be mine <> other, not mine = other.
Q4
C — A copy is accepted as valid when MORE than half of the copies match it. The comparison should be matching > total / 2, not <.
Q5
D — copyC is the only copy that differs from the others, so it is the changed copy. It is spotted by comparing it with the other copies. It should be bad ← copyC.