Aller au contenu
buybitcoinsmart

Glossaire / Minage et consensus

Consensus

Qu'est-ce que consensus ?
Dans le bitcoin, le consensus est l'état dans lequel des nœuds exploités indépendamment, appliquant des règles identiques, s'accordent sur une seule chaîne : la chaîne valide totalisant le plus de preuve de travail accumulée.

Personne ne vote et personne n'est aux commandes. Chaque nœud vérifie chaque bloc contre le même règlement, puis suit la chaîne valide qui porte le plus de travail, ce qui permet à un ordinateur portable se synchronisant à partir de zéro de reconstituer l'historique identique depuis le 3 janvier 2009. Quand vous achetez du bitcoin, c'est ce mécanisme qui décide que les bitcoins qui vous ont été envoyés sont réellement les vôtres.

Comment cela fonctionne

L'accord est obtenu en posant deux questions dans un ordre fixe, jamais en organisant un vote.

La première question est la validité. Un nœud reçoit un bloc et le vérifie seul : signatures, montants, racine de merkle, subvention réclamée par le mineur, poids, horodatage. Tout ce qui échoue est rejeté sur-le-champ, et la quantité d'électricité brûlée pour le produire est sans importance. La deuxième question est le choix entre des options valides. Quand deux histoires concurrentes passent toutes les deux, un nœud garde celle dont le travail total, additionné sur ses en-têtes, est le plus grand, ce qui n'est pas la même chose que celle qui compte le plus de blocs : une branche plus courte de blocs plus difficiles l'emporte sur une branche plus longue de blocs plus faciles.

Remarquez ce qui manque. Les nœuds n'échangent jamais d'opinions, n'annoncent jamais de préférence et ne se comptent jamais entre eux. Ils relaient des blocs et des transactions, appliquent le même test à ce qui arrive et aboutissent au même point parce que le test est déterministe. L'accord est un effet secondaire du fait que chacun fait ses calculs de son côté, ce qui explique que le réseau n'ait aucun quorum à corrompre et aucun comité à citer en justice.

Un désaccord bref est courant. Il arrive que deux mineurs trouvent une solution à une seconde d'intervalle et que la moitié du monde voie un bloc en premier, si bien que pendant quelques minutes il existe deux extrémités candidates. Le bloc suivant tranche, une branche est abandonnée comme bloc périmé et ses transactions retournent dans la mempool. Le désaccord profond est le cas intéressant, et il ne se produit que lorsque des nœuds appliquent des règles différentes. Resserrez les règles et les anciens logiciels acceptent encore tout ce que produisent les nouveaux, ce qui est un soft fork : Taproot est arrivé ainsi en novembre 2021 et n'a rien scindé. Assouplissez-les et les deux groupes suivent définitivement des chaînes différentes, ce qui est un hard fork, et c'est exactement ce qui s'est produit le 1er août 2017 lorsque Bitcoin Cash s'est séparé.

Pourquoi cela compte quand vous achetez du bitcoin

Le consensus est ce qui fait qu'un solde en bitcoins vous appartient plutôt qu'il ne constitue une promesse de celui qui le détient.

La chaîne s'accorde sur les sorties et sur les clés qui peuvent les dépenser. Elle n'a aucune notion de titulaire de compte. Tant que vos bitcoins se trouvent sur une plateforme d'échange, le consensus voit les adresses de la plateforme et rien d'autre, et votre droit sur eux est une ligne dans la base de données de cette entreprise, appliqué par le droit des contrats plutôt que par des nœuds. Déplacez-les vers un portefeuille dont vous détenez les clés et la situation s'inverse : le règlement mondial reconnaît désormais directement votre autorité de dépense, et aucun ticket d'assistance, gel ou insolvabilité n'y change quoi que ce soit. C'est tout l'argument de l'auto-conservation, et c'est une affirmation sur le consensus, non sur la confiance.

Les forks rendent la distinction visible. Toute personne détenant ses propres clés le 1er août 2017 s'est retrouvée à contrôler des bitcoins sur les deux chaînes, parce que les deux chaînes avaient hérité du même historique de sorties. Toute personne détenant via une plateforme a obtenu ce que cette plateforme a choisi de faire, et plusieurs ont mis des semaines à créditer le nouvel actif ou ont refusé de le prendre en charge. La même logique s'applique à toute scission future.

