ashishb.net

Technology, books, travel, and linguistics

#all

Stanford CS251: Lecture 12

Recap: alt-coins Bitcoin is a replicated state machine, the system moves within S States with I inputs producing O outputs. For Bitcoin, S is the set of UTXOs. For Namecoin, the state consists (name, value). Ethereum’s goal was to implement […]

#all

Stanford CS251: Lecture 11

Lecture 11: Altcoins Three ways to improve Bitcoin Code update – This can update or change the P2P network Soft fork – To introduce a stricter verification for example P2SH Hard fork – transaction improvements and consensus change Altcoin = […]

#all

Stanford CS251: Lecture 10

Lecture 10: Anonymity on Blockchain (Coinjoin continued from the previous lecture) Each participant writes an input transaction (input address, change address) on say Pastebin. Over Tor, each participant writes an output address. These two entries and not linkable to each […]

#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 […]