Le Bitcoin

La première cryptomonnaie

Loading...

Site réalisé par Valentin BOURDET, Andrei UNCHESEL et Jean-Baptiste DODERLEIN

Depuis toujours, la monnaie est à la base de notre société et a su servir d’intermédiaire dans les échanges. La monnaie a connu une évolution fulgurante. D’abord monnaie-marchandise puis monnaie sonnante et trébuchante, elle se dématérialise progressivement passant des cartes de crédit à une monnaie entièrement virtuelle. Le terme Bitcoin est dérivé du terme anglais coin (pièce de monnaie) et bit (unité de mesure informatique binaire). Sur les 500 autres cryptomonnaies, le Bitcoin occupe une place ultra-dominante et représente environ 90% du marché.

Note sur l'utilisation du site : Il est conseillé d'utiliser un ordinateur pour visionner ce site web, avec une version récente de votre navigateur.

Le Bitcoin est-il plus sécurisé ?


  • L'agent de confiance

Le Bitcoin et l’euro ont deux systèmes de sécurisation très différents. L'une des grandes différences est l’agent de confiance.

Schema d'une transaction en euro Lorsque vous faites une transaction, il faut d’abord s’intéresser à l’agent de confiance : l’agent de confiance est celui à qui vous faites confiance et qui gère pour vous le transfert. Ainsi le plus souvent, l’agent de confiance est la banque. Lors de la transaction, elle prend l’argent de l’acheteur et la donne au vendeur en sécurisant la transaction.

Schema d'une transaction en Bitcoin Lors d'une transaction en Bitcoin, l'agent de confiance est le "réseau". Le réseau est l'ensemble des machines qui sécurisent les bitcoins. La demande de transaction est envoyée sur le réseau. Celui-ci, c'est à dire les ordinateurs qui le composent, vérifie l'auteur et que celui-ci dispose bien de la somme qu'il souhaite transférer, puis transfère l'argent sur le compte destinataire.

  • Le blockchain

On pourrait comparer le blockchain à un registre public : on y trouve toutes les transactions Bitcoin depuis sa création, classées de manière chronologique. Tous les utilisateurs se partagent cet historique public. Il permet de suivre une transaction Bitcoin, mais aussi de s’assurer qu’un utilisateur n’effectue pas une transaction auprès de deux utilisateurs différents en même temps. Les blocs, fichiers contenant des transactions, sont créés par les « mineurs », chacun essayant de générer un « bloc », partie constituant la blockchaine (chaîne de bloc) , avec les derniers paiements validés par le réseau. Chaque bloc contient un hash, une suite de chiffre et de lettre, qui sera son numéro d’identification. L'action de créer des blocs s'appelle "miner" et la machine qui réussi a créer un bloc reçoit une récompense (en bitcoin). La création de ce hash requiert de la puissance de calcul, car elle demande la génération d’une « preuve de travail » : à son début le réseau a été conçu de manière a s’adapter en fonction de la puissance des machines. Le réseau essaye de maintenir un rythme de création de blocs toutes les 10 minutes. Ainsi, plus la puissance des machines générant des blocs augmente, plus la preuve de travail est compliquée à créer et plus cela demande de ressource. Ainsi, miner au début, en 2011, nécessitait moins de puissance de calcul qu’aujourd’hui

Fonctionnement des blocs
Comme son nom l'indique, le Blockchain ou la chaîne de bloc, est un enchaînement de bloc. Chaque bloc contient les dernières transactions du réseau, mais pas seulement. Il contient un hash, permettant d'identifier le bloc. De plus, il contient le hash du bloc précédent ! Cela permet de les enchainer et ainsi définir l'ordre des transactions. Prenons l'exemple de ce bloc-ci : Bloc #504715
On peut donc voir le hash de ce bloc
0000000000000000007a5f75253078ccc769c76d70d96699b63ac4b24e9a59d1
et que le bloc précédent possède le hash
000000000000000000464592b4b405aed0cb825a2642610c90e7e0c4028a4eaf
On peut aussi obtenir toutes les informations du bloc : - le nombre de transactions, ici 2967 - la somme des Bitcoin échangé pendant ces 2967 transactions, ici de 1 800 BTC - la récompense du bloc : le nombre de Bitcoin donné au créateur du bloc Une autre information va nous intéresser sur ce bloc : sa hauteur. Elle indique son emplacement sur la chaine. Ce bloc étant en position 504 715, il y a donc 504 714 avant celui-là.
Par curiosité, nous avons cherché le premier bloc de la chaine, appelé "Genesis block" :lien Ce bloc est particulier, car la seule transaction est une création de 50 BTC vers le compte 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa, qui ne peut être utilisé.

  • Les clés

Pour que le Bitcoin soit sécurisé, il utilise le chiffrement asynchrone, avec un système de clés RSA. Les clés RSA sont un système de chiffrement asynchrone qui fonctionne vec une paire de clés :
-la clé publique, celle qu’on va partager pour recevoir de l’argent
-la clé privée, celle qu’on va garder secrète, qui permet d’envoyer de l’argent.
La méthode de fonctionnement est simple : la clé publique permet d’encoder un message et la clé privée permet de le décrypter. Dans le système Bitcoin, on utilise l’inverse. Pour l’exemple, nous allons prendre deux personnes, A et B. B a donné sa clé publique à A pour qu’il lui envoie de l’argent . A, avec sa clé privée va encrypter le message « Donner 50 BTC à clé de B » et l’envoi sur le réseau. Les mineurs, grâce a la clé publique de A, vont savoir si le message a bien été encrypté par la clé privée associé. Si la vérification est bonne, alors la somme de 50 BTC est versée sur le compte de B

Expérience : essayer de cracker une paire de clés

Avant de vouloir essayer de retrouver la clé privée, qui nous permettrait de transférer de l'argent au nom du propriétaire, nous allons nous intéresser à la création de clés
Création de clés :
Une clé est composée de deux nombres entiers premiers entre eux. Ces nombres seront appelés p et q Pour notre exemple nous allons prendre p = 8 et q = 11 Ces deux nombres sont la base de notre clé : si une personne réussit à trouver p et q, ce que nous allons essayer de faire, cette personne a accès à la clé privée.
La deuxième étape consiste a faire la multiplication des deux, appelé n. Ici, n = p x q = 8 x 11 = 88 Nous allons ensuite calculer phi de n , en faisant le calcul suivant : (p-1)*(q-1). On a donc phi de n = (8-1)*(11-1) = 70 Ensuite on cherche e et d :
e est premier avec phinden, et p,q doivent être inférieur a e et phiden doit être supérieur à e . Ici grâce au script, on trouve e = 13
d est l'inverse du modulo de e , sachant que d doit être supérieur a p et q et inférieur à phi de n. Ici , d = 27
Une fois tous ces nombres trouvés, on constitue la paire de clé :
- la clé publique prend la forme (n,e) , donc (88,13) dans notre exemple
- la clé privé prend la forme (n,d), donc (88,27) dans note exemple.
def generate_key(p,q):
 # Variables de la boucle
 compteur = 0
 PGCD1 = 0
 # Notre e qui s'incrémentera
 e = 0
 d = 0
 n = p * q
 phiden = (p-1)*(q-1) #Valeur de l indicatrice d'Euler
 print("Debut des boucles !")
 while PGCD1 != 1 :
  while compteur == 0 :# Si p inférieur à e et si q inférieur à e et si e inférieur à n
   if((p < e)and(q < e)and(e < phiden)) :
    compteur = 1 # Tant que rien n'est trouvé, e s'incrémente
   e = e + 1
  PGCD1 = pgcd(e,phiden)
  compteur = 0



 while compteur == 0:
  if((e * d % phiden == 1)and(p < d)and(q < d)and(d < phiden)):
   compteur = 1
  d = d + 1
 d = d - 1
 cl_pb = (n,e)
 cl_pr = (n,d)
 return (cl_pb, cl_pr)
Crackage de clé :
Comme on le remarque , n est présent dans la clé publique et privé. Essayer de cracker une paire de clés revient a essayer de factoriser n en p et q. Si on y arrive, alors on pourra générer d et, ainsi avoir accès à la clé privée. Voici le code permettant le crackage de clé On retrouve ainsi bien q et p et on peut ainsi grâce a la fonction de génération de clé retrouver la clé privée
def crack(pb_key):
 """Crack a public RSA key
 pb_key = (n,e)"""
 n = pb_key[0]
 e = pb_key[1]
 pre = int(math.sqrt(n))
 while(n%pre != 0):
  pre -= 1
  if pre<0:
   return IOError
 p = pre
 q = int(n/p)
 phin = (p-1)*(q-1)
 d = pow(e,-1) % phin
 return (p,q)
Conclusion de l'expérience :
Le crackage de la clé a mis moins de 1 seconde. On peut se demander pourquoi ce système est sécurisé ? Dans notre exemple, nous avons volontairement pris pour p et q des petits nombres. On mesure la force d'une paire de clés par sa taille : la clé générée dans l'exemple fait moins de 8 bits, ce qui est extrêmement faible et non sécurisé . Après plusieurs tests avec ces mêmes scripts, on se rend compte que plus on augmente p et q, et ainsi la taille de la clé, plus le temps de crackage est long. Au de-là de 6 bits, les fonctions présentées ne fonctionnent plus très bien et la factorisation devient compliquée. Dans le cas réel, les paires de clés Bitcoin, ont une longueur de 2048 bits ! On considère aujourd'hui que cette longueur est sécurisée et incrackable par la force brute (méthode utilisé ici). Cependant, ce cryptage, et toutes les autres formes de cryptages seront bientôt inefficaces avec le développement des ordinateurs quantiques. Ces ordinateurs sont capables de factoriser des grands nombres en très peu de temps, qui pourrait résoudre et cracker ce type de clé très rapidement.




  • Systèmes opaque et clair

Comme dit au début de cette partie, cette nouvelle monnaie se démarque des autres par sa gestion de la sécurité : personne ne la contrôle ni ne la régule. Le Bitcoin suit la philosophie du logiciel collaboratif « open source » : un logiciel collaboratif open source est un logiciel dont le code est visible et/ou des personnes peuvent ajouter leur modification. Dans le cas du Bitcoin, le code est open source et la sécurité est prise en charge par tout le monde. Ceci se démarque du système de sécurité classique, dit opaque. Un système opaque est un système ou la partie sécurité est cachée. Ainsi personne ne verra l'argent sur votre compte en banque, car votre banque en sécurise l’accès, le cachant au reste du monde. Chacune de ces méthodes de sécurisation a ses avantages et inconvénients :

Système clair / Open Source

- La sécurité est vu par tout le monde, si il y a une faille, alors elle sera corrigée
- La sécurisation du système est partagée → pas de personne de confiance
- Tout le monde peut voir votre argent
- Historique des transactions publiques
Autre exemple : Linux, Libre Office ....

Système opaque / Logiciel propriétaire (ici la BCE)

- Code caché, faille difficile à trouver
- Sécurité repose sur un acteur de confiance : la BCE
-Compte et somme caché
- Historique des transactions privé
Autre exemple : Windows ....

Respecte-t-il et garde-t-il l'anonymat de ses utilisateurs ?


Oui ....


Le Bitcoin est une monnaie virtuelle. Lors de la création d’un portefeuille électronique de Bitcoin, une adresse de portefeuille est créée. L’utilisateur reste cependant toujours inconnu, car il n’y a pas de vérification d’identité : aucune association "portefeuille - personne réelle" ne peut être faite directement. Pour exemple, l’adresse du groupe de ce TPE est : 18f2s6a86NTs6BMdVBMzDWrZVSZE9vfeLe. Elle ne permet pas de connaitre notre identité. Le Bitcoin est une monnaie décentralisée, ce qui signifie qu’il n’appartient à personne, ce qui fournit encore plus d’anonymat, car aucune autorité n'a un droit spécifique lui permettant d'espionner l'utilisateur. Un porte-monnaie peut avoir plusieurs paires de clés ce qui permet de garder un anonymat.

Mais ....


Cependant, lors de n'importe quelle connection internet, l'adresse réseau (IP) et l'adresse machine (MAC) sont visible par les sites visités. Une correspondance porte-monnaie - adresse MAC/IP peut ainsi être établie. Ces adresses peuvent renseigner sur votre emplacement, et dans certains cas votre identité. Dans une transaction de Bitcoin, tout le monde peut consulter la transaction entre les deux adresses, car le blockchain est public. Comme dit plus haut, si on peut établir une correspondance porte-monnaie - personne, on peut observer les transactions d'un utilisateur.

Donc dans un premier temps, le Bitcoin n’est pas si anonyme à cause des historiques des transactions et aussi avec le traçage de l’IP. Néanmoins, les comptes créés ne sont pas vérifiés avec des identités réelles. On peut donc affirmer que le Bitcoin à un anonymat partiel.

Est-il viable économiquement ?


Schema d'une transaction en euro
  • Une grande instabilité

Le Bitcoin propose une solution différente au système financier et agrandit de ce fait la liberté du consommateur, qui a maintenant l’opportunité de choisir entre plusieurs monnaies. De plus certaines caractéristiques du Bitcoin peuvent apporter une solution aux faiblesses du système actuel.

Le Bitcoin peut être :

  • Utiliser dans le monde entier ! sans avoir besoin de convertir en une autre monnaie
  • utilisable sur n'importe quel support informatique
  • Le Bitcoin permet de circuler librement dans le monde entier sans avoir besoin de passer d’une monnaie à une autre

→Les avantages du Bitcoin répondant aux inconvénients du système bancaire et financier actuel.

  • Une régulation différente :

  • Dès le lancement du Bitcoin, le nombre maximum de Bitcoin en circulation a été annoncé, il est limité à 21 millions.
  • L’Euro est maintenu en inflation par la BCE qui contrôle et vérifie quotidiennement le cours de l’Euro.
  • le Bitcoin, n’est lui pas régulé par un organisme donc de ce fait il n’est pas régulier.
  • Le Bitcoin subit de très fortes déflations qui font augmenter sa valeur.
  • Le Bitcoin reste instable, mais sa valeur depuis sa création a crû fortement avec +628% depuis l’année dernière.
  • En ce moment le Bitcoin bénéficie d’un flou juridique qui lui permet d’innover et de spéculer.

Dès le lancement du Bitcoin, le nombre maximum de Bitcoin en circulation a été annoncé, il serait limité à 21 millions. L’Euro est régulé par la BCE (L’Union EU → banque centrale européenne) qui contrôle et vérifie sans cesse le cours de l’Euro pour qu’il ne soit pas modifié. Il y a donc une régulation quotidienne, pour limiter l'inflation à 2%. Ce maintien et cette stabilité servent à instaurer une confiance dans son utilisation. Par ailleurs, le Bitcoin, n’est lui pas régulé par un organisme donc de ce fait il n’est pas régulier. Ainsi le Bitcoin subit de très fortes déflations (valeur de la monnaie augmente) qui font augmenter sa valeur. Par ces observations on peut dire que de très forte inflation ou déflation ne sont pas viables sur un point économique. Le Bitcoin reste instable, mais sa valeur depuis sa création a crû fortement avec +628% depuis l’année dernière ce qui a permis de nombreux bénéfices pour certaines personnes. Malgré l’avantage des bénéfices, le Bitcoin peut faire face a des pertes de valeur en très peu de temps. En ce moment, le Bitcoin bénéficie d’un flou juridique qui lui permet d’innover et de spéculer.

  • Pas de plan juridique commun international

Schema d'une transaction en euro

