Bitcoin

2,403 views

Published on

Published in: Technology, Education

Bitcoin

  1. 1. BitcoinBamdad Dashtban@bamdad#TWUKNorth #Thoughtworks
  2. 2. Content• Introduction on Bitcoin• How to use and trade• Some concepts• Some advanced concepts• Mining• Developers• Bitcoin Community
  3. 3. What is Bitcoin?•  Cryptocurrency•  Satoshi Nakamoto’s paper in 2008•  Decentralized•  No central authority• Open• Confidential• Almost no processing fees
  4. 4. Active Bitcoin Nodes
  5. 5. ValueBitcoincharts.com
  6. 6. Bitcoin Identity• They are not tied to real world identity.• Bitcoin Address:o  Example:16pkXDzxokb7D5YCQ9dMniWxByhdvKd8NTo  Like email addresso  They can be created offlineo  They can be used temporaryo  Private Key and Public key
  7. 7. Clients• Generates Bitcoin address• Send and receive money• Connect to Bitcoin Network• Update the transactional block chain• Desktop Clients:o  Bitcoind, BitcoinQT, MultiBit, Bitcoiner, …• Online Clients:o  blockchain.info/walleto  coinbase.como  walletbit.com
  8. 8. Multiple Platforms
  9. 9. How to Trade Bitcoin?• Exchangeso  mtgox.como  Btc-e.com• Online websiteso  Localbitcoins.como  quickbitcoin.co.uko  bitbargain.co.uk
  10. 10. Transaction• Digital Signature• Binds the sender’s identity to the transaction• Details of a transaction is broadcasted to allthe nodes of the p2p network.• Receiver can get some mathematicallyassurance about the transaction and payerbefore it gets verified or even payed.• The network stop a bitcoin to be doublespent.
  11. 11. Blocks•  Data is permanently recorded in the Bitcoin networkthrough files called blocks.•  A block is a record of some or all of the most recentBitcoin transactions that have not yet been recorded inany prior blocks•  New blocks are added to the end of the record ( BlockChain) and once written, are never changed or removed.•  Contains an encoding of previous transaction block forthe purpose of continuity.•  Every 10 Minutes
  12. 12. Block Chain• Share public transaction log• Confirmed transactions are included• Including information about previous blocks,creates a chain of blocks.• Miners broadcast the details of that chain toall the nodes.
  13. 13. Transaction Fee• At the moment transactions are usually free.• Large[1] transactions require paying a fee.• Validating Transactions in the network• You can define a high priority for yourtransaction and reward the miners with asmall fee.* > 10KByte
  14. 14. Transaction Feeshttp://blockchain.info/stats
  15. 15. Cryptography• SHA-256• MD5 ( Message digest 5 )• Digital Signatures• Hash function , takes a particular input andapplies a set of math transformations togenerate a digest.• Collision Resistant• Hide information• Look Random
  16. 16. Digital Signature• Signing Key (Private key), Verification Key(Public key)• Digest (A cryptographic message summary)• It should be hard to come up with signing key ifyou only see the verification key.SignM SKSignatureVerifyM SKSigned or not signedVK
  17. 17. Transaction MechanicsAVK(A) SK(A)BVK(B) SK(B)CVK(C)DVK(D)EVK(E)15 ฿5 ฿D(C)7 ฿D(D)8 ฿D(E)Input OutputSignature15 ฿4 ฿BitcoinNetworkBroadcast
  18. 18. Proof of Work•  Proof of a significant amount of computational effort.•  Difficulty (Each 2,016 Block will)Challenge Proof responseEncryptHash0……..0xxx…x40-bits = 0
  19. 19. Mining• Totally 21,000,000 BTC• 25 BTC reward• Transaction Fees• Reward sized is cut in half every 210,000blocks (4 years)• At around 2140 all the bitcoins will havebeen generated.
  20. 20. Mining MechanicsA BT2 T3 T4 T5OtherTransactionsBroadcastingTransactionMM M MT1D1 D2D3DigestsLatest Accepted BlockNumbers Convert ChallengeH 00..0xxx..xProofs?
  21. 21. Miner Devices• Graphic Cardso  OpenCLo  CUDA• FPGAs• ASICs
  22. 22. FPGA Miners•  Field-programmable gate array•  Open-Source FPGA Bitcoin Minero  https://github.com/fpgaminer/Open-Source-FPGA-Bitcoin-Miner•  bitcoinfpga.com
  23. 23. ASIC Miners• Application Specific Integrated Cirtuit• Fast• Expensive• Non programmable500 GH/s5 GH/s65 GH
  24. 24. Mining Pools• Divide probability space• Share the revenueHash RateDistributionBlockChain.info
  25. 25. Developers?• Applications based on Bitcoin• Parallel Programso  Optimize until you run out of moneyo  Improve Algorithmso  Write your own/extend pool• Develop your own FPGA [ ASIC?]• Almost everything is open-source
  26. 26. Community• Bitcoin.ito  https://en.bitcoin.it/wiki/Myths• BitcoinTalk.org• BitcoinFoundation.org
  27. 27. Q&A• Any Question?

×