[Wiki]Le Bitcoin (BTC) et vous.

Répondre
Partager Rechercher
Ce message est en mode wiki. Tous les comptes de plus de 30 jours avec plus de 30 messages peuvent le modifier.
Allez premier wiki sur la crypto la plus connue le Bitcoin ou BTC !

btc.jpg

Le Bitcoin (souvent désigné par l’acronyme BTC) est une crypto-monnaie mentionnée pour la première fois en 2008, suite à la publication de l’article Bitcoin: A Peer-to-Peer Electronic Cash System, dans lequel Satoshi Nakamoto décrit un protocole informatique d’échange de valeur de pair-à-pair via internet. Ces échanges se font sous la forme du Bitcoin, qui devient alors la première monnaie décentralisée.

Un peu d’histoire

Avant de commencer à parler de choses techniques, il faut comprendre d’où vient le bitcoin, et surtout, pourquoi des gens voudraient remplacer le système actuel que tout le monde utilise (les monnaies dites FIAT, comme le $ ou l’€), par un système de crypto-monnaie obscur.

On lie souvent la création du bitcoin au mouvement cypherpunk, ou crypto-anarchiste, qui apparut dans les années 1980. De par son positionnement politique, un anarchiste refuse d’accepter l’autorité d’un système de gouvernance centralisé. On parle bien sûr des Etats, mais également des nombreuses institutions, telles que les banques ou la police. Ils lui préfèreront un système sans hiérarchie, auto-organisé et auto-régulé. On retrouve également cette philosophie de manière plus modérée chez les libertariens.

Les crypto-anarchistes en particulier, avaient ainsi cette obsession de se soustraire au contrôle et à l’inspection des Etats en cachant toutes leurs communications via divers procédés de chiffrement informatique. Avec le développement d’internet, non-régulé par une entité centrale, l’apparition de nombreux logiciels et distributions open-source, ainsi que des services de chiffrements de messagerie, de mail et même de navigation sur le web, il est possible de communiquer incognito, du moment que l’on sait utiliser les bons outils.

Cependant, l’échange de valeur (notamment par la monnaie hors-cash) restait toujours entre les mains d’institutions bancaires, et donc sous le contrôle des Etats. C’est là qu’intervient le Bitcoin.

Le bitcoin, comment ça marche ?

En 2008 donc, Satoshi Nakamoto, un individu dont personne ne connaît l’identité encore aujourd’hui, décrivit pour la première fois le principe de la blockchain, qui est au cœur de l’algorithme bitcoin et même de la grande majorité des crypto-monnaies encore à l’heure actuelle.

La meilleure analogie pour décrire ce qu’est une blockchain est celle du livre de compte. Ce livre de compte est ici purement électronique, et est constitué d’une multitude de « blocs » dans lesquels sont répertoriés toutes les transactions qui sont opérées via ce protocole. Si vous envoyez 1 BTC à Machin, il y aura écrit la transaction « XXX envoie 1 BTC à Machin ». A l’échelle globale, la blockchain Bitcoin recense donc toutes les transactions qui ont été effectuées depuis son lancement. A l’heure actuelle, la taille de la blockchain Bitcoin est de l’ordre de 140 Go.

Sauf que pour que cet algorithme ait une quelconque chance d’être utilisé comme protocole d’échange de valeur, il faut qu’il possède certaines caractéristiques :

  • Qu’il possède un système de validation permettant d’éviter les transactions non-valides (double paiement, fonds insuffisants, clés publiques/privées non valides)
  • Qu’il soit infalsifiable et inviolable, i.e., qu’il soit impossible de modifier a posteriori la blockchain

Pour les échanges électroniques, les banques jouent le rôle de tiers de confiance, en validant les transactions et en garantissant l’intégrité des comptes de leurs clients. Dans le cas du protocole bitcoin, puisque l’on souhaite avoir un échange totalement décentralisé, c’est le réseau lui-même qui va devoir jouer ce rôle. Et pour cela, il a fallu être ingénieux.

Parlons crypto…

C’est là que la cryptographie rentre en jeu. Pour les néophytes, la cryptographie est une discipline qui s’attache à protéger un message en utilisant une (ou plusieurs) clé de cryptage afin d’en brouiller le sens pour quiconque ne disposerait pas de ladite clé. Dans le cadre du bitcoin, plusieurs procédés cryptographiques sont utilisés pour garantir l’intégrité et le bon fonctionnement de la blockchain :

La signature numérique via la cryptographie asymétrique
Il est possible d’utiliser deux clés différentes pour coder un message. Une première clé pour coder le message, et une deuxième pour le décoder. Si vous ne disposez que d’une seule clé, vous pouvez soit écrire, soit lire le message, mais pas les deux à la fois.

cle.PNG

Dans le cas du bitcoin, les clés d’écritures sont privées, et les clés de lecture sont publiques. Techniquement, chaque « compte bitcoin » (ou wallet) possède une clé privée avec lequel il va coder ses transactions (adresse 1 – X BTC – adresse 2). En revanche, tout le monde est capable de lire et donc de vérifier les transactions qui sont effectuées sur la blockchain, car la clé de lecture est publique. Cela permet d’éviter que les personnes ne possédant pas la clé privée n’écrivent des transactions à la place du propriétaire de l’adresse associée.

Le hachage :
Une fonction de hachage utilise un algorithme particulier qui permet de transformer un message de taille quelconque (qu’il s’agisse d’une phrase de 3 mots, du code d’un logiciel de plusieurs Go, ou d’un roman de 3000 pages) en un message de taille fixe. Les caractéristiques d’une fonction de hachage sont telles qu’il est facile à partir du message d’obtenir le « hash » correspondant, mais qu’il est impossible de retrouver le message à partir du hash. C’est une sorte d’empreinte numérique.

hash.PNG

Dans le cas du Bitcoin, les fonctions de hachage utilisées sont de type SHA256.

Validation, preuve de travail et minage

On a vu qu’au lieu d’utiliser un tiers de confiance, c’est le réseau qui allait être mis à contribution pour valider les transactions. Pour faire partie du réseau, un logiciel nommé BitcoinCore est utilisé. Une fois mis en route sur un ordinateur, ce dernier deviendra alors l’un des nœuds du réseau bitcoin.

Lorsque vous envoyez une transaction sur le réseau bitcoin, celle-ci va transiter par les nœuds du réseau. Ces derniers vont vérifier la validité de la transaction (fonds disponible et concordance entre 1) votre transaction cryptée par votre clé privée et 2) la clé publique fournie). Si la transaction est valide, elle sera transférée au reste du réseau. Sinon, elle sera ignorée et donc rejetée.

Sur le réseau, certains nœuds sont ce que l’on appelle des mineurs, et vont contribuer à créer les blocs de transactions. Ils récupèrent les transactions valides, et vont créer un bloc de transactions. Pour cela, ils doivent cependant suivre certaines règles afin d’établir un consensus. L’une des règles dans le protocole bitcoin est, par exemple, qu’un bloc ne doit pas dépasser la taille d’1 MB, sinon, il sera refusé par le réseau. Cette limite avait été fixée à l’époque pour garantir la fluidité des transactions. D’autres crypto-monnaies, comme le Bitcoin Cash, ont des tailles de blocs plus élevées.

La règle la plus importante est celle de fournir une preuve de travail (PoW pour Proof of Work). Cette preuve de travail est nécessaire pour s’assurer que les mineurs ne vont pas envoyer des blocs non-valides sur le réseau pour essayer de tricher. Il faut se rappeler que l’on est sur un système décentralisé dans lequel le concept de tiers de confiance a disparu. Afin de s’assurer que des blocs proposés par les mineurs suivent les règles du consensus, ils vont devoir fournir du temps de calcul en résolvant un problème algorithmique.

Ce problème est relativement simple à comprendre : à chaque bloc de transaction, on peut lui associer un « hash » correspondant (chaîne de N caractères) grâce à la fonction de hachage. Le protocole va imposer certaines conditions sur ce hash afin que le bloc puisse être validé par le réseau. Dans le cas du bitcoin, on va demande à ce que les X premiers caractères du hash soient zéro. Pour satisfaire cette condition, il va falloir associer à chaque bloc de transaction ce que l’on appelle un nonce, qui sera une chaîne de caractères. Les mineurs vont alors devoir trouver un nonce, tel que le hash du « bloc de transaction + nonce » valide la condition sur le hash.

puzzle.PNG

On ne peut obtenir ce nonce que par la manière brute. Les mineurs calculent donc des hash encore et encore avec des nonces différents à chaque fois pour satisfaire la condition de difficulté. L’une des subtilités est que la difficulté (en clair, le nombre de zéros) est ajustée en fonction de la puissance de calcul du réseau pour qu’1 bloc soit trouvé toutes les 10 minutes en moyenne dans le cas du protocole bitcoin. Une autre crypto-monnaie, le Litecoin, ajuste la difficulté pour qu’un bloc soit trouvé toutes les 2,5 minutes.

Lorsqu’un bloc valide est trouvé par un mineur, il est envoyé sur le reste du réseau pour vérifier qu’il suit les règles du consensus. Lorsque le bloc est validé par une majorité du réseau, la blockchain est actualisé avec ce nouveau bloc, et les mineurs recommencent leur travail pour constituer le bloc suivant.

De l’inviolabilité de la blockchain

L’une des caractéristiques supplémentaires de la blockchain, c’est que l’on intègre le hash du bloc précédent dans le bloc suivant (cf. ci-dessous).

blockchain.PNG

Ce procédé permet de consolider la blockchain au fil du temps, et d’éviter que quelqu’un ne réécrive des transactions dans la blockchain a posteriori. En effet, imaginons que l’on souhaite faire le malin, et effacer une transaction que l’on avait auparavant effectuée dans la blockchain. Effacer cette transaction revient à récupérer l’argent que l’on avait envoyé à quelqu’un sans son accord, et donc à le voler. Plusieurs problèmes vont alors se poser :

  1. Si le message est altéré, le hash initial ne correspond plus aux transactions présentes dans le bloc, et ne respecte donc plus les conditions du protocole sur le hash. Il va alors falloir refournir de la puissance de calcul (phénoménal à l’heure actuelle) pour déterminer un nouveau hash pour ce bloc altéré.
  2. Si ce hash est modifié, il faut également le modifier dans le bloc suivant, sans quoi la blockchain que vous cherchez à créer ne pourra pas être validé. Et si on modifie le bloc suivant, il faudra aussi recalculer son hash.

Etc, etc.

La tâche est évidemment gargantuesque, et même impossible avec la technologie dont on dispose actuellement, à moins bien sûr de disposer de la majorité de la puissance de calcul qui tourne sur le réseau bitcoin.

A l’heure actuelle, la blockchain n’a encore jamais été mise en cause depuis sa création.

Et les mineurs dans tout ça ? Ils sont bénévoles ?

Et bien non. Vu la puissance de calcul demandée pour trouver un bloc valide, il est nécessaire de rémunérer le mineur dont le bloc a été validé. Pour cela, une certaine somme en bitcoin lui est versée. Initialement, cette somme était de 50 BTC. Cette valeur est divisée par deux tous les 4 ans, et actuellement, la récompense est de 12,5 BTC. Il s’agit du seul procédé de création ex-nihilo de bitcoin. Il y a actuellement 16 millions de BTC en circulation, et ce nombre continuera à augmenter de plus en plus lentement jusqu’à atteindre sa limite de 21 millions de BTC en 2140, date à partir de laquelle plus aucun BTC ne sera créé.

En plus de cela, ils récoltent également les frais de transaction que leur fournissent les utilisateurs. Au fil des ans, le mining s’est professionnalisé : alors qu’aux débuts du bitcoin, on pouvait miner avec un vieux CPU, il faut désormais beaucoup, beaucoup de matériel haut de gamme pour miner efficacement.

DSCF1841.jpg
Exemple d'une ferme de mining

Généralement, les mineurs se regroupent en « pool », afin de collectiviser les gains. Quand un mineur du pool voit son bloc validé, les gains sont partagés entre tous les mineurs du même pool. Cela permet d’être rémunéré de manière régulière.

Pourquoi est-elle intéressante ?

C'est la première crypto, elle domine les autres et a le market cap le plus élevé, elle a dépassé les 10k€ alors qu'elle était à dix fois moins en début d'année.
C'est souvent la monnaie utilisée pour acheter d'autres crypto sur les exchanges.

Pourquoi peut-on douter d'elle ?

La monnaie est un peu victime de son succès, le nombre d'échanges de BTC est très importants et les mineurs sont un peu surchargés, ce qui rallonge les temps de traitement et les frais (fees) deviennent élevées.
Les désaccords entre la communauté des développeurs et des mineurs font qu'il est difficile de corriger ces problèmes techniques et peut aboutir à des forks, comme ce fut le cas pour le BCH.
Dernières modifications :
(Voir) 03/1/2018 00:00:21 : Grukfol (Ajout : complément sur le BTC)
(Voir) (Comparer)01/1/2018 21:14:42 : Doudou (t)
(Voir) (Comparer)01/1/2018 20:32:22 : Doudou
J'ai un peu étoffé. Il y peut-être des erreurs, approximations, ou autres, donc si vous voyez un truc à corriger, hésitez pas.

Je me suis dit que ce serait également pas mal de foutre du contenu plus récent, et notamment sur le avancées comme le Segwit ou le Lightning Network, mais je pige pas encore tout, donc si un expert veut y mettre quelques lignes, ce serait cool.
En lisant cet article (un peu foireux, ils parlent de lightning comme d'une monnaie), je suis tombé sur ce graph : https://blockchain.info/charts/avg-c...imespan=2years

Il s'est passé quoi le 20 janvier ??
Vous avez vu des changements ? 2000 minutes, une journée et demi, les mineurs sont en train d'arrêter de miner ?
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés