2. Blockchain
★ Addresses (Accounts)
○ createKey() -> (privateKey, pubKey)
○ verifySignature(pubKey, makeSignature(privateKey, data)) -> True
★ Blocks
○ Every ~15s
○ Transactions
○ Prevent double spending
○ Mining
■ Difficulty
■ hash(serialized(transactions)+nonce) -> N bits, 00000....difficulty...101011011101
■ rewards coins
■ limited supply of coins
○ P2P (every node has the full blockchain containing the history of all transactions)
■ Simplified wallet apps which only have private key for making transaction, delegating
transaction processing to blockchain access service provider