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