Le consensus est aussi mondial d'une manière que la réglementation n'est pas. Les 231 guides pays de ce site diffèrent énormément sur ce qui est légal, ce qui doit être déclaré et quelles plateformes vous accepteront, mais rien de tout cela n'atteint le registre. Un bitcoin acheté en Allemagne et un bitcoin acheté au Nigeria sont validés par les mêmes règles, vivent dans le même ensemble d'UTXO et sont indiscernables pour un nœud. Ce qui change à une frontière, c'est qui vous vendra et ce que vous devez à votre administration fiscale, jamais ce que le réseau considère comme valide.

Les six heures de mars 2013 où le bitcoin a fait tourner deux chaînes

Le bloc 225 430, miné le 11 mars 2013, a été accepté par une version du logiciel et rejeté par la version précédente.

Bitcoin 0,8 avait fait passer sa base de données de Berkeley DB à LevelDB et, ce faisant, avait discrètement supprimé une limite non documentée sur le nombre de verrous que l'ancienne base de données pouvait prendre pendant le traitement d'un gros bloc. Le bloc dépassait cette limite. Les nœuds exécutant 0,7 l'ont refusé, les nœuds exécutant 0,8 ont bâti dessus, et le réseau a porté deux chaînes pendant environ six heures. Une double dépense d'environ 10 000 dollars est passée contre le processeur de paiement OKPay.

La résolution dit quelque chose qu'aucun document de protocole ne dit. Les développeurs ont demandé aux pools de minage de revenir à 0,7 pour que la chaîne la plus restrictive l'emporte, et les pools l'ont fait, abandonnant des blocs qui leur avaient déjà été payés. La version 0.8.1 est sortie peu après avec un plafond temporaire de 500 000 octets sur les blocs qu'elle produirait, et le BIP50 a été rédigé comme retour d'expérience. L'épisode est la preuve standard que les règles du bitcoin sont ce que le logiciel déployé applique réellement, bogues compris, et que lorsque le logiciel est en désaccord avec lui-même, les humains doivent choisir.

Consensus vs règles de consensus

Le consensus est le résultat ; les règles de consensus sont les critères utilisés pour l'atteindre. Les règles sont une liste fixe de contrôles de validité inscrits dans le code et identiques pour tous ceux qui exécutent un logiciel compatible. Le consensus est le résultat mouvant de l'application de cette liste aux blocs qui sont arrivés, ce qui explique que deux nœuds honnêtes puissent être momentanément hors consensus, avec des extrémités différentes après un bloc presque simultané, tout en étant parfaitement d'accord sur les règles. Changez les règles et vous changez le consensus possible ; ne changez rien et le consensus change quand même toutes les dix minutes à mesure que du nouveau travail arrive.

À ne pas confondre avec

Questions fréquentes

Qui décide de ce qu'est le consensus de bitcoin ?

Toute personne qui exécute un nœud complet, individuellement. Chaque nœud applique les mêmes contrôles de validité et suit la chaîne valide qui totalise le plus de travail, si bien qu'un accord émerge sans aucun vote, comité ni registre central.

Les mineurs peuvent-ils modifier les règles de bitcoin ?

Non. Les mineurs choisissent quelles transactions valides inclure et dans quel ordre. Un bloc qui enfreint une règle est rejeté par chaque nœud, quel que soit le travail qu'il porte, et c'est pourquoi la puissance de hachage seule ne peut ni relever le plafond d'émission ni dépenser les bitcoins d'autrui.

Que deviennent mes bitcoins si le réseau se scinde ?

Si vous détenez vous-même vos clés, vous contrôlez les mêmes sorties sur les deux chaînes, comme cela s'est produit lorsque Bitcoin Cash s'est séparé le 1er août 2017. Si vos bitcoins se trouvent sur une plateforme, vous obtenez ce que cette plateforme décide de créditer, et certaines ne prennent en charge aucune nouvelle chaîne.

À lire ensuite

Termes associés

Plus de termes : Minage et consensus

Lire cette page en anglais