Le Bitcoin, reste un sujet encore discuté entre les États qui souhaitent soit le réguler, le contrôler ou le bannir. En France, le Bitcoin est considéré comme une monnaie avec une valeur légale ce qui est important pour l’évolution du Bitcoin.

  • Une virtualité dominante avec ses avantages et ses inconvénients

Schema d'une transaction en euro
  • Avantages
Schema d'une transaction en euro
  1. Les transferts sont faciles et simples : Il est simple d’effectuer des transferts de Bitcoin dans le monde entier sans avoir à payer des frais et sans passer par un intermédiaire.

  2. Les transferts sont rapides : Le Bitcoin se transfert plus rapidement que les monnaies transférées à partir de système bancaire traditionnel.

  3. Une monnaie avec une notoriété et une étendue mondiales : Le système du Bitcoin peut-être qualifié de mondiale, car il existe et fonctionne uniquement grâce a ses utilisateurs.

  4. Une monnaie accessible à tous : Le Bitcoin peut être acquis par n’importe qui, il est donc disponible pour tous ceux qui veulent en posséder.

  5. Des transactions privées : La monnaie du Bitcoin permet aux utilisateurs des transactions plus privées que le système bancaire traditionnel malgré une possibilité de traçage.

  6. Une monnaie en quantité limitée : Une limitation de 21 millions de Bitcoin a été fixée à ses débuts. Le Bitcoin est aujourd’hui à l’approche des 17 millions mis en circulation. Celui-ci est distribué et mis sur le marché de façon constante. Cette constance dans la distribution permettra de limiter son instabilité dans le temps et permettra à ce dernier de se maintenir à une valeur.

  • Inconvénients
  1. Des transactions irréversibles : Les transactions effectuer avec le Bitcoin ne peuvent pas être modifié il faut donc pas se tromper de destinataire.

  2. Une monnaie à protéger : Le Bitcoin est une monnaie qui se stocke en ligne ou sur un ordinateur, il est donc nécessaire de bien protéger sa possession.

  3. Le Bitcoin et ses facteurs risques : Lorsque l’on investit dans le Bitcoin cela devient une expérience, car aucune autre monnaie ne propose cela aujourd’hui, mais cela comporte des risques comme pour tout autre investissement.

  4. Le Bitcoin est-il connu et compris ? : Le majeur problème du Bitcoin aujourd’hui est l’incompréhension de cette monnaie et de son fonctionnement par de nombreuses personnes malgré une grande médiatisation. Cette incompréhension pourrait avoir des répercussions sur l’évolution de cette technologie.

  5. L’instabilité et les riches du Bitcoin : Le risque ZÉRO n’existe pas donc comme toutes les monnaies existantes le Bitcoin présente des risques lors de l’investissement. De plus le Bitcoin connaît de grandes fluctuations plus fortes et plus fréquentes que les autres monnaies.

Respecte-t-il l'environnement ?

Comme le Bitcoin est informatisé, et que de plus en plus de monde l'utilise, il faut beaucoup d’ordinateurs pour faire fonctionner le réseau. Les algorithmes étant très complexes, des processeurs puissants sont nécessaires. Cependant, ils coûtent chers et sont très énergivores. C’est un des points importants non négligeables des cryptomonnaies. L’impact écologique est très élevé par la consommation électrique, car elle augmente d'année en année dans le monde. Le système du Bitcoin nécessite de faire tourner ces machines, 24 heures sur 24 et 7 jours sur 7. Le fait de miner du Bitcoin consomme aussi beaucoup de puissance. Cette consommation serait de l’ordre de 30,14 milliards de kilowatts-heure par an, soit l'équivalent de la production électrique de quatre centrales nucléaires. Une transaction d’un portemonnaie
A à un portemonnaie B pourrait consommer soit près de 99,38 kWh . Pour faire la comparaison : un ménage américain consomme en moyenne 900 kWh chaque mois, cela signifie donc qu’une seule transaction en Bitcoin représente environ la consommation énergétique d’un foyer pendant une semaine ! Mais il y a de nouvelles technologies comme les énergies renouvelables qui pourraient être utilisées, ou une amélioration de la consommation.



Conclusion

Ainsi on peut dire que le Bitcoin est une nouvelle monnaie, qui par ses nouveautés apporte une vision nouvelle de l’économie. Après avoir étudié sa sécurité, son anonymat, sa place dans l’économie et son respect de l’environnement, nous sommes arrivés à la conclusion que le Bitcoin, dans son état actuel, n’est pas capable de remplacer l’euro. En effet, malgré ses avancées majeures en sécurité, son instabilité ne le rend pas utilisable dans la vie de tous les jours. De plus, son impact environnemental est incompatible avec le développement durable. Aujourd’hui le Bitcoin et les autres cryptomonnaies, sont principalement utilisés comme outil de spéculation : des personnes intéressées par son augmentation de valeur investissent pour faire fructifier leur argent. Cependant, cela est fortement déconseillé par l’AMF (Autorité des Marchés Financiers), et non sans raison : une personne ayant investi 15 000€, le 7 décembre 2017, se retrouve le 5 février avec 5 000 €, en ayant perdu 200 % de sa valeur initiale. En peut donc conclure que le Bitcoin est une monnaie très instable, dérivée de sa fonction initiale, qui est de plus en plus délaissé pour d'autres cryptomonnaie.

Sitographie

https://bitcoin.fr/bitcoin-explique-par-son-inventeur/
https://bitcoin.fr/blockchain/
https://europa.eu/european-union/about-eu/institutions-bodies/european-central-bank_fr
https://bitcoin.fr/histoire/
https://www.contrepoints.org/2016/09/09/265146-blockchain-comment-ca-marche
https://www.touteleurope.eu/actualite/la-banque-centrale-europeenne-bce.html
https://marmelab.com/blog/2016/05/12/blockchain-expliquee-aux-developpeurs-web-la-theorie.html
https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b
https://github.com/daneah/toyblocks
https://openclassrooms.com/courses/comprendre-le-bitcoin-et-la-blockchain/les-paiements-en-bitcoins
http://e-ducat.fr/links/ecdsa/
https://www.blockchain.com/
https://ploum.net/bitcoin-pour-les-nuls/
https://bitcoin.org/fr/proteger-votre-vie-privee
https://www.virwox.com/?r=50695
https://bitcoin.fr/
https://www.lebigdata.fr/big-data-bitcoin-catastrophe-environnement
https://www.virwox.com/
https://blockchain.info/
http://www.lefigaro.fr/conjoncture/2018/01/03/20002-20180103ARTFIG00272-bitcoin-vers-la-fin-de-l-anonymat-des-transactions.php
http://www.zerohedge.com/sites/default/files/images/user3303/imageroot/2013/05/20130512_BTC.jpg
https://utmagazine.ru/uploads/posts/thumb_59df199a4cbed.png
https://snappyfox.com/wp-content/uploads/2017/04/ip-address-tracking-510x369.png
https://images.everyeye.it/img-articoli/i-computer-quantistici-segneranno-fine-dei-bitcoin-v5-36123.jpg
https://cdn.awsli.com.br/53/53761/arquivos/Bitcoin_Logo_Horizontal_Dark-4800px.png
http://www.websystems.com.ec/web/images/stories/hosting.jpg
http://submit-it.org/wp-content/uploads/2017/09/blockchain-gold-and-silver-launchpad_1-1.jpg
https://www.wizishop.fr/blog/wp-content/uploads/2008/07/schema_paiement_paypal4.jpg
http://img.lemde.fr/2016/05/30/0/0/1251/835/534/0/60/0/f28e50b_24960-dtamy6.jpg
https://www.canardcoincoin.com/wp-content/uploads/2017/04/cours-du-bitcoin.jpg
https://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Entr%C3%A9e_de_la_centrale_de_Civaux.JPG/1200px-Entr%C3%A9e_de_la_centrale_de_Civaux.JPG