9 - Using Hash Functions for blockchain Flashcards

1
Q

Permissionless Blockchain

A

Anybody can join, identity and number of users not required

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Permissioned Blockchains

A

Users are checked/authorised

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

General principles of blockchain

A
  • Decentralised database (all participants keep ledger copy of all data)
  • Data organised in blocks
  • Blocks form chain
  • New data is collected in new block and added to end
  • Blocks NEVER deleted
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Each block has a hash of what?

A

The previous block

Creates agreement between blocks and tampering etc

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

If someone changes data in a block, what happens?

A

They need to change the hashes all the way forward in the blocks. (all blocks after).

Everyone else must also agree though either by collusion of more than 50% agreeing or proof of work

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Typically, data put in blockchain is authenticated by…

A

digital signatures

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Proof Of Work

A

Ensures a valid message can only be created by spending a certain amount of resources

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Using a hash function H for proof of work

A
  • message m, append a nonce r (random string of bits, small fixed length)
  • Compute H(m||r)
  • Check if resulting hash conforms to a pattern (eg 20 zeroes start). If not, repeat with another r.

Requires trying many nonces r.
Publish m||r with success

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Bitcoin miner

A
  • Takes list of transactions
  • checks they are valid (sig genuine and bitcoin not spent)
  • Builds new block

They compute a “proof-of work” for that block and write the successful nonce as a block field.

  • Successful nonce is broadcast by whoever finds it first.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Bitcoin miner: what do other participants do when successful block found?

A
  • Check it’s valid by checking the transactions and proof-of-work.
  • Add block to their copy of blockchain
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Using proof of work for anti spam

A
  • sender must produce nonce r that H(m||| address || r) satisfies the condition (pattern etc)
  • Required for each individual email address sent to, so cost is proportional to recipients
How well did you know this?
1
Not at all
2
3
4
5
Perfectly