Upload
sodigital
View
390
Download
0
Embed Size (px)
Citation preview
Blockchain et internet des
transactions
Pierre Noizat PAYMIUM
ISSY - Pierre Noizat 14/4/2016
• Bitcoin, mode d’emploi, 2015, Pierre Noizat
• Mastering Bitcoin, 2015, Andreas Antonopoulos (en anglais)
Lectures conseillées
Blockchain Participants
• Miners
• Gateways (OTC trading, oracles, hosted wallets)
• Exchanges (spot trading)
• Wallets (full nodes, light clients)
Consensus Rules
• Proof-of-work mining
• Proof-of-stake
• Trusted node list
Crypto, digital, virtual ?
centralized, permissionned
network
decentralized, permissionless
network
Banque DurandActif Passif
Prêt à Durand: 10 000 Compte de Durand: 10 000
Actif Passif
Compte à la Banque: 10 000 Prêt à rembourser: 10 000
… … … …
Banque DurandActif Passif Actif Passif
… … … …
Avant le prêt bancaire
Après le prêt bancaire: 10 000 € ont été créés
ex nihilo
Martin DurandActif Passif Actif Passif
Compte à la Banque: 10 000
Martin DurandActif Passif Actif Passif
… …
Avant le prêt entre particuliers
Après le prêt entre particulier: 10 000 € sont transférés, PAS de création monétaire
Compte à la Banque: 10 000
Prêt à Durand: 10 000 Prêt à rembourser: 10 000
• 2008 : Bitcoin (Satoshi Nakamoto)
• 2004 : Ripple (Ryan Fugger)
• 2001: Bit Gold (Nick Szabo)
• 1998: B-Money (Wei Dai)
• 1997: Hashcash (Adam Back)
• 1980: Digital Signatures (RSA)
• 1979: Hash Trees (Ralf Merkle)
• 1972: Email (Ray Tomlinson)
Historique
TCP IP HTTP
DNS SMTP BTC
La pièce manquante du puzzle des protocoles internet ?
Public key cryptography is based on the existence of one-way functions with trap-door. Without a particular piece of information, known as a private key, such function is computationnally impossible to reverse.
Une invention fondamentale: la signature par un groupe informel
la preuve de calcul comme “dynamic-membership multi-party signature” (DMMS)
Chaîne de transactions: pas de coins, seulement des UTXOs
Input Input
Output (100)
Input (100) Input (25)
Output (15) Output (110)
Input (110)
Output (110)
Input (25)Generation
Output (25)
Rendu Payé
Le langage de script Bitcoin permet des transactions, complexes, notamment des
transactions multi-signatures.
…. Input Script
Transaction 2
… Output Script
Transaction 1
…
….
Pay To Public Key
Output <PubKey> CHECKSIG
Input <Signature>
Bitcoin Address1CC3X2gu58d6wXUWMffpuzN9JAfTUWu4Kj
Private KeyK = 5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF
The public key P is a point (x,y):P = K*G where G is a base point on the elliptic curve specified by Bitcoin: y2= x3+7.x and y are two 256-bit integers.
Public Key(x,y) = 04588D202AFCC1EE4AB5254C7847EC25B9A135BBDA0F2BC69EE1A714749FD77DC9F88FF2A00D7E752D44CBE16E1EBCF0890B76EC7C78886109DEE76CCFC8445424
16
Oracles
Alice: 1 clé, elle peut décider de payer Bob même si il n’y a qu’un oracle positifBob: 3 clés, il peut se payer si 2 oracles sont positifs
Alice pays Bob 20 BTC, nonce is 00001 Hash =
aaa3d179f4....
Alice pays Bob 20 BTC, nonce is 00381 d29d79158....
Alice pays Bob 20 BTC, nonce is 00942 cc36410c9....
Alice pays Bob 20 BTC, nonce is 02711 e54b06b6....
....
Alice pays Bob 20 BTC, nonce is 9443527 000006ba....
Difficulty
Message =
A proof of work is a collective signature
Alice pays Bob 20 BTC
nonce value = 9443527
000006ba....
Bob pays Chuck 10 BTC
nonce value = 6639107
000006ba....
00000adf5....
Chuck pays Denis 6 BTC
nonce value = 821139
00000adf5....
000008ce2....
Hash
A chain of PoW is a shared, public ledger
Bitcoin transactions are collected in blocks
Transaction messages are compressed into a single “root” hash in the block header
Bitcoin blocks are chained together
Transaction messages are compressed into a single “root” hash in the block header
● “SQL” Sidecoins
○ Off chain transactions implemented today with Paymium, Coinbase, etc
○ “Paymium” coins pegged 1-to-1 to bitcoins
● Sidechains
○ Many blockchains with inter-chain transfers
○ Sidecoins can be pegged to bitcoins
● Payment Channels
○ Use multi-sig
○ Allow two parties to send many transactions to each other without hitting the Bitcoin blockchain
○ Payment channels between many parties in a multi-hop hub and spoke model, similar to internet routing (Lightning Network)
○ Require malleability fix via a soft-fork
● Increased block size
Scalability Solutions
Bitcoin/Altcoins Market Caps
Altcoins ou Sidechains ?