Bitcoin ne dispose d’aucune entité centrale qui puisse décider des mises à jour à effectuer et des évolutions du protocole. Pourtant, il est en constante évolution depuis 2009, si bien que les implémentations les plus récentes n’ont plus grand-chose à voir avec l’invention initiale de Satoshi Nakamoto au niveau de leur code.
Pour éviter que ce processus d’évolution soit chaotique, les développeurs utilisent le support des BIPs. Ces propositions d’amélioration permettent à la communauté de suggérer, discuter et mettre en œuvre de nouvelles fonctionnalités pour optimiser le protocole Bitcoin. Mais qu'est-ce qu'un BIP exactement, et comment fonctionne ce processus ? Dans cet article, nous étudions en profondeur ce qu'est un BIP, les différents types de propositions existants et les étapes pouvant mener à l’adoption d’un BIP.
C’est quoi un BIP sur Bitcoin ?
BIP est l’acronyme de « Bitcoin Improvement Proposal », que l’on peut traduire en français par « proposition d’amélioration de Bitcoin ». C’est un document formel utilisé pour proposer des modifications du protocole, une nouvelle fonctionnalité ou une nouvelle norme. L'objectif principal des BIPs est de fournir un cadre pour faire des changements sur Bitcoin de manière transparente, tout en préservant le consensus existant.
Chaque BIP est un document détaillé qui explique les objectifs de l'amélioration proposée, les justifications qui la motivent, les éventuels problèmes de compatibilité, ainsi que les avantages et les inconvénients. Il détaille aussi les démarches techniques requises pour mettre en œuvre l'amélioration.
Les BIPs peuvent être rédigés par n'importe qui. Ils doivent cependant être soumis à l'approbation d'autres membres de la communauté Bitcoin. Le processus est géré par Bitcoin Core, qui représente environ 99 % du réseau de nœuds. Six développeurs sont responsables de la gestion des BIPs : Bryan Bishop, Jon Atack, Luke Dashjr, Mark Erhardt (Murch), Olaoluwa Osuntokun et Ruben Somsen.
Cependant, il est important de comprendre que le rôle de ces individus dans l'édition des BIPs ne signifie pas pour autant qu'ils contrôlent Bitcoin. Si quelqu'un propose une amélioration qui n'est pas acceptée dans le cadre formel des BIPs, il peut toujours la présenter directement à la communauté Bitcoin, voire créer un fork qui inclut sa modification. L'avantage du processus des BIPs réside dans sa formalité et sa centralisation, qui facilitent le débat pour éviter la division parmi les utilisateurs de Bitcoin, en cherchant à implémenter des mises à jour de manière consensuelle. À la fin, c'est bien le principe de majorité économique qui détermine les jeux de pouvoir au sein du protocole.
Quels sont les différents types de BIPs sur Bitcoin ?
Les BIPs sont classés en trois grandes catégories : les BIPs de spécification (Standards Track), les BIPs informationnels (Informational) et les BIPs de processus (Process).
Les BIPs de spécification concernent les modifications qui affectent directement les implémentations de Bitcoin. Cette catégorie inclut les changements sur le réseau, les nouvelles règles de validité pour les blocs et les transactions, ainsi que les aspects liés à l'interopérabilité. C'est dans cette catégorie que l'on retrouve les mises à jour majeures de Bitcoin, comme par exemple les BIPs associés au soft fork SegWit (BIP141, BIP143 et BIP147).
Les BIPs informationnels fournissent des informations ou des recommandations à la communauté Bitcoin. Bien qu'ils ne proposent pas de modifications directes du protocole, ils fournissent des conseils sur divers aspects opérationnels. Par exemple, le BIP32, qui a introduit les portefeuilles déterministes et hiérarchiques qui sont largement utilisés aujourd'hui, est un BIP informationnel. Il guide les développeurs sur une organisation standard des clés cryptographiques dans un portefeuille sans pour autant imposer aux logiciels de suivre cette norme.
Enfin, les BIPs de processus décrivent des changements dans les procédures entourant Bitcoin qui n’affectent pas directement le protocole. Ces BIPs peuvent concerner les modifications des processus de gouvernance ou des outils de développement, et servent principalement à structurer la manière dont les discussions sont faites. Un exemple typique est le BIP2, qui définit la manière dont les BIPs doivent être rédigés.
Les BIPs Standards Track et informationnels, qui constituent la majorité des propositions, sont également classifiés par « Layer » ou couche. Cette catégorisation supplémentaire spécifie quel aspect du système Bitcoin est affecté par le BIP. Cela permet de savoir si le BIP affectera les règles de consensus, les communications réseau, les portefeuilles, etc. Voici les différentes couches existantes :
Consensus Layer : Les BIPs de cette couche concernent les règles de consensus de Bitcoin, telles que les modifications des règles de validation des blocs ou des transactions. Ces propositions peuvent être soit des soft forks (modifications rétrocompatibles) soit des hard forks (modifications non rétrocompatibles). Par exemple, les BIPs de SegWit et Taproot appartiennent à cette catégorie ;
Peer Services : Cette couche concerne le fonctionnement du réseau de nœuds Bitcoin, c’est-à-dire comment les nœuds se trouvent et communiquent entre eux sur Internet ;
API/RPC : Les BIPs de cette couche concernent les interfaces de programmation applicative (API) et les appels de procédure à distance (RPC) qui permettent aux logiciels Bitcoin d'interagir avec les nœuds ;
Applications Layer : Cette couche concerne les applications construites par-dessus Bitcoin. Les BIPs de cette catégorie vont typiquement traiter les modifications au niveau des standards des portefeuilles Bitcoin.
➤ Découvrir la différence entre un soft fork et un hard fork.
Quel est le processus de soumission d’un BIP sur Bitcoin ?
Le processus de création d'un BIP commence par la conceptualisation d'une idée. L’auteur du BIP, souvent appelé le « champion », discute de son idée avec la communauté de développeurs via la liste de diffusion Bitcoin-dev. Cette étape permet de recueillir des avis et d’évaluer la pertinence de l'idée proposée.
Si l'idée est prometteuse, le champion procède alors à la rédaction du document BIP, en respectant le format. Une fois rédigé, le BIP est de nouveau partagé avec la liste de diffusion Bitcoin-dev pour peaufiner la proposition. Lorsque le BIP est finalisé, l'auteur doit ensuite proposer de l’ajouter sur le dépôt GitHub qui regroupe tous les BIPs.
Les éditeurs de BIP examinent cette proposition pour vérifier si elle respecte bien tous les critères. Le BIP doit être techniquement réalisable, bénéfique pour le protocole, conforme au formatage requis, et en accord avec la philosophie de Bitcoin. Si le BIP répond à ces conditions, il est officiellement intégré au dépôt GitHub des BIPs. Il se verra ensuite attribuer un numéro. Ce numéro est décidé par l'éditeur, généralement Luke Dashjr, et est attribué de manière logique : les BIPs traitant de sujets similaires reçoivent souvent des numéros consécutifs.
Les BIPs passent par différents statuts au cours de leur cycle de vie. Le statut actuel est précisé dans l’entête de chaque BIP :
Brouillon (Draft) : La proposition est encore en phase de rédaction et de débat ;
Proposé (Proposed) : Le BIP est considéré comme complet et prêt pour être examiné par la communauté ;
Différé (Deferred) : Le BIP est mis en attente pour plus tard par le champion ou par un éditeur ;
Rejeté (Rejected) : Un BIP est classé comme rejeté s'il n'a montré aucune activité pendant 3 ans. Son auteur peut choisir de le reprendre ultérieurement, ce qui lui permettrait de retourner au statut de brouillon ;
Retiré (Withdrawn) : Le BIP a été retiré par son auteur ;
Final (Final) : Le BIP est accepté et largement implémenté sur Bitcoin ;
Actif (Active) : Pour les BIPs de processus uniquement, ce statut est attribué une fois qu'un certain consensus est atteint ;
Remplacé / Obsolète (Replaced / Obsolete) : Le BIP n’est plus applicable ou a été remplacé par une proposition plus récente qui le rend inutile.
![](https://a.storyblok.com/f/149950/1280x720/07354d18fe/evolution-du-statut-d-un-bip.png/m/filters:quality(70))
➤ En savoir plus sur les méthodes d’activation de forks sur Bitcoin.
Conclusion
Les Bitcoin Improvement Proposals (BIPs) incarnent un processus essentiel pour une évolution de Bitcoin sans conflits. Ils permettent à la communauté de proposer, de discuter et d’implémenter des améliorations de manière transparente, tout en recherchant un consensus auprès des utilisateurs. Ils assurent que l’invention de Satoshi Nakamoto continue d’avancer sans tomber dans le chaos, malgré sa structure distribuée.