SlideShare une entreprise Scribd logo
1  sur  80
Télécharger pour lire hors ligne
Bitcoin
Comment ça marche
et pourquoi c’est une
révolution ?
Stéphane Traumat
http://about.me/straumat
Agenda
● Les caractéristiques du bitcoin.
● Prenons un cas concret.
● Les composants du systèmes.
○ Clé privée, clé publique et adresses.
○ Les transactions.
○ Le réseau d’ordinateurs.
○ Le hashage.
○ Le blockchain.
○ Le minage.
● Les faiblesses.
● Conclusion.
Les
caractéristiques
du bitcoin
Une citation
Milton Friedman disait en 1999 : “Une chose
qui manque est un système de paiement
sécurisé qui permettra de transférer des fonds
d’une personne A à une personne B sans qu’ils
se connaissent. De la même façon que je vous
tends un billet de 20$.”
Bitcoin = porte monnaie avec
système de téléportation !
Les promesses du bitcoin
● Première devise monétaire électronique décentralisée.
● Transactions quasi instantanées de personnes à
personnes.
● Aucun ou peu de frais.
● Pas de notions de pays, de conditions préalables ou de
limites arbitraires.
● Votre “compte” ne peut être bloqué ou confisqué.
● Anonymat.
L’arrivée de l’email
Avec la Poste.
● La poste doit vous connaître
ainsi que le destinataire et vous
devez suivre les processus
établis.
● Frais “importants” et variables en
fonction de la destination.
● Le transport du courrier peut
prendre un temps variable en
fonction de la destination.
● Tous les individus ne sont pas
accessibles via ce système.
Avec l’email.
● Le destinataire a juste besoin d’
avoir une adresse email.
● Le coût d’envoi d’un email est
proche de zéro.
● L’envoi et la réception sont quasi
instantanés.
● Toute personne ayant un accès
à internet peut recevoir un email.
L’arrivée du bitcoin
Avec le système bancaire.
● Il faut que vous soyez enregistré
auprès d’une banque qui va vous
octroyer votre “adresse” (IBAN),
souvent contre un abonnement
annuel.
● Vous devez utiliser le système
bancaire et ses normes.
Il peut y avoir des frais en fonction
des banques et en fonction des pays
où vous envoyez de l’argent.
Un virement peut aussi prendre un
temps très variable, surtout si vous le
faites vers l’étranger.
● La moitié de la population mondiale
n'a pas accès à un compte bancaire.
Avec le bitcoin.
● Vous pouvez vous même créer un
“compte” pour recevoir/envoyer des
bitcoins sans avoir besoin de faire
appel à une autorité centrale et sans
conditions préalables.
● Vous pouvez envoyer
instantanément des bitcoins à n’
importe qui, peu importe où il se
trouve et pour un coût proche de
zéro.
● Toute personne ayant un accès à
internet peut se créer un “compte”,
ça ne coûte rien, c’est instantané et
vous n’avez pas à vous enregistrer
auprès de qui que ce soit.
Prenons un cas
concret
Prenons un scénario
L’entreprise BitcoinDistrib décide de créer
des distributeurs de boissons qui acceptent
le bitcoin.
Nous allons voir :
● Comment elle se crée un “compte” bitcoin.
● Comment elle achète ses premiers bitcoins.
● Comment elle reçoit son premier paiement.
Avant de
poursuivre...
Avant de commencer : le réseau
bitcoin
Le réseau Bitcoin est un réseau de machines
en peer to peer (P2P), ce qui signifie que
toutes les machines qui y participent ne sont
pas plus spéciales les unes que les autres.
Avant de commencer : le blockchain
Le réseau Bitcoin maintient un fichier qui est
un registre global de toutes les transactions :
Le blockchain.
Ce fichier permet à tout le monde de savoir qui
a combien de bitcoins mais le “qui” n’est pas
relié à une personne physique ou morale !
Avant de commencer : le blockchain
Exemple de visualisation d’une transaction sur blockchain.info
Reprenons !
Prenons un scénario
L’entreprise BitcoinDistrib décide de créer
des distributeurs de boissons qui acceptent
le bitcoin.
Nous allons voir :
● Comment elle se crée un “compte” bitcoin.
● Comment elle achète ses premiers bitcoins.
● Comment elle reçoit son premier paiement.
Étape 1 : se créer
un “compte”
Étape 1 : Se créer un “compte”.
Bitcoin utilise le principe de signature
électronique pour s’assurer que seul le
propriétaire des bitcoins peut les dépenser.
La clé privée
La clé privée est un nombre choisi au hasard
qui vous permet de signer des transactions sur
les bitcoins qui vous appartiennent.
Exemple :
91149ee24f1ee9a6f42c3dd64c2287781c8c57a6e8e929c80976e586d5322a3d
La clé privée est un peu comme votre signature
sur un chèque.
La clé publique
La clé publique est calculée à partir de la clé
privée précédente et elle permet de générer
des adresses bitcoin.
Exemple :
042c6b7e6da7633c8f226891cc7fa8e5ec84f8eacc792a46786efc869a408d29539a5e6f8d
e3f71c0014e8ea71691c7b41f45c083a074fef7ab5c321753ba2b3fe
La clé publique est un peu comme votre
numéro de compte.
Les adresses bitcoin.
Les adresses bitcoin sont des adresses
générées qui correspondent à votre clé
publique. C’est à ces adresses que l’on peut
vous envoyer des bitcoins et vous pouvez en
créer autant que vous voulez.
Exemple : 13mtgVARiB1HiRyCHnKTi6rEwyje5TYKBW
Les adresses correspondent au champs “à l’
ordre de” sur les chèques ou une adresse
email.
En un schéma
Schéma O’Reilly
Fini !
La première étape est terminée, quatre points
importants :
● On a tout ce qu’il faut pour commencer à
recevoir et envoyer des bitcoins.
● Tout ceci est géré de manière automatique
par les logiciels du marché.
● Tout ce que l’on vient de faire peut être fait
offline.
● Si vous perdez la clé privée, vous ne
pourrez pas retrouver vos bitcoins.
Étape 2 : on
achète des
bitcoins
Étape 2 : on achète des bitcoins
Il existe deux façons d’obtenir des bitcoins :
● En fabriquer.
● En obtenir auprès d’un tiers qui en possède.
Achat de bitcoins.
Pour en acheter, BitcoinDistrib va s’adresser
à quelqu’un qui en possède et lui donner son
adresse bitcoin : 13mtgVARiB1HiRyCHnKTi6rEwyje5TYKBW
Il existe plein de vendeurs :
● Coinbase (plateforme en ligne).
● La maison du bitcoin (accueil physique).
● Des connaissances.
● Ou pour notre exemple : BTSeller.
Comment ça va se concrétiser ?
● BTSeller, avec le logiciel de son choix, va créer une transaction avec le montant à
transférer et votre adresse bitcoin comme destinataire.
● Afin de prouver qu’elle possède bien les bitcoins, BTSeller va utiliser sa clé privée pour
signer la transaction.
● BTSeller va ensuite transmettre cette transaction à l’un des noeuds du réseau bitcoin.
● Ce noeud va vérifier que la signature de la transaction est conforme.
● Ce noeud va vérifier auprès du registre global des transactions (blockchain) que le
montant transféré est bien inférieur ou égal au montant dont BTSeller dispose.
● Ce noeud va ensuite propager la transaction à trois autres noeuds (qui feront les mêmes
vérifications) et ainsi de suite jusqu’à ce que tout le réseau soit au courant.
● BitcoinDistrib pourra, avec le logiciel de son choix, vérifier que le bitcoin a bien été
transféré à son adresse (cela prendra à peine quelques secondes).
● Les machines faisant du minage vont se charger d’inscrire cette transaction dans le
blockchain.
Étape 3 : on
reçoit un
paiement
Étape 3 : recevoir son premier
paiement.
Pour son distributeur de boisson d’Angoulême,
il va créer une adresse bitcoin spécifique.
Cette adresse, il va ensuite l’encoder avec le
montant à régler dans un QRCode qu’il va
coller sur la machine.
Un client arrive
Pour payer un client aura juste besoin de
lancer une application sur son téléphone et de
photographier le QRCode.
Schéma
Quatre choses importantes
● Contrairement aux cartes bancaires, ni le vendeur, ni l’
acheteur n’ont besoin de fournir des informations
confidentielles.
● Les machines du vendeur et de l’acheteur n’ont pas
besoin de communiquer directement.
● La transaction ne peut être “interceptée” car modifier la
transaction détruirait la signature.
● Tout ce que nous avons vu peut être fait en quelques
minutes...
Les composants
du systèmes
Clé privée, clé
publique et
adresses
La cryptographie asymétrique
Bitcoin utilise la cryptographie asymétrique
(ou cryptographie à clé publique) pour créer
une paire de clés (l’une publique et l’autre
privée) qui va permettre l’accès aux Bitcoins.
Même principe que la signature électronique
pour les documents PDF.
La cryptographie asymétrique
Le principe :
● La clé publique permet de coder un
message.
● La clé privée permet de décoder ce même
message.
La cryptographie asymétrique
Cas concret.
● La société Scub a généré il y a des années sa paire de
clé privée/publique.
● Elle a diffusé sa clé publique partout pour que tout le
monde puisse communiquer avec elle.
● John, qui souhaite envoyer un document à Scub, est
sollicité par trois entités qui prétendent être Scub.
La cryptographie asymétrique
La solution.
● John utilise la clé publique pour encrypter un texte
quelconque comme “bonjour, ça va ?”.
● John envoie le message codé “45Zdiejfneipk!de” aux
trois entités se présentant comme Scub.
● Seule Scub, qui possède la clé privée, pourra
décoder le message envoyé par John et lui dire quel
était le message originel envoyé (“bonjour, ça va ?”).
La cryptographie asymétrique
Source : http://www-igm.univ-mlv.fr/~dr/XPOSE2006/depail/fonctionnement.html
La cryptographie asymétrique
Source : http://www-igm.univ-mlv.fr/~dr/XPOSE2006/depail/fonctionnement.html
La cryptographie asymétrique
On peut aussi utiliser le système à l’inverse
pour signer numériquement :
● On utilise la clé privée pour signer le
contenu d’une transaction.
● Tous les utilisateurs qui possèdent la clé
publique pourront vérifier que le message a
bien été envoyé par la bonne personne.
Résumé du fonctionnement
● La clé privée vous permet d’encoder des
transactions.
● La clé publique, générée à partir de la clé
privée, vous permet de générer l‘adresse
bitcoin.
● L’adresse bitcoin permet à n’importe qui de
vous envoyer des bitcoins en mettant l’
adresse comme destinataire de la
transaction.
Dernier point
Quand vous générez votre clé publique et votre
clé privée, vous n’existez pas pour le réseau
Bitcoin.
Vous possédez seulement une adresse Bitcoin
valide qui pourrait être utilisée pour accéder à
des transactions existantes.
Il n’y a donc pas de notion de “compte”.
Les transactions
Les transactions représentent les transferts de
Bitcoins entre les participants du système.
On peut faire l’analogie avec un chèque.
Les transactions / Définition.
Cycle de vie d’une transaction
● La transaction est créée localement.
● Elle est signée par l’auteur.
● Elle est transmise au réseau.
● Elle est validée et distribuée à tous les
noeuds.
● Elle est enfin ajoutée au registre global des
transactions.
Contenu (simplifié) d’une transaction :
● L’adresse bitcoin du destinataire.
● Le nombre de bitcoin.
● A partir de quelles transactions précédentes
sont pris les bitcoins à envoyer.
Le tout est signé avec la clé privée !
Les transactions / Création.
Les transactions / L’envoi au réseau.
Contrairement à un paiement par carte de
crédit, une transaction bitcoin ne contient
aucune information sensible.
On peut donc l’envoyer sans risque à n’importe
quel nœud Bitcoin.
Les transactions / La propagation.
Une fois que votre transaction est arrivée sur
un nœud, celui-ci se chargera, si elle est valide,
de la propager à l’ensemble du réseau Bitcoin.
L’ensemble du réseau est décentralisé, chaque
nœud recevant une nouvelle transaction va la
propager à 3 ou 4 des nœuds qu’il connaît, qui
eux même vont le transmettre à 3 ou 4 autres
nœuds qu’ils connaissent.
Les transactions / blockchain.
Les transactions vont être groupées dans des
“blocks” qui vont être insérés dans le
blockchain.
Pour qu’un block soit inséré dans le blockchain
et soit considéré comme “officiel”, les mineurs
vont, avec le contenu du block, essayer de
résoudre un problème cryptographique très
complexe ce qui le rendra “infalsifiable”.
Anatomie de transactions
Source : Mastering_Bitcoin (O’reilly)
Une monnaie programmable
Dernière chose, la plupart des transactions sont
débloquées grâce à une clé privée mais Bitcoin permet
aussi de spécifier des règles complexes pour accéder à
une transaction.
Par exemple, pour accéder aux bitcoins d’une transaction,
on pourrait demander que deux clés privées soient utilisées
pour le déverrouillage au lieu d’une : celle de la
comptabilité et du directeur financier.
C’est pour cela qu’on dit que Bitcoin est une monnaie
programmable.
Le réseau d’
ordinateurs
Le réseau d’ordinateurs
Le réseau Bitcoin est un réseau de machines
en peer to peer (P2P), comme napster à l’
époque ou bittorrent aujourd’hui, ce qui signifie
que toutes les machines qui y participent (y
compris la votre) ne sont pas plus spéciales les
unes que les autres.
Il n’y a donc pas de serveur central, pas d’
autorité et pas de hiérarchie. Ce qui rend le
réseau virtuellement indestructible.
Schéma d’un réseau P2P
Le réseau d’ordinateurs
Chaque noeud peut avoir différents services :
● Le routage : ce service permet la validation et la
propagation des transactions / blocs ainsi que la
découverte et la communication avec d’autres nœuds.
● La base de données des transactions : ce service
consiste à contenir une copie complète et à jour du
blockchain et ainsi d’être en mesure de vérifier la
validité de toute transaction de manière autonome.
● La capacité de minage pour les nœuds qui sont en
compétition pour créer des blocs valides à ajouter dans
le blockchain.
● Le porte monnaie qui permet éventuellement de gérer
les clés du nœud.
Le hachage
Le hachage
Un algorithme de hachage prend n’importe
quelle donnée de “n’importe quelle taille” en
entrée et produit une chaîne de caractère
“unique” qui fera toujours la même taille et qui
sera une sorte d’empreinte de vos données d’
entrées.
Si un seul caractère de votre texte est changé,
le hachage va complètement changer.
Exemple de hachage (SHA-256)
● “Je m’appelle Stéphane Traumat”
⇒
607af60dbf07e5c08d985e2c794624b8c05b7
7a5235c8071e0243baeb547906b
● “Je m’appelle Stéphane Traumat!”
⇒
a7b5b4dbae0800a23a47f5abf7cb7bf12999c
ebfbfa3e8ac199ea96c93be4802
Les fonctions de hachage permettent de vérifier
très rapidement si un contenu, quelque soit sa
taille, a été modifié.
A quoi cela sert il ?
Le blockchain
Le blockchain
Le blockchain est le registre global de toutes
les transactions qui ont eu lieu depuis la
création de Bitcoin.
On peut se le représenter comme un fichier
dans lequel s’empile, les uns sur les autres,
des groupes de transactions validées (appelés
blocs).
Le blockchain
Chaque bloc de transactions est identifié par un
hash calculé qui représente son contenu.
Chaque bloc sert de fondation au bloc suivant
car il référence dans son entête le hash de son
père.
Si vous changer le contenu d’un ancien bloc, il
vous faudrait recalculer tous les blocs qui se
trouvent au dessus de lui.
Le blockchain
Visualisation d’un bloc
Dernier détail
Si les comptes sont bien anonymes, les
transactions, elles, sont publiques !
D’où le “pseudo anonymat”
Le minage
Le minage
Le minage (mining) est le processus qui
sécurise le système et rend le blockchain
infalsifiable.
En contrepartie de ce travail, les mineurs qui
sécurisent le système se voient octroyer de la
monnaie crée pour l’occasion (en plus des frais
inclus dans chaque transaction).
Exemples de mineurs
Le minage
La problématique à traiter est la suivante :
Comment mettre d’accord un réseau d’inconnus sur une
vérité universelle en sachant que, dans un réseau d’
inconnus, on ne peut faire confiance à personne ?
Le minage : vue d’ensemble
● Chaque noeud du réseau qui fait du minage stocke les
transactions qui sont arrivées depuis l’ajout du dernier
block au blockchain.
● Dès qu’un block est validé et ajouté (environ toutes les
10 minutes), chaque noeud de minage va essayer de
créer un nouveau bloc avec les transactions en attente
et ce bloc, pour être accepté par les autres, devra
contenir la solution à un problème complexe.
● Le premier noeud qui réussit à résoudre le problème va
envoyer son block aux autres et va remporter les 25
bitcoins plus les frais de transactions !
Le minage : création d’un bloc
En fait, chaque noeud de minage va essayer
de construire un bloc avec le contenu des
transactions plus une variable appelée
“Nonce”.
La règle du jeu pour les tous les mineurs est simple :
● Vous n’avez le droit de faire varier que la valeur de la
variable “Nonce”.
● Sur le contenu du bloc, vous utilisez la fonction de
hachage SHA-256.
● Le premier qui a trouvé la valeur de “Nonce” pour
laquelle le hachage commence par 00000 a gagné !
Le minage : création d’un bloc
Ce qui va se passer est au final assez simple :
● Notre nœud de minage va mettre la valeur “1” dans le
champs “nonce”, puis va concaténer tous les champs
de l’entête et calculer la valeur sha256 de l’ensemble de
cette chaîne.
● Si le résultat ne commence pas par cinq “0”, il va mettre
la valeur “2” dans le champ “Nonce”, concaténer tous
les champs, calculer la valeur sha-256 et vérifier si le
résultat commence par cinq “0”
● Ainsi de suite jusqu’à ce que quelqu’un dans le réseau
bitcoin y arrive.
Le minage : création d’un bloc
C’est donc une compétition mondiale entre des milliers de
machines qui effectuent des calculs “complexes” afin de
trouver une valeur particulière à partir des données du
nouveau bloc à valider.
Lorsqu’un nœud a trouvé la valeur de nonce qui convient
pour en faire un bloc valide, il transmet le bloc aux autres
membres du réseau qui vont le vérifier et le transmettre aux
autres et ainsi de suite jusqu’à ce que tout le réseau le
reçoive et l’ajoute au blockchain.
Récompense du mineur !
Les faiblesses
Les faiblesses
● Bitcoin n'est pas l'incarnation de l'autorité d'un État,
d'une banque ou d'une entreprise. Sa valeur est donc
très liée à la valeur perçue par ses utilisateurs.
● Monnaie déflationniste car limitée à 21 millions de
bitcoins.
● Aucun système de recours (perte, vol…).
● Représente un attrait fort pour les activités illégales bien
que cela soit assez faux.
Conclusion
En conclusion - Séparer monnaie et
technologie.
Il faut voir deux choses distinctes dans bitcoin : l'aspect
"monnaie" et l'aspect "technologique".
La technologie blockchain apporte pour la première fois
une solution à un problème que l’humanité a toujours
résolu par l’administration.
Pour la première fois, on peut transférer un titre de
propriété digital à un autre utilisateur de manière simple,
sécurisé, connu de tous et non répudiable.
En conclusion - Séparer monnaie et
technologie.
Nous pourrions voir l’avènement de systèmes
qui gèrent des transactions (humain / humain,
humain / machine ou machine / machine) et qui
pourront remplacer certaines structures
humaines existantes (banques, notaires,
cadastres…).
Questions ?
Stéphane Traumat
http://about.me/straumat

Contenu connexe

Tendances

Tendances (20)

Qu'est-ce que la blockchain ?
Qu'est-ce que la blockchain ?Qu'est-ce que la blockchain ?
Qu'est-ce que la blockchain ?
 
Web3 Culture
Web3 CultureWeb3 Culture
Web3 Culture
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
La technologie Blockchain - 1ere approche
La technologie Blockchain - 1ere approcheLa technologie Blockchain - 1ere approche
La technologie Blockchain - 1ere approche
 
Introduction au web3.pdf
Introduction au web3.pdfIntroduction au web3.pdf
Introduction au web3.pdf
 
Formation BLOCKCHAIN
Formation BLOCKCHAINFormation BLOCKCHAIN
Formation BLOCKCHAIN
 
MobiliteaTime #7 : Blockchain
MobiliteaTime #7 : BlockchainMobiliteaTime #7 : Blockchain
MobiliteaTime #7 : Blockchain
 
Présentation Cryptographie
Présentation CryptographiePrésentation Cryptographie
Présentation Cryptographie
 
Mémoire sur : Les Fintech
Mémoire sur : Les FintechMémoire sur : Les Fintech
Mémoire sur : Les Fintech
 
Blockchain et Smart Contract : de la théorie à la production
Blockchain et Smart Contract : de la théorie à la productionBlockchain et Smart Contract : de la théorie à la production
Blockchain et Smart Contract : de la théorie à la production
 
