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

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

  • 1.
    Bitcoin Comment ça marche etpourquoi c’est une révolution ? Stéphane Traumat http://about.me/straumat
  • 2.
    Agenda ● Les caractéristiquesdu 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.
  • 3.
  • 4.
    Une citation Milton Friedmandisait 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 dubitcoin ● 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 Avecla 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 Avecle 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.
  • 8.
  • 9.
    Prenons un scénario L’entrepriseBitcoinDistrib 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.
  • 10.
  • 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
  • 14.
  • 15.
    Prenons un scénario L’entrepriseBitcoinDistrib 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 Laclé 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 Laclé 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. Lesadresses 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.
  • 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. Pouren 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 vase 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 Pourpayer un client aura juste besoin de lancer une application sur son téléphone et de photographier le QRCode.
  • 30.
  • 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...
  • 32.
  • 33.
  • 34.
    La cryptographie asymétrique Bitcoinutilise 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 Leprincipe : ● 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 Casconcret. ● 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 Lasolution. ● 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 Onpeut 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 vousgé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”.
  • 43.
  • 44.
    Les transactions représententles 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 vied’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’unetransaction : ● 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èrechose, 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.
  • 52.
  • 53.
    Le réseau d’ordinateurs Leré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.
  • 54.
  • 55.
    Le réseau d’ordinateurs Chaquenoeud 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.
  • 56.
  • 57.
    Le hachage Un algorithmede 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 dehachage permettent de vérifier très rapidement si un contenu, quelque soit sa taille, a été modifié. A quoi cela sert il ?
  • 60.
  • 61.
    Le blockchain Le blockchainest 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 blocde 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.
  • 63.
  • 64.
  • 65.
    Dernier détail Si lescomptes sont bien anonymes, les transactions, elles, sont publiques ! D’où le “pseudo anonymat”
  • 66.
  • 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).
  • 68.
  • 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.
  • 74.
  • 75.
  • 76.
    Les faiblesses ● Bitcoinn'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.
  • 77.
  • 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…).
  • 80.