introduction to bitcoin and distributed systems
play

Introduction to Bitcoin and Distributed Systems Prof. Tom Austin - PowerPoint PPT Presentation

Cryptocurrencies & Security on the Blockchain Introduction to Bitcoin and Distributed Systems Prof. Tom Austin San Jos State University Review Lab HW1: DigiCash Lite (DCL) So why did DigiCash fail? Poor business decisions?


  1. Cryptocurrencies & Security on the Blockchain Introduction to Bitcoin and Distributed Systems Prof. Tom Austin San José State University

  2. Review Lab

  3. HW1: DigiCash Lite (DCL)

  4. So why did DigiCash fail? • Poor business decisions? • Financial institutions not ready for cryptocurrencies? • Governments worried about money laundering?

  5. An alternate approach is for everyone to track all transactions, and vote whenever a discrepancy arises.

  6. Bitcoin • Protocol designed by Satoshi Nakamoto in 2008 https://bitcoin.org/bitcoin.pdf • First Bitcoin client launched in 2009 • Peer-to-peer – no centralized control – Every client keeps track of the history of all bitcoins

  7. What is a cryptocoin worth? Some cryptocurrencies tie there value to another currency. Other cryptocurrencies (such as Bitcoin) are not tied to any other currency. We'll follow this model.

  8. Digital Currency – Ledger Alice: 20 Alice: 20 Bob: 11 Bob: 11 Charlie: 5 Charlie: 5 David: 34 David: 34 Bob Alice: 20 Bob: 11 Alice Charlie: 5 Alice: 20 David: 34 "I am giving 10 Bob: 11 Charlie: 5 cryptocoins David: 34 to Bob" Charlie David

  9. Digital Currency – Ledger Alice: 5 Alice: 5 Bob: 11 Bob: 11 Charlie: 20 Charlie: 20 David: 34 David: 34 Bob Alice: 5 Bob: 11 Alice Charlie: 20 Alice: 5 David: 34 "I am giving 15 Bob: 11 Charlie: 20 cryptocoins David: 34 to Charlie" Charlie David

  10. Digital Currency – Ledger Invalid transaction! Invalid Bob transaction! Alice "I am giving 8 cryptocoins Invalid to David" transaction! Charlie David

  11. Lab, part 1: Implement a Distributed Ledger Details in Canvas and on course website.

  12. Goals of a Distributed Protocol • Consistency – Every read receives most recent write (or an error). • Availability – Every request receives a (possibly stale) response. • Partition tolerance – System continues to operate despite messages being dropped/delayed.

  13. Unfortunately, we can't have all three. (At least, not all of the time).

  14. CAP theorem • Also known as Brewer's theorem . • Proves we can't guarantee consistency, availability, and partition tolerance. – We can get all 3 most of the time . • When there is an error, which do we choose?

  15. Which do protocols forfeit? All have their place. • Sacrifice Partition Tolerance – Single-site databases – (Not an option for distributed systems) • Sacrifice Availability – Distributed databases – Majority protocols • Sacrifice Consistency – DNS

  16. Bitcoin • Partition tolerance – Yes – pretty much essential for dist. protocols • Availability – Yes – Extremely resistant to censorship • "Eventually consistent" – Fancy term for "not consistent" – Transactions may be dropped – But… pretty good after a while

  17. Lab, part 2: Break consistency of distributed ledger See details on Canvas/course website.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend