S'inscrire
S'inscrire
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.
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.
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 :
➤ Découvrir la différence entre un soft fork et un hard fork.
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 :
➤ En savoir plus sur les méthodes d’activation de forks sur Bitcoin.
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.