Glossaire / Protocole et mises à jour
Proposition d'amélioration de Bitcoin
Aussi appelé BIP.
- Qu'est-ce qu'une proposition d'amélioration de Bitcoin ?
- Une proposition d'amélioration de Bitcoin est un document de conception numéroté qui décrit une modification apportée au bitcoin ou une norme que les portefeuilles peuvent suivre, sans avoir le pouvoir de l'imposer.
Spécifié dans BIP-2.
Les BIP sont la façon dont le bitcoin consigne les choses. N'importe qui peut en soumettre un, un éditeur attribue le numéro, et le dépôt en contient aujourd'hui plusieurs centaines, dans des états allant de Draft à Final en passant par Withdrawn. Les numéros s'infiltrent dans les produits que vous utilisez : les 12 mots générés par votre portefeuille relèvent du BIP39, et l'adresse qu'il a dérivée provient du BIP84 ou du BIP86.
Comment cela fonctionne
Le processus des BIP est un système de dépôt de dossiers plutôt qu'un organe de gouvernance.
Il a été emprunté à Python. Amir Taaki a rédigé le BIP-1 en 2011, calqué sur les propositions d'amélioration de ce projet, et Luke Dashjr l'a remplacé par le BIP-2 en 2016 pour resserrer les définitions de ce que chaque statut signifie et des preuves nécessaires pour avancer. Le circuit est sans éclat : exposer l'idée publiquement, absorber les critiques, ouvrir une demande de tirage contre le dépôt bitcoin/bips, et attendre qu'un éditeur vérifie la mise en forme et attribue un numéro.
Les propositions existent en trois types. Les documents Standards Track couvrent tout ce qui touche à l'interopérabilité des logiciels, des règles de consensus jusqu'aux formats d'adresse. Les documents Informational consignent une conception ou une convention sans demander quoi que ce soit à quiconque. Les documents Process décrivent le processus lui-même. Chacun porte un statut, qui progresse de Draft et Proposed vers Final ou Active, et beaucoup se terminent plutôt en Withdrawn, Rejected ou Replaced.
Ce que le numéro ne confère pas, c'est une autorité. Un BIP attribué est une entrée d'index, pas une approbation, et aucun organe ne pourrait l'approuver de toute façon. L'adoption se fait séparément et volontairement : quelqu'un écrit le code, des relecteurs le décortiquent, une implémentation le livre, et les utilisateurs choisissent d'exécuter cette version. Un très grand nombre de changements apportés à Bitcoin Core n'ont aucun BIP, et un très grand nombre de BIP n'ont jamais été implémentés par qui que ce soit.
Pourquoi cela compte quand vous achetez du bitcoin
Les numéros de BIP apparaissent dans les menus des portefeuilles, et choisir le mauvais est une façon courante de conclure que vos bitcoins ont disparu.
L'exemple qui piège les gens est la récupération d'une phrase de récupération. Le BIP39 a normalisé la liste de mots, 2048 entrées, et la règle permettant de transformer 12 ou 24 d'entre eux en clé maîtresse, ce qui explique qu'une phrase notée à partir d'une marque puisse être saisie dans une autre. Ce que le BIP39 ne normalise pas, c'est l'endroit où le portefeuille cherche vos bitcoins. Le BIP44 dérive les adresses legacy commençant par 1, le BIP49 dérive les adresses SegWit imbriquées commençant par 3, le BIP84 dérive les adresses SegWit natives commençant par bc1q, et le BIP86 dérive les adresses Taproot commençant par bc1p. Restaurez une phrase dans un logiciel qui utilise par défaut un chemin différent et le solde affiche zéro alors que les bitcoins restent intacts sous le chemin que vous avez réellement utilisé. Notez le chemin de dérivation sur la même carte que votre sauvegarde et le problème ne se produit jamais.
Les formats d'adresse ont la même portée pratique. Bech32 vient du BIP173 et bech32m du BIP350, et leur prise en charge est arrivée à des moments différents dans le secteur, ce qui explique que certaines plateformes n'aient pas pu envoyer vers une adresse bc1p pendant longtemps après l'activation de Taproot. Avant un retrait important, envoyez d'abord un petit montant et confirmez que le format de destination est accepté. Les transactions bloquées ont elles aussi un numéro : l'augmentation des frais par replace-by-fee a été spécifiée dans le BIP125, et un portefeuille qui l'implémente vous évite d'attendre la fin d'une estimation de frais mal tombée.
Traitez le numéro comme une étiquette, pas comme une garantie. Le BIP70, le protocole de paiement, a été implémenté par BitPay et Coinbase et ressemblait à l'avenir des paiements marchands ; Bitcoin Core l'a déprécié dans la version 0.19 et l'a supprimé dans la 0.20, et aujourd'hui plus personne ne l'utilise. Un BIP atteste que quelqu'un a réfléchi sérieusement. Savoir si quelqu'un l'exécute encore est une question distincte qui mérite d'être posée.
Du BIP340 au bloc 709 632 : comment une proposition devient une règle
Taproot est l'illustration la plus claire de tout le circuit, parce que chaque étape est datée.
La conception a été publiée sous forme de trois documents liés, le BIP340 pour les signatures Schnorr, le BIP341 pour le type de sortie Taproot, et le BIP342 pour les nouvelles règles de script, rédigés par Pieter Wuille avec Jonas Nick, Tim Ruffing et Anthony Towns. Ils ont été fusionnés dans le dépôt en janvier 2020 après environ deux ans de discussion publique. La fusion n'a rien changé au bitcoin : elle signifiait que les documents avaient des numéros.
L'implémentation et la relecture ont ensuite pris la majeure partie d'une année, et le débat sur la manière d'activer les règles a pris plusieurs mois de plus, avec deux mécanismes concurrents sur la table. Le compromis, connu sous le nom de Speedy Trial, a été livré dans Bitcoin Core 0.21.1 en mai 2021. Les mineurs ont signalé leur disponibilité pendant une fenêtre définie, le verrouillage a été atteint le 12 juin 2021, et les règles sont devenues exécutoires au bloc 709 632 le 14 novembre 2021. Cela représente environ 22 mois entre un document numéroté et une règle appliquée, et le document n'a rien fait : les opérateurs de nœuds exécutant le code l'ont fait.
Proposition d'amélioration de Bitcoin vs règles de consensus
Une proposition d'amélioration de Bitcoin est de la paperasse ; les règles de consensus sont ce que les nœuds appliquent réellement. Les deux ne se recoupent que lorsqu'une proposition a été implémentée et adoptée, et l'écart dans chaque sens est instructif. Le BIP70 a un numéro et n'applique rien nulle part. Le plafond d'offre de 21 millions n'a aucun BIP, parce qu'il précède le processus et vit uniquement dans le code. Quand vous voulez savoir ce que fait le bitcoin, lisez le logiciel ou les règles qu'il applique ; quand vous voulez savoir ce que quelqu'un a proposé, lisez le BIP.
Proposition d'amélioration de Bitcoin vs soft fork
Une proposition d'amélioration de Bitcoin est un document ; un soft fork est un événement de déploiement qui resserre les règles que tout le monde suit. La plupart des BIP ne sont des forks d'aucune sorte : le BIP39 n'a jamais touché au protocole, et le schéma d'URI du BIP21 qui permet à un lien de paiement d'ouvrir votre portefeuille non plus. Quand un soft fork se produit, il faut généralement plusieurs BIP pour le décrire, plus un autre pour le mécanisme d'activation lui-même, puisque les BIP9 et BIP8 n'existent que pour définir le fonctionnement de la signalisation. Confondre les deux conduit les gens à dire que le bitcoin a changé quand une proposition a été publiée, ce qui est normalement plusieurs années trop tôt, et parfois faux pour toujours.