Special Topics in Blockchain
Notes
Lecture 1
Blockchain connects many historical fields in and out of CS
It has two historical roots:
- Digital money (Bitcoin)
- Distributed systems (Blockchains)
What money is has evolved. Barter -> Physical assets -> Paper currency tied to physical assets -> Fiat currency
- But what if we go digital?- What if we want to have the privacy advantage of cash?
- We could use a “signed” banknote which has been signed by the bank in some blind way, but we now have the problem of double spending since unlike physical goods there is only information being passed around
Money
Bitcoin replaces the “talking with authority” with a peer-to-peer connection.
It creates a public bulletin board where
- Anyone can write
- Anyone can read
- Writes cannot be removed
- Anyone can help run the board (permissionless)
In order to make a transfer, you post on the bulletin board, but now it isn’t private.
Distributed Systems
The public bulletin board can be generalized and used to store a state machine (computer)
How can a set of nodes agree on the same state?
- Even when nodes fail/act maliciously
Classical protocols usually focus on fault-tolerance and assume a known set of nodes
Web 3 Vision “Computer in the sky”
- Do arbitrarily computation without coordination in a publically verifiable way
- More transparent + no centralized authority
There is a shared state Anyone can submit a transaction - a proposal to update the state
Transactions are added to the ledger (order bulletin board), nodes execute transactions sequentially and update their state
Layers
Applications: Wallet, Lending, Exchange Layer 2: Move/Batch/Compress Work/Scalability Layer 1: Consensus, Ordering, execution, shared state Layer 0: Internet + P2P Networking
Do you need a blockchain?
Tentative topics
Consensus, Execution