Rapport - La technologie blockchain promet des transactions programmables san...
Rapport - La technologie blockchain promet des transactions programmables san...Rapport - La technologie blockchain promet des transactions programmables san...
Rapport - La technologie blockchain promet des transactions programmables san...
 
e-commerce et sécurié
e-commerce et sécuriée-commerce et sécurié
e-commerce et sécurié
 
Les montres connectées
Les montres connectéesLes montres connectées
Les montres connectées
 
Blockchain
BlockchainBlockchain
Blockchain
 
Paiements électronique
Paiements électroniquePaiements électronique
Paiements électronique
 
Le e-business au Maroc - Enjeux et Perspectives
Le e-business au Maroc - Enjeux et PerspectivesLe e-business au Maroc - Enjeux et Perspectives
Le e-business au Maroc - Enjeux et Perspectives
 
Législation e-commerce maroc
Législation e-commerce marocLégislation e-commerce maroc
Législation e-commerce maroc
 
Mémento - Intro à la Blockchain
Mémento - Intro à la BlockchainMémento - Intro à la Blockchain
Mémento - Intro à la Blockchain
 
Ppt memoire de fin d'étude Marketing de contenu Master 1
Ppt memoire de fin d'étude Marketing de contenu Master 1Ppt memoire de fin d'étude Marketing de contenu Master 1
Ppt memoire de fin d'étude Marketing de contenu Master 1
 
