1 Bitcoin A Digital Currency
Functions of Money
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
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………..
Who? Satoshi Nakamoto
Let’s make a payment 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 Alice wants to give 1 BTC to Bob
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?
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 Transaction x Bob
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
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
Bitcoin transaction
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
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
Transactions into block Merkle Tree
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
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
Wallet software ●Wallet software is used to generate address and make transaction
ATM in the world