ashishb.net

Technology, books, travel, and linguistics

#all

Stanford CS251: Lecture 9

Lecture 9: Wallet & Anonymity Wallet A user has a lot of bitcoin address, each of which is H(p_k) or H(script). A wallet manages p_k/s_k, post/verify transactions,  and show balances. A wallet can be Cloud wallets like Coinbase or desktop […]

#all

Stanford CS251: Lecture 8

Lecture 8 – Alternative consensus Puzzle solutions are probabilistic proof of work. A typical puzzle utilization function can be modeled as P(challenge, randomness – nonce, difficulty, …) -> true/false P(c, r, d) for Bitcoin is SHA256^2(c, r, d) <= 2^256-d […]

#all

Stanford CS251: Lecture 7

Lecture 7: Community, Economics, and Politics David Chaum – digital cash in 1981 Satoshi Nakamoto – Oct 2008, bitcoin.org was registered in Aug 2008 Genesis block was mined in Jan 2009 First BTC payment – Feb 2010 First online exchange […]

#all

Stanford CS251: Lecture 6

Lecture 6: Bitcoin Miner interactions and Game Theory Game Theory: P x S -> R x P P: Players S: Strategies R: Rewards Examples For the prisoner’s dilemma, tit-for-tat with some positive randomization is the best strategy. Trench soldiers in […]

#all

Stanford CS251: Lecture 5

Lecture 5: Bitcoin mining How to mine Bitcoin Download and run Bitcoin-core to run full Bitcoin node Listen for a new transaction, assemble a pre-block Solve the puzzle (~270 attempts) Broadcast the block Profit The network runs on port 8333. Non-responding […]

#all

Stanford CS251: Lecture 4

Lecture 4: Blockchains 80 bytes block consists of 32 bytes previous block hash, 32 bytes transactions Merkle tree hash, timestamp, bits, nonce, etc. Each block is <= 1MB to minimize the propagation times. Therefore, large transactions require more service fee […]

#all

Stanford CS251: Lecture 3

Lecture 3: Bitcoin overview There are three Bitcoin protocols Consensus Protocol – decides what the ledger is Transaction Protocol – assigns meaning to the ledger Network Protocol – the P2P protocol which decides what new should be added to the […]

#all

Stanford CS251: Lecture 2

Lecture 2: Creating a digital currency Desirable properties of a good digital ledger No deletion Temporal ordering Global consensus Semantic correctness Live – writable, no DOS, no censorship Attempts to create a digital currency in the increasing order of sophistication. […]

#all

Stanford CS251: Lecture 1

Lecture 1: Introduction Bitcoin is a cryptocurrency with distributed trust. The blockchain is a public append-only ledger. The append-only property is sufficient for having a currency. Hash functions: H: M -> T where |M| >> |T| that is space of […]