Introduction to Blockchain Technology: Lecture 8a Flashcards
Why can’t pay online in the past?
No electronic cash and security
Why was BTC invented?
To allow transfer of money peer-to-peer without any trusted centralized intermediary
Flow of Tech
1) Ethernet
2) TCP/IP
3) HTTP
4) SSL/TLS
5) Bitcoin
What is a blockchain?
1) Timestamped append-only log
2) Auditable database Secure via Cryptography - Hash functions are for tamper resistance and integrity - Digital signatures for consent - Consensus for agreement
3) Addresses ‘cost of trust’ (Byzantine Generals Problem)
- Permissioned (Only invited)
- Permissionless (Any one can join the network)
Permissioned Blockchains
- Known set of participants (Only authorised nodes can join)
- No proof-of-work or mining
- No need for a native currency
- Distributed database technology
Permissionless Blockchains
- Unknown participants
- Security based on incentives
(If want participants to find the nonce to put the block into the chain, need to incentivise to motivate them to do it) - Native Currency
- Crypto-economics
Bitcoin and its technical features
1) Cryptographic Hash Functions
2) Timestamped Append-only Logs (Blocks)
3) Block Headers & Merkle Trees
4) Asymmetric Cryptography & Digital Signatures
5) Addresses
6) Consensus through Proof of Work (PoW)
7) Network of Nodes
8) Native Currency
9) Transaction Inputs & Output
10) Unspent Transaction Output (UTXO)
11) Scripting Language
Properties of Hash Functions
1) Pre-image resistant (one-way): Infeasible to determine x from hash(x)
2) Collision resistant: Infeasible to find x and y where Hash(x) = Hash(y)
3) Avalanche effect: Change x slightly and Hash(x) changes significantly
4) Puzzle friendliness: Knowing Hash(x) and part of x it is still very hard to find the rest of x
Block Header
1) Version
2) Previous Block Hash
3) Merkle Root Hash
4) Timestamp
5) Difficulty Target
6) Nonce
Proof of Work (PoW)
Hash of previous block + Transaction hash + Timestamp + Nonce
Network
Full Nodes - Store full Blockchain & able to validate all transactions
Pruning Nodes - Prune transactions after validation and aging
Lightweight Nodes - Simplified payment verification nodes, they store Blockchain Headers only
Miners - Performs PoW and crease new blocks, they do not need to be a Full node
Mining pool operators
Wallets - Store, view, send and receive transactions and create key pairs
Mempool - Pool of unconfirmed (yet validated) transactions
Proofs
Randomised selection may be based upon:
Proof of Stake - Stake in Native Currency
Proof of Activity - Hybrid of PoW and PoS
Proof of Burn - Validation comes with burning of coins
Proof of Capacity (Storage or Space) - Based upon hardware space.
Delegated selection may be based on upon Tiered Systems of nodes