BitCoin Protocol
-
Upload
consulthinkspa -
Category
Education
-
view
853 -
download
1
description
Transcript of BitCoin Protocol
1
BitcoinA 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 Nakamotohttp://www.newsweek.com/2014/03/14/face-behind-bitcoin-247957.html
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
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