technical introduction to bitcoins by gilles barbier, partner at thefamily
TRANSCRIPT
Bitcoin:Theoretical Principles
Gilles Barbier, partner @TheFamily
Oussama
Aliceone thousand
1000
Recipient Amount
AuthentificationAlice’s bank account
Using Private & Public keys
MessagePrivate key
Public keyea43e18442cc4e511cd2c8c58c25ef5c181a5d7dfb65c8e2873eb6f4ec73aaae
hash
Public keys
Authenticate a email check
ea43e18442cc4e511cd2c8c58c25ef5c181a5d7dfb65c8e2873eb6f4ec73aaae
Public keyPrivate key
reuse
modify
emulate
no_money
A Bitcoin Transaction
From: To : Amount : 2.5
ea43e18442cc4e511cd2c8c58c25ef5c181a5d7dfb65c8e2873eb6f4ec73aaae
readable instruction + hash obtained
from Alice private key
Alice Oussama
public keys as accounts identification
In real world, you use a wallet
Private key
> record transactions (avoid duplication) > manage balance (check you have money) > guarantee ‘honesty’
> record transactions (avoid duplication) > manage balance (check you have money) > guarantee ‘honesty’
Blockchain :)
What is the blockchain?time
How to alter the blockchain?• A fraudulent miner CAN NOT
• create or modify a valid transaction from someone else
• A fraudulent miner COULD
• remove a transaction
• modify its own transactions
• include an invalid transaction (syntax or double spend)
time
Decentralised consensus
• Proposed by Satoshi Nakamoto (2008):
• Emergent consensus: consensus is guaranteed only after some time (typically about 1h)
Decentralised consensus• independent verification of all new
transactions by all miner
• independent aggregation of those transactions into a new “block”.
• “random” selection of one of these new blocks (one miner wins a “lottery”)
• independent verification of this new block by all other miners
• independent aggregation of this new block to the blockchain
• independent selection of the “official” blockchain as the longest if any fork occurred
It’s a bit more complicated than that :)
Mining Find a hash of * new transactions * previous block id * random number <= 0000000???????
(“difficulty”)
Blockchain Convergencetwo concurrent winners => a blockchain fork
blockchain converge
blockchaintheoreticalattack
reuse
modify
emulate
no_money
Bitcoin Transaction
From: To : Amount : 2.5
ea43e18442cc4e511cd2c8c58c25ef5c181a5d7dfb65c8e2873eb6f4ec73aaae
hashing message with Alice private key
Alice Oussama
Why 21m bitcoins?
• Miner reward at t0 = 50 bitcoins
• Time to generate a block: 10 min
• Halving rate: 4 years
• 50 +50 +…+ 25 + 25 + … 12.5 + 12 + …etc
• = 50*(1+1/2+1/4+1/8+…)*(4*365*24*6) = 21m !
Farm
Pool
Altcoins
Blockchain
Thanks
@gillesbarbier