Introduction to bit coin


Published on

RSVP for Data Science Classes at

Published in: Education, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Introduction to bit coin

  1. 1. NYC Data Science Academy Introduction to BitCoin
  2. 2. NYC Data Science Academy P2P: Peer-to-Peer Network  A peer-to-peer (P2P) network is a type of decentralized and distributed network architecture in which individual nodes in the network (called "peers") act as both suppliers and consumers of resources, in contrast to the centralized client–server model where client nodes request access to resources provided by central servers.  Peers are distributed in the whole Internet. It is hard to control and monitor the network activities. It is widely used in fields asking for high privacy. A P2P network A network based on the client-server model
  3. 3. NYC Data Science Academy BitCoin  The fundamental paper by Satoshi Nakamot  Feature: Based on algorithm and public recognition, Decentralized  Scarcity, Mining, SHA256, Easy to exam, limit of speed  Comparing to Gold. Does bitcoin worth it?  Is BitCoin a Ponzi Scheme?  BitCoin and Anarchism  Problems: Copycats, Deflation, Anti-Conservation  How to maintain and manage the P2P network?
  4. 4. NYC Data Science Academy Blueprint of Electronic Money
  5. 5. NYC Data Science Academy Duplicated transactions  Solution: An authorized organization to record and exam transactions  A Mint is an organization that produce valid electronic money(avoid duplicated transactions). Receiver of a transaction need to send electronic money back to the mint for validation.  Pitfall: Relying too much on the central organization (Breakdown, Attacked, Manipulated, Monitored or Spied)
  6. 6. NYC Data Science Academy Basic Concepts: the system of Bitcoin  Block: account book  Transaction  Bitcoin  Item: record of transactions  Transactions are recorded by Items  A block consists of many items (and other data)  Many blocks form a chain  Iterate over the items in the block chain to check account balance and transaction validity,
  7. 7. NYC Data Science Academy Experiment: Check a block   Enter your block number to see the data
  8. 8. NYC Data Science Academy What is inside a Block?
  9. 9. NYC Data Science Academy Transaction
  10. 10. NYC Data Science Academy Block  Bitcoin system only record blocks but not balance. Balance is calculated from items (records of transactions) in blocks  Every block stores all the items from all over the world in ten minutes. And there will be a new block every ten minutes. The speed is stable.  Number of items in a block is not stationary  Every node is producing block but the valid block is unique. We will talk about it later.  An ideal block: Block ID Item 1, Item 2, ... Item n Previous Block ID, Next Block ID, Other Information
  11. 11. NYC Data Science Academy Block Chain  Blocks are connected by doubly linked list according to their generation order. This structure is convenient for iteration.  Every node is storing a block chain. Finally these chains are all the same, as the only valid one in the system. The 1st Block Block ID Prev ID Next ID The 2nd Block Block ID Prev ID Next ID The 3rd Block Block ID Prev ID Next ID
  12. 12. NYC Data Science Academy Bitcoin and block generation  How to create Bitcoin: generate blocks (Fierce competitions of the generation, that is what we called 'Mining' .)  Rules: the first to the 210 thousand-th block worth 50 Bitcoins each, the 210 thousand-th to the 420 thousand-th block woth 25 Bitcoins, and so on. Repeating this procedure, we will get in total 21Million Bitcoins.  Because the real-world is always expanding, Bitcoin is determined to meet the problem of deflation.  Blocks will be generated cotinuously, because transactions will be charged for the service.
  13. 13. NYC Data Science Academy Security  Private key and Public key, digital signature  SHA256:
  14. 14. NYC Data Science Academy Security  Private key and Public key, digital signature  SHA256:
  15. 15. NYC Data Science Academy Security  Enough money for the transaction (Solved)  Authenticity of transaction  Repeat Transactions
  16. 16. NYC Data Science Academy Authenticity of transaction: Digital Signature
  17. 17. NYC Data Science Academy  Calculate a hash number a, from all the data of block A.  Store a in the next block B.  Verify that if A is the previous block of B: Calculate a from A again, then compare to the hash number x stored in B.  Generate b from B and store it in C. Then we repeat this process and will get a block chain. Duplicated Transactions: Timestamp Block Previous hash number x Item Item Item Item Block Previous hash number x Item Item Item Item
  18. 18. NYC Data Science Academy Timestamp  Do not rely on the local time, only related to the order of blocks  If there's a center maintaining the chain of valid blocks, it would be easy to check duplicated transactions.  How to achieve it in a decentralized network?
  19. 19. NYC Data Science Academy Problems of P2P  Various network condition  Nodes are not running 24/7  No center for management  May exist evil nodes
  20. 20. NYC Data Science Academy Bitcoin solution of P2P  Proof of Work  Controlling of block generation speed  Block broadcast and valid block chain
  21. 21. NYC Data Science Academy Proof of Work 1. Calculate a hash number from the latest block 2. Keep receive items that are broadcasted but not inside any blocks. Check them and delete invalid ones(not enough money). 3. Randomly choose a number, Nounce. 4. Group data in step 1~3 and use SHA256 to calculate a 256bit hash number x. 5. Verify if there are enough leading 0s in x. If yes, then verify if this x meets the difficulty. If yes, then this process is finished. 6. Else, repeat from step 2. If there's a new block from other nodes, we need to restart the whole process.
  22. 22. NYC Data Science Academy Difficulty of Proff-of-Work 
  23. 23. NYC Data Science Academy Difficulty  Controlling the speed of block generation. Updated every 2016 blocks (2 weeks) .  Difficulty = maximum_target / current_target  The target is a 256-bit number (extremely large) that all Bitcoin clients share. The SHA- 256 hash of a block's header must be lower than or equal to the current target for the block to be accepted by the network. The lower the target, the more difficult it is to generate a block.  Max target: 00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  Current target (this is changing): 0000000000000000B3AA00000000000000000000000000000000000000000000
  24. 24. NYC Data Science Academy Bits  Each block stores a packed representation (called "Bits") for its actual hexadecimal target. The target can be derived from it via a predefined formula. For example, if the packed target in the block is 0x1b0404cb, the hexadecimal target is  0x0404cb * 2**(8*(0x1b - 3)) = 0x00000000000404CB000000000000000000000000000000000000000000000000
  25. 25. NYC Data Science Academy Difficulty is a Global parameter  If there's the only valid block chain, every node will get the same difficulty.  Difficulty is controlling the speed of block generation  Difficulty is also useful when checking a block's validity.
  26. 26. NYC Data Science Academy Meaning of Difficulty  Control the speed and avoid inflation. A rapid increase in computation power is not affecting the generation speed.  Increase the cost of cheating.  The P2P netword need a lot of nodes to ensure the security (avoid manipulation). Difficulty is what drives nodes running.
  27. 27. NYC Data Science Academy Temporal Block  Content of the block: 1. x genereted from SHA256, as the block ID 2. All the collected valid items 3. Random Number n 4. The latest hash number from the global block chain 5. Other informations  Broadcast this block to the P2P network  What will other nodes do: Duplication transactions and Validation
  28. 28. NYC Data Science Academy Validation  Get items in the block  Check if there's duplicated items  Other validation steps  Link this block to the end of the locally stored 'Global Block Chain' . It is not formally added to the global block chain yet.
  29. 29. NYC Data Science Academy Braches  A node will receive many new blocks generated from a common global chain.  For each block, generate braches locally.  Nodes are receiving blocks in different time points, and this leads to different local braches.  When there comes a longer chain, a node will turn to the longer one and discard the shorter one.  This algorithms will ensure the convergence to the longest chain.
  30. 30. NYC Data Science Academy Example of Braches  The Green block is the 1st block of the world.  Black blocks represents the longest block chain, and validated to be the global chain.  Grey blocks are blocks on local braches, and discarded finally.
  31. 31. NYC Data Science Academy Example of Braches 1. The form of two braches. 2. The right brach receive a new block and we discard the left one. 3. Again, different blocks linked to the end of global chain.
  32. 32. NYC Data Science Academy Example of Braches 4. Firstly we receive two more blocks on the right brach 5. And another two blocks on the left brach, now these two braches are still of the same length. 6. Receive another block and we finally discards the right one.
  33. 33. NYC Data Science Academy Example of Braches 7. The left brach receives another block. 8. Another one added to the left branch.
  34. 34. NYC Data Science Academy Example of Braches  Finally, we have our longest block chain.
  35. 35. NYC Data Science Academy Confirm the Transaction  To confirm a transaction, we need to add it to a newly generated block, and after 5 more blocks, this transaction could be finally confirmed and the transaction is successfully recorded.  After 6 blocks added to the global chain, it is nearly impossible to cheat or attack the original chain. The cheater cannot find a cluster that overwhelms all the other honest nodes and add 6 more fake blocks to the global chain.  Once the transaction is confirmed, it is almost impossible to modify or cancel.
  36. 36. NYC Data Science Academy Summary of security of Bitcoin  All nodes in a P2P network monitor and save the global unique transaction backup  Timestamp ensure the order of blocks is valid  SHA256 ensure the generation of a block is hard, but validation is easy.  Proof-of-Work ensure the majority (honest nodes) have the true transaction record.
  37. 37. NYC Data Science Academy Problems of Bitcoin system  Privacy  Transaction needs a lot of time to be confirmed  Deflation  Anti Conservation  Increasing amount of data
  38. 38. NYC Data Science Academy Bitcoin in Action!  How to register?  How to mine?  How to trade Bitcoin?  How to pay with Bitcoin?
  39. 39. NYC Data Science Academy The official website 
  40. 40. NYC Data Science Academy What? There's official website? 
  41. 41. NYC Data Science Academy Bitcoin Wallet  MultiBit
  42. 42. NYC Data Science Academy Need Screenshot from Mac or just demonstration in real time  Need Screenshot from Mac or just demonstration in real time
  43. 43. NYC Data Science Academy Bitcoin Miner  GUIMiner
  44. 44. NYC Data Science Academy Popular Mining Website  Deepbit  BTCGuild  BMP
  45. 45. NYC Data Science Academy Need Screenshot from Mac or just demonstration in real time  Need Screenshot from Mac or just demonstration in real time
  46. 46. NYC Data Science Academy Bitcoin exchange  Mt.Gox: It was the largest website, but closed in February 2014.  BTC-E:  Bitstamp:
  47. 47. NYC Data Science Academy Pay with Bitcoin  Bitcoin is told to be the best currency for illegal missions.  But publicly it is not very popular.  Donate bitcoin to personal projects is more popular. As in the popular game 2048.
  48. 48. NYC Data Science Academy FAQ FAQ