Wednesday, April 15, 2015

BitCoin Protocol

BitCoin Protocol


General view of BitCoin Protocol
Published in: Education



Transcript

  • 1. 1 Bitcoin A Digital Currency
  • 2. Functions of Money
  • 3. Bank’s role ● A financial institution ● Accepts deposits and lends money ● Centralized system ● Offers financial services ● Processes payments from two or more commercial parties ● Today deals with a lot of Electronic Payments
  • 4. What is Bitcoin? ● A digital currency (or aka cryptocurrency) ● Software-based payment system ● The payment process acts between (potentially) anonymous users ● Based on peer-to-peer network ● A lot of cryptography but nothing is encrypted :-) ● Without………..
  • 5. Who? Satoshi Nakamoto http://www.newsweek.com/2014/03/14/face-behind-bitcoin-247957.html
  • 6. Let’s make a payment Alice wants to give 1 BTC to Bob • Alice: • retrieves the Bob’s address • generates own Public/Private key • builds a message with: • Transaction of 1 BTC to Bob’s address • Transaction’s signature • Announces her public key for signature verification • broadcasts the message to the Bitcoin network
  • 7. Why Public/Private key? ● Bob has the Alice’s public key ● Only Alice knows the private key ● Bob verifies the transaction signature using the Alice’s public key ● Only Bob is authorized because has the private key ● Double-Spending problem?
  • 8. Solve Double-Spending Problem ● Transaction details are sent and forwarded to all Bitcoin nodes ● A Block-Chain contains all transaction done ● Each blocks into chains must be valid and must include a proof-of-work Network
  • 9. Bitcoin Address ● A Bitcoin-balance is associated to the Bitcoin address ● A Bitcoin Address is derived by a ECDSA Public Key by using hash functions 512 bit ECDSA Public Key with prefix SHA-256 of Public Key with prefix RIPEM1 60 of SHA-256 output Base58 Encoding (HASH + Checksu m) 1422cPZaPRiqeWL8njn87NjLwgZxxmZmKp Bitcoin Address
  • 10. Bitcoin transaction ● Composed by one/more Input and Output ● Input(s) is a reference to an output(s) in a different transaction ● Uses Scripting system (Forth-like - stack based) to verify signatures and addresses ● Transaction can include fees
  • 11. Bitcoin transaction
  • 12. Bitcoin transaction is Signed ● The Transaction from B to C is signed with B’s private key ● The B’s public key is included in the transaction
  • 13. Block Chain ● A transaction databases shared by all nodes (like a ledger) ● Each block must contain a Proof-of-Work ● Contains a reference (hash) to the previous block ● Block chain avoids the double spending
  • 14. Transactions into block Merkle Tree
  • 15. Proof-of-Work ● To add a block to a Block Chain ● Corresponds at time of computation ● The time is spent computing hash function ● The Proof-of-Work is builded when the hash’s output has a specific property ● A block with a Proof-of-Work each 10 minutes about ● The difficulty is established by a target
  • 16. Miners ● The miners spends time to find a Proof-of-Work in order to receive a Bitcoin fee (now is 25 BTC) ● The reward reduces 50% every 4 years ● The mining process will end when 21 million bitcoins will be reached ● After that time the miners will earns imposing a transaction fee
  • 17. Wallet software ● Wallet software is used to generate address and make transaction
  • 18. ATM in the world