Ch3 3 cybercriminalite_droit_maroc
Ch3 3 cybercriminalite_droit_marocCh3 3 cybercriminalite_droit_maroc
Ch3 3 cybercriminalite_droit_maroc
 

En vedette

En vedette (6)

Paris Identity Tech Talk IoT
Paris Identity Tech Talk IoTParis Identity Tech Talk IoT
Paris Identity Tech Talk IoT
 
Apports et freins de la Blockchain sur le secteur bancaire
Apports et freins de la Blockchain sur le secteur bancaireApports et freins de la Blockchain sur le secteur bancaire
Apports et freins de la Blockchain sur le secteur bancaire
 
Livre blanc biz hackathon-2017
Livre blanc biz hackathon-2017Livre blanc biz hackathon-2017
Livre blanc biz hackathon-2017
 
IdéeLab "Bitcoin et l'essor des monnaies virtuelles"
IdéeLab "Bitcoin et l'essor des monnaies virtuelles" IdéeLab "Bitcoin et l'essor des monnaies virtuelles"
IdéeLab "Bitcoin et l'essor des monnaies virtuelles"
 
Introduction au Bitcoin
Introduction au BitcoinIntroduction au Bitcoin
Introduction au Bitcoin
 
Introduction à la blockchain : technologie fondamentale et révolutionnaire
Introduction à la blockchain : technologie fondamentale et révolutionnaireIntroduction à la blockchain : technologie fondamentale et révolutionnaire
Introduction à la blockchain : technologie fondamentale et révolutionnaire
 

Similaire à Bitcoin : comment ça marche et pourquoi c’est une révolution ?

Bitcoin Day: tout savoir sur le bitcoin
Bitcoin Day: tout savoir sur le bitcoinBitcoin Day: tout savoir sur le bitcoin
Bitcoin Day: tout savoir sur le bitcoin
FrenchWeb.fr
 

Similaire à Bitcoin : comment ça marche et pourquoi c’est une révolution ? (20)

Soirée Informed de février 2014 : Bitcoin
Soirée Informed de février 2014 : BitcoinSoirée Informed de février 2014 : Bitcoin
Soirée Informed de février 2014 : Bitcoin
 
Bitcoin
BitcoinBitcoin
Bitcoin
 
Introduction au Bitcoin
Introduction au Bitcoin Introduction au Bitcoin
Introduction au Bitcoin
 
CWIN17 Morocco / Bitcoin - the digital money salah essalhi
CWIN17 Morocco / Bitcoin - the digital money salah essalhiCWIN17 Morocco / Bitcoin - the digital money salah essalhi
CWIN17 Morocco / Bitcoin - the digital money salah essalhi
 
Bitcoin (BOURIHANE Et YAKOUBI)
Bitcoin (BOURIHANE Et YAKOUBI)Bitcoin (BOURIHANE Et YAKOUBI)
Bitcoin (BOURIHANE Et YAKOUBI)
 
Howto Bitcoin, Configurer un porte-feuille léger Electrum
Howto Bitcoin, Configurer un porte-feuille léger ElectrumHowto Bitcoin, Configurer un porte-feuille léger Electrum
Howto Bitcoin, Configurer un porte-feuille léger Electrum
 
Bitcoin Day: tout savoir sur le bitcoin
Bitcoin Day: tout savoir sur le bitcoinBitcoin Day: tout savoir sur le bitcoin
Bitcoin Day: tout savoir sur le bitcoin
 
Bitcoin and beyond
Bitcoin and beyondBitcoin and beyond
Bitcoin and beyond
 
[22/03/2016] Conférence : Blockchain, disruption & révolution
[22/03/2016] Conférence : Blockchain, disruption & révolution[22/03/2016] Conférence : Blockchain, disruption & révolution
[22/03/2016] Conférence : Blockchain, disruption & révolution
 
Bitcoin
Bitcoin Bitcoin
Bitcoin
 
Meetup bitcoin gros bar à Tours
Meetup bitcoin gros bar à ToursMeetup bitcoin gros bar à Tours
Meetup bitcoin gros bar à Tours
 
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#Les ZAPeroTech #3 : à la découverte de NBitcoin en C#
Les ZAPeroTech #3 : à la découverte de NBitcoin en C#
 
Bitcoin, comment ça marche ?
Bitcoin, comment ça marche ?Bitcoin, comment ça marche ?
Bitcoin, comment ça marche ?
 
Bitcoin au Geekftour
Bitcoin au Geekftour Bitcoin au Geekftour
Bitcoin au Geekftour
 
Bitcoin-Whuffie
Bitcoin-WhuffieBitcoin-Whuffie
Bitcoin-Whuffie
 
Bitcoin/whuffie
Bitcoin/whuffieBitcoin/whuffie
Bitcoin/whuffie
 
Bitcoin enjeux fiscaux et traitement pénal
Bitcoin enjeux fiscaux et traitement pénalBitcoin enjeux fiscaux et traitement pénal
Bitcoin enjeux fiscaux et traitement pénal
 
Accepter le bitcoin mettup lille_13_mars_2013_la_machine
Accepter le bitcoin mettup lille_13_mars_2013_la_machineAccepter le bitcoin mettup lille_13_mars_2013_la_machine
Accepter le bitcoin mettup lille_13_mars_2013_la_machine
 
Cci 92 - Club Nelson - Microsoft - Introduction à la Blockchain
Cci 92 - Club Nelson - Microsoft - Introduction à la BlockchainCci 92 - Club Nelson - Microsoft - Introduction à la Blockchain
Cci 92 - Club Nelson - Microsoft - Introduction à la Blockchain
 
La blockchain, quand l'individu sert au collectif... malgré lui
La blockchain, quand l'individu sert au collectif... malgré luiLa blockchain, quand l'individu sert au collectif... malgré lui
La blockchain, quand l'individu sert au collectif... malgré lui
 

Plus de Stéphane Traumat

Introduction au cloud computing
Introduction au cloud computingIntroduction au cloud computing
Introduction au cloud computing
Stéphane Traumat
 

Plus de Stéphane Traumat (9)

Conférence big data
Conférence big dataConférence big data
Conférence big data
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
Introduction au cloud computing
Introduction au cloud computingIntroduction au cloud computing
Introduction au cloud computing
 
Introduction au web sémantique
Introduction au web sémantiqueIntroduction au web sémantique
Introduction au web sémantique
 
Comment integrer les applications de votre Systeme Information entre elles ?
Comment integrer les applications de votre Systeme Information entre elles ?Comment integrer les applications de votre Systeme Information entre elles ?
Comment integrer les applications de votre Systeme Information entre elles ?
 
Presentation de Scub
Presentation de ScubPresentation de Scub
Presentation de Scub
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub Foundation
 
Présentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemePrésentation de JEE et de son écosysteme
Présentation de JEE et de son écosysteme
 
Présentation de SaaS
Présentation de SaaS Présentation de SaaS
Présentation de SaaS
 

Bitcoin : comment ça marche et pourquoi c’est une révolution ?

  • 1. Bitcoin Comment ça marche et pourquoi c’est une révolution ? Stéphane Traumat http://about.me/straumat
  • 2. Agenda ● Les caractéristiques du bitcoin. ● Prenons un cas concret. ● Les composants du systèmes. ○ Clé privée, clé publique et adresses. ○ Les transactions. ○ Le réseau d’ordinateurs. ○ Le hashage. ○ Le blockchain. ○ Le minage. ● Les faiblesses. ● Conclusion.
  • 4. Une citation Milton Friedman disait en 1999 : “Une chose qui manque est un système de paiement sécurisé qui permettra de transférer des fonds d’une personne A à une personne B sans qu’ils se connaissent. De la même façon que je vous tends un billet de 20$.” Bitcoin = porte monnaie avec système de téléportation !
  • 5. Les promesses du bitcoin ● Première devise monétaire électronique décentralisée. ● Transactions quasi instantanées de personnes à personnes. ● Aucun ou peu de frais. ● Pas de notions de pays, de conditions préalables ou de limites arbitraires. ● Votre “compte” ne peut être bloqué ou confisqué. ● Anonymat.
  • 6. L’arrivée de l’email Avec la Poste. ● La poste doit vous connaître ainsi que le destinataire et vous devez suivre les processus établis. ● Frais “importants” et variables en fonction de la destination. ● Le transport du courrier peut prendre un temps variable en fonction de la destination. ● Tous les individus ne sont pas accessibles via ce système. Avec l’email. ● Le destinataire a juste besoin d’ avoir une adresse email. ● Le coût d’envoi d’un email est proche de zéro. ● L’envoi et la réception sont quasi instantanés. ● Toute personne ayant un accès à internet peut recevoir un email.
  • 7. L’arrivée du bitcoin Avec le système bancaire. ● Il faut que vous soyez enregistré auprès d’une banque qui va vous octroyer votre “adresse” (IBAN), souvent contre un abonnement annuel. ● Vous devez utiliser le système bancaire et ses normes. Il peut y avoir des frais en fonction des banques et en fonction des pays où vous envoyez de l’argent. Un virement peut aussi prendre un temps très variable, surtout si vous le faites vers l’étranger. ● La moitié de la population mondiale n'a pas accès à un compte bancaire. Avec le bitcoin. ● Vous pouvez vous même créer un “compte” pour recevoir/envoyer des bitcoins sans avoir besoin de faire appel à une autorité centrale et sans conditions préalables. ● Vous pouvez envoyer instantanément des bitcoins à n’ importe qui, peu importe où il se trouve et pour un coût proche de zéro. ● Toute personne ayant un accès à internet peut se créer un “compte”, ça ne coûte rien, c’est instantané et vous n’avez pas à vous enregistrer auprès de qui que ce soit.
  • 9. Prenons un scénario L’entreprise BitcoinDistrib décide de créer des distributeurs de boissons qui acceptent le bitcoin. Nous allons voir : ● Comment elle se crée un “compte” bitcoin. ● Comment elle achète ses premiers bitcoins. ● Comment elle reçoit son premier paiement.
  • 11. Avant de commencer : le réseau bitcoin Le réseau Bitcoin est un réseau de machines en peer to peer (P2P), ce qui signifie que toutes les machines qui y participent ne sont pas plus spéciales les unes que les autres.
  • 12. Avant de commencer : le blockchain Le réseau Bitcoin maintient un fichier qui est un registre global de toutes les transactions : Le blockchain. Ce fichier permet à tout le monde de savoir qui a combien de bitcoins mais le “qui” n’est pas relié à une personne physique ou morale !
  • 13. Avant de commencer : le blockchain Exemple de visualisation d’une transaction sur blockchain.info
  • 15. Prenons un scénario L’entreprise BitcoinDistrib décide de créer des distributeurs de boissons qui acceptent le bitcoin. Nous allons voir : ● Comment elle se crée un “compte” bitcoin. ● Comment elle achète ses premiers bitcoins. ● Comment elle reçoit son premier paiement.
  • 16. Étape 1 : se créer un “compte”
  • 17. Étape 1 : Se créer un “compte”. Bitcoin utilise le principe de signature électronique pour s’assurer que seul le propriétaire des bitcoins peut les dépenser.
  • 18. La clé privée La clé privée est un nombre choisi au hasard qui vous permet de signer des transactions sur les bitcoins qui vous appartiennent. Exemple : 91149ee24f1ee9a6f42c3dd64c2287781c8c57a6e8e929c80976e586d5322a3d La clé privée est un peu comme votre signature sur un chèque.
  • 19. La clé publique La clé publique est calculée à partir de la clé privée précédente et elle permet de générer des adresses bitcoin. Exemple : 042c6b7e6da7633c8f226891cc7fa8e5ec84f8eacc792a46786efc869a408d29539a5e6f8d e3f71c0014e8ea71691c7b41f45c083a074fef7ab5c321753ba2b3fe La clé publique est un peu comme votre numéro de compte.
  • 20. Les adresses bitcoin. Les adresses bitcoin sont des adresses générées qui correspondent à votre clé publique. C’est à ces adresses que l’on peut vous envoyer des bitcoins et vous pouvez en créer autant que vous voulez. Exemple : 13mtgVARiB1HiRyCHnKTi6rEwyje5TYKBW Les adresses correspondent au champs “à l’ ordre de” sur les chèques ou une adresse email.
  • 21. En un schéma Schéma O’Reilly
  • 22. Fini ! La première étape est terminée, quatre points importants : ● On a tout ce qu’il faut pour commencer à recevoir et envoyer des bitcoins. ● Tout ceci est géré de manière automatique par les logiciels du marché. ● Tout ce que l’on vient de faire peut être fait offline. ● Si vous perdez la clé privée, vous ne pourrez pas retrouver vos bitcoins.
  • 23. Étape 2 : on achète des bitcoins
  • 24. Étape 2 : on achète des bitcoins Il existe deux façons d’obtenir des bitcoins : ● En fabriquer. ● En obtenir auprès d’un tiers qui en possède.
  • 25. Achat de bitcoins. Pour en acheter, BitcoinDistrib va s’adresser à quelqu’un qui en possède et lui donner son adresse bitcoin : 13mtgVARiB1HiRyCHnKTi6rEwyje5TYKBW Il existe plein de vendeurs : ● Coinbase (plateforme en ligne). ● La maison du bitcoin (accueil physique). ● Des connaissances. ● Ou pour notre exemple : BTSeller.
  • 26. Comment ça va se concrétiser ? ● BTSeller, avec le logiciel de son choix, va créer une transaction avec le montant à transférer et votre adresse bitcoin comme destinataire. ● Afin de prouver qu’elle possède bien les bitcoins, BTSeller va utiliser sa clé privée pour signer la transaction. ● BTSeller va ensuite transmettre cette transaction à l’un des noeuds du réseau bitcoin. ● Ce noeud va vérifier que la signature de la transaction est conforme. ● Ce noeud va vérifier auprès du registre global des transactions (blockchain) que le montant transféré est bien inférieur ou égal au montant dont BTSeller dispose. ● Ce noeud va ensuite propager la transaction à trois autres noeuds (qui feront les mêmes vérifications) et ainsi de suite jusqu’à ce que tout le réseau soit au courant. ● BitcoinDistrib pourra, avec le logiciel de son choix, vérifier que le bitcoin a bien été transféré à son adresse (cela prendra à peine quelques secondes). ● Les machines faisant du minage vont se charger d’inscrire cette transaction dans le blockchain.
  • 27. Étape 3 : on reçoit un paiement
  • 28. Étape 3 : recevoir son premier paiement. Pour son distributeur de boisson d’Angoulême, il va créer une adresse bitcoin spécifique. Cette adresse, il va ensuite l’encoder avec le montant à régler dans un QRCode qu’il va coller sur la machine.
  • 29. Un client arrive Pour payer un client aura juste besoin de lancer une application sur son téléphone et de photographier le QRCode.
  • 31. Quatre choses importantes ● Contrairement aux cartes bancaires, ni le vendeur, ni l’ acheteur n’ont besoin de fournir des informations confidentielles. ● Les machines du vendeur et de l’acheteur n’ont pas besoin de communiquer directement. ● La transaction ne peut être “interceptée” car modifier la transaction détruirait la signature. ● Tout ce que nous avons vu peut être fait en quelques minutes...
  • 34. La cryptographie asymétrique Bitcoin utilise la cryptographie asymétrique (ou cryptographie à clé publique) pour créer une paire de clés (l’une publique et l’autre privée) qui va permettre l’accès aux Bitcoins. Même principe que la signature électronique pour les documents PDF.
  • 35. La cryptographie asymétrique Le principe : ● La clé publique permet de coder un message. ● La clé privée permet de décoder ce même message.
  • 36. La cryptographie asymétrique Cas concret. ● La société Scub a généré il y a des années sa paire de clé privée/publique. ● Elle a diffusé sa clé publique partout pour que tout le monde puisse communiquer avec elle. ● John, qui souhaite envoyer un document à Scub, est sollicité par trois entités qui prétendent être Scub.
  • 37. La cryptographie asymétrique La solution. ● John utilise la clé publique pour encrypter un texte quelconque comme “bonjour, ça va ?”. ● John envoie le message codé “45Zdiejfneipk!de” aux trois entités se présentant comme Scub. ● Seule Scub, qui possède la clé privée, pourra décoder le message envoyé par John et lui dire quel était le message originel envoyé (“bonjour, ça va ?”).
  • 38. La cryptographie asymétrique Source : http://www-igm.univ-mlv.fr/~dr/XPOSE2006/depail/fonctionnement.html
  • 39. La cryptographie asymétrique Source : http://www-igm.univ-mlv.fr/~dr/XPOSE2006/depail/fonctionnement.html
  • 40. La cryptographie asymétrique On peut aussi utiliser le système à l’inverse pour signer numériquement : ● On utilise la clé privée pour signer le contenu d’une transaction. ● Tous les utilisateurs qui possèdent la clé publique pourront vérifier que le message a bien été envoyé par la bonne personne.
  • 41. Résumé du fonctionnement ● La clé privée vous permet d’encoder des transactions. ● La clé publique, générée à partir de la clé privée, vous permet de générer l‘adresse bitcoin. ● L’adresse bitcoin permet à n’importe qui de vous envoyer des bitcoins en mettant l’ adresse comme destinataire de la transaction.
  • 42. Dernier point Quand vous générez votre clé publique et votre clé privée, vous n’existez pas pour le réseau Bitcoin. Vous possédez seulement une adresse Bitcoin valide qui pourrait être utilisée pour accéder à des transactions existantes. Il n’y a donc pas de notion de “compte”.
  • 44. Les transactions représentent les transferts de Bitcoins entre les participants du système. On peut faire l’analogie avec un chèque. Les transactions / Définition.
  • 45. Cycle de vie d’une transaction ● La transaction est créée localement. ● Elle est signée par l’auteur. ● Elle est transmise au réseau. ● Elle est validée et distribuée à tous les noeuds. ● Elle est enfin ajoutée au registre global des transactions.
  • 46. Contenu (simplifié) d’une transaction : ● L’adresse bitcoin du destinataire. ● Le nombre de bitcoin. ● A partir de quelles transactions précédentes sont pris les bitcoins à envoyer. Le tout est signé avec la clé privée ! Les transactions / Création.
  • 47. Les transactions / L’envoi au réseau. Contrairement à un paiement par carte de crédit, une transaction bitcoin ne contient aucune information sensible. On peut donc l’envoyer sans risque à n’importe quel nœud Bitcoin.
  • 48. Les transactions / La propagation. Une fois que votre transaction est arrivée sur un nœud, celui-ci se chargera, si elle est valide, de la propager à l’ensemble du réseau Bitcoin. L’ensemble du réseau est décentralisé, chaque nœud recevant une nouvelle transaction va la propager à 3 ou 4 des nœuds qu’il connaît, qui eux même vont le transmettre à 3 ou 4 autres nœuds qu’ils connaissent.
  • 49. Les transactions / blockchain. Les transactions vont être groupées dans des “blocks” qui vont être insérés dans le blockchain. Pour qu’un block soit inséré dans le blockchain et soit considéré comme “officiel”, les mineurs vont, avec le contenu du block, essayer de résoudre un problème cryptographique très complexe ce qui le rendra “infalsifiable”.
  • 50. Anatomie de transactions Source : Mastering_Bitcoin (O’reilly)
  • 51. Une monnaie programmable Dernière chose, la plupart des transactions sont débloquées grâce à une clé privée mais Bitcoin permet aussi de spécifier des règles complexes pour accéder à une transaction. Par exemple, pour accéder aux bitcoins d’une transaction, on pourrait demander que deux clés privées soient utilisées pour le déverrouillage au lieu d’une : celle de la comptabilité et du directeur financier. C’est pour cela qu’on dit que Bitcoin est une monnaie programmable.
  • 53. Le réseau d’ordinateurs Le réseau Bitcoin est un réseau de machines en peer to peer (P2P), comme napster à l’ époque ou bittorrent aujourd’hui, ce qui signifie que toutes les machines qui y participent (y compris la votre) ne sont pas plus spéciales les unes que les autres. Il n’y a donc pas de serveur central, pas d’ autorité et pas de hiérarchie. Ce qui rend le réseau virtuellement indestructible.
  • 55. Le réseau d’ordinateurs Chaque noeud peut avoir différents services : ● Le routage : ce service permet la validation et la propagation des transactions / blocs ainsi que la découverte et la communication avec d’autres nœuds. ● La base de données des transactions : ce service consiste à contenir une copie complète et à jour du blockchain et ainsi d’être en mesure de vérifier la validité de toute transaction de manière autonome. ● La capacité de minage pour les nœuds qui sont en compétition pour créer des blocs valides à ajouter dans le blockchain. ● Le porte monnaie qui permet éventuellement de gérer les clés du nœud.
  • 57. Le hachage Un algorithme de hachage prend n’importe quelle donnée de “n’importe quelle taille” en entrée et produit une chaîne de caractère “unique” qui fera toujours la même taille et qui sera une sorte d’empreinte de vos données d’ entrées. Si un seul caractère de votre texte est changé, le hachage va complètement changer.
  • 58. Exemple de hachage (SHA-256) ● “Je m’appelle Stéphane Traumat” ⇒ 607af60dbf07e5c08d985e2c794624b8c05b7 7a5235c8071e0243baeb547906b ● “Je m’appelle Stéphane Traumat!” ⇒ a7b5b4dbae0800a23a47f5abf7cb7bf12999c ebfbfa3e8ac199ea96c93be4802
  • 59. Les fonctions de hachage permettent de vérifier très rapidement si un contenu, quelque soit sa taille, a été modifié. A quoi cela sert il ?
  • 61. Le blockchain Le blockchain est le registre global de toutes les transactions qui ont eu lieu depuis la création de Bitcoin. On peut se le représenter comme un fichier dans lequel s’empile, les uns sur les autres, des groupes de transactions validées (appelés blocs).
  • 62. Le blockchain Chaque bloc de transactions est identifié par un hash calculé qui représente son contenu. Chaque bloc sert de fondation au bloc suivant car il référence dans son entête le hash de son père. Si vous changer le contenu d’un ancien bloc, il vous faudrait recalculer tous les blocs qui se trouvent au dessus de lui.
  • 65. Dernier détail Si les comptes sont bien anonymes, les transactions, elles, sont publiques ! D’où le “pseudo anonymat”
  • 67. Le minage Le minage (mining) est le processus qui sécurise le système et rend le blockchain infalsifiable. En contrepartie de ce travail, les mineurs qui sécurisent le système se voient octroyer de la monnaie crée pour l’occasion (en plus des frais inclus dans chaque transaction).
  • 69. Le minage La problématique à traiter est la suivante : Comment mettre d’accord un réseau d’inconnus sur une vérité universelle en sachant que, dans un réseau d’ inconnus, on ne peut faire confiance à personne ?
  • 70. Le minage : vue d’ensemble ● Chaque noeud du réseau qui fait du minage stocke les transactions qui sont arrivées depuis l’ajout du dernier block au blockchain. ● Dès qu’un block est validé et ajouté (environ toutes les 10 minutes), chaque noeud de minage va essayer de créer un nouveau bloc avec les transactions en attente et ce bloc, pour être accepté par les autres, devra contenir la solution à un problème complexe. ● Le premier noeud qui réussit à résoudre le problème va envoyer son block aux autres et va remporter les 25 bitcoins plus les frais de transactions !
  • 71. Le minage : création d’un bloc En fait, chaque noeud de minage va essayer de construire un bloc avec le contenu des transactions plus une variable appelée “Nonce”. La règle du jeu pour les tous les mineurs est simple : ● Vous n’avez le droit de faire varier que la valeur de la variable “Nonce”. ● Sur le contenu du bloc, vous utilisez la fonction de hachage SHA-256. ● Le premier qui a trouvé la valeur de “Nonce” pour laquelle le hachage commence par 00000 a gagné !
  • 72. Le minage : création d’un bloc Ce qui va se passer est au final assez simple : ● Notre nœud de minage va mettre la valeur “1” dans le champs “nonce”, puis va concaténer tous les champs de l’entête et calculer la valeur sha256 de l’ensemble de cette chaîne. ● Si le résultat ne commence pas par cinq “0”, il va mettre la valeur “2” dans le champ “Nonce”, concaténer tous les champs, calculer la valeur sha-256 et vérifier si le résultat commence par cinq “0” ● Ainsi de suite jusqu’à ce que quelqu’un dans le réseau bitcoin y arrive.
  • 73. Le minage : création d’un bloc C’est donc une compétition mondiale entre des milliers de machines qui effectuent des calculs “complexes” afin de trouver une valeur particulière à partir des données du nouveau bloc à valider. Lorsqu’un nœud a trouvé la valeur de nonce qui convient pour en faire un bloc valide, il transmet le bloc aux autres membres du réseau qui vont le vérifier et le transmettre aux autres et ainsi de suite jusqu’à ce que tout le réseau le reçoive et l’ajoute au blockchain.
  • 76. Les faiblesses ● Bitcoin n'est pas l'incarnation de l'autorité d'un État, d'une banque ou d'une entreprise. Sa valeur est donc très liée à la valeur perçue par ses utilisateurs. ● Monnaie déflationniste car limitée à 21 millions de bitcoins. ● Aucun système de recours (perte, vol…). ● Représente un attrait fort pour les activités illégales bien que cela soit assez faux.
  • 78. En conclusion - Séparer monnaie et technologie. Il faut voir deux choses distinctes dans bitcoin : l'aspect "monnaie" et l'aspect "technologique". La technologie blockchain apporte pour la première fois une solution à un problème que l’humanité a toujours résolu par l’administration. Pour la première fois, on peut transférer un titre de propriété digital à un autre utilisateur de manière simple, sécurisé, connu de tous et non répudiable.
  • 79. En conclusion - Séparer monnaie et technologie. Nous pourrions voir l’avènement de systèmes qui gèrent des transactions (humain / humain, humain / machine ou machine / machine) et qui pourront remplacer certaines structures humaines existantes (banques, notaires, cadastres…).