bitcoin proof of work
play

Bitcoin Proof of Work Require a unit of work to do a task Send - PowerPoint PPT Presentation

Bitcoin Proof of Work Require a unit of work to do a task Send email Access a website Process a Bitcoin transaction Why? Prevent spam Prevent denial of service attacks Rate-limit the network HashCash Find a partial


  1. Bitcoin

  2. Proof of Work • Require a unit of work to do a task • Send email • Access a website • Process a Bitcoin transaction

  3. Why? • Prevent spam • Prevent denial of service attacks • Rate-limit the network

  4. HashCash • Find a partial pre-image of a hashed value. • Hashcash: SHA-1 • Bitcoin: SHA-256 • Hashcash: at least the first 20 digits (out of 160) need to be 0 • Bitcoin: at least the first T digits (out of 256) need to be 0 • Question: what security properties does this have?

  5. Merkle Tree

  6. From previous classes • Byzantine consensus • Hash function

  7. 8

  8. 9

  9. 10

  10. 11

  11. Bitcoin • Bitcoin is a public , digital , decentralized currency. • Public • Every transaction (past or current) can be read by anybody. • Digital • There are no bills, only bits to represent transactions. • Decentralized • Bitcoins are mined, not minted, by a collection of actors, not a central bank. • Anybody can create an account and receive bitcoin. • Anybody can try to mine bitcoin. • Rules are set by computer code and changed upon a consensus of the actors. 12

  12. Cash vs. Digital Cash • Properties of digital cash • Properties of traditional cash • Anonymous • Pseudo-anonymous • Transferable • Transferable • No transaction fees • Very low transaction fees • Total money supply expendable, • Total money supply fixed, set set by central bank by protocol. 13

  13. Why Scammers Use Bitcoin • Lower fees (more profit for criminals) • Large userbase (compared to other digital currencies) • Easy to get (can exchange Bitcoin for cash on the street) • Distributed system (no Bank of Bitcoin to forcibly shut down) • Less direct regulatory oversight (anti-money laundering efforts only on some endpoints) 14

  14. Bitcoin Give green 0.25 BTC 0.25 BTC 15

  15. Merkle Tree

  16. Blockchain

  17. Block Header • version • previous block header hash • merkle root hash • time when miner started hashing the header • nBits (representation of difficulty level) • nonce

  18. Mining • https://www.youtube.com/watch?v=GmOzih6I1zs • Hashcash • Difficulty set by speed of network • Once solution is found, broadcast block to network • If valid, mining begins on merkle root including the block • Otherwise, everybody ignores it.

  19. Mining Pools • Miners group together to share rewards, divide the work • Lowers the variance for revenue. • Centralization in a decentralized network

  20. 51% attack • Attacker owns more than half of the miners • Doublespend: Reverse transactions that he sends while he's in control. • Prevent some or all transactions from confirming • Prevent other miners from mining any blocks

  21. Block Withholding Attacks • if we gain a lead: • withhold blocks 
 mine on private chain • else if lead shrinks, but is still at least alpha: • reveal blocks to keep abreast with public chain • else if lead drops below alpha: • reveal all blocks 
 mine on public chain

  22. Spam attack • Fill up the blockchain with small, insignificant transactions • Prevent others from transacting

  23. Mempool

  24. Confirmed Transactions

  25. Blockchain Size

  26. Theft of Bitcoin • “Be your own Bank” • Steal the keys, steal the bitcoin forever • Bad passwords • Bad randomness • Bad security hygiene

  27. Sybil Attack • Single adversary controls a lot of nodes • From these nodes, can carry out a 51% attack

  28. Blacklisting • Stop transactions from being processed to/from a node

  29. Fungibility • Each Bitcoin is worth the same amount as every other Bitcoin • Does this property hold?

  30. Questions • With the rise of 51% attacks: • why? to what end? • when will this stop? • What are the points of centralization in this network? • Is this inevitable?

Recommend


More recommend