Un BIP est un document où une proposition d'amélioration technique, organisationnelle ou de tout autre type est présentée pour le développement de Bitcoin.
LL'acronyme BIP signifie Proposition d'amélioration Bitcoinqui signifie en espagnol Proposition d'amélioration pour Bitcoin. Il s'agit d'un document qui contient une proposition ou une conception pour améliorer la structure ou le fonctionnement de l'écosystème Bitcoin. Que ce soit de nature technique ou organisationnelle pour la communauté derrière le développement de Bitcoin. La proposition est accompagnée d'une explication et d'une justification claires et concises de la nouvelle fonctionnalité. Ceci est nécessaire pour le soumettre à l'approbation ou non de la communauté.
Pour y parvenir, les commentaires de la communauté sont recueillis et un consensus est recherché sur la décision à prendre. Ce travail fait partie des responsabilités de l'auteur, qui doit également déposer les positions pour et contre la proposition. En raison de la manière dont le travail est structuré dans Bitcoin Core, ils stockent leurs modifications de manière historique. De cette manière, la proposition originale et ses différentes variantes seront toujours disponibles pour le reste de l'équipe. Un travail important au sein d'un groupe de développement aussi actif, hétérogène et international.
La proposition de création de ces documents a été donnée par le développeur cryptoanarchiste Amir Taaki, le 19 août 2011. Pour sa conception, Taaki s'est appuyé sur le célèbre PEP (Propositions d'amélioration Python - Propositions d'amélioration Python). Plus tard, la structure serait améliorée par Luke Dashjr.
Types de BIP
Il existe trois types de BIP qui peuvent être présentés, et ce sont les suivants:
Suivi des normes
Connu comme Piste des normes, ils sont utilisés pour décrire les changements qui affectent la plupart ou toutes les implémentations Bitcoin. Ces modifications incluent généralement les modifications du protocole réseau, la modification des règles de validité de blocage ou de transaction, ou tout autre changement ou ajout qui affecte l'interopérabilité des applications qui utilisent Bitcoin. Ils ont tendance à être des PIF très techniques et longuement débattus en raison de leurs implications profondes sur l'opérabilité de la blockchain. Un exemple de ce type est présenté dans le SegWit (BIP-141).
Informatif
Ceux-ci sont utilisés pour décrire ou faire connaître un problème de conception Bitcoin, en donnant des directives ou des recommandations pour sa solution. Ils sont généralement le résultat d'enquêtes individuelles, collectives ou commerciales. Ils présentent des données, des preuves ou des études conceptuelles qui soutiennent la proposition et ses déclarations. Un exemple de ce type est Distribution de transactions Multi-Sig ou BIP-10.
Processus
Ceux-ci décrivent un processus qui entoure Bitcoin, en proposant un changement ou une amélioration de celui-ci. Les BIP de processus s'appliquent à différentes zones du protocole Bitcoin. Ils peuvent proposer une implémentation, mais pas directement à la base de code Bitcoin. Étant plus que des recommandations, celles-ci ne peuvent pas être ignorées en tant que BIP informatifs.
Des exemples de ces BIP incluent des procédures, des lignes directrices, des modifications du processus de prise de décision et des modifications des outils ou de l'environnement utilisés dans le développement de Bitcoin. Tout méta-BIP est également considéré comme un processus BIP. Un exemple de ces BIP peut être trouvé dans le Classification BIP ou BIP-123.
Structurer un BIP
Un BIP est structuré de la manière suivante:
- Préambule. Cette section contient les en-têtes où sont placées les métadonnées sur le BIP.
- Résumé. Voici une brève description (~ 200 mots) du problème technique traité.
- Droit d'auteur. Il doit faire l'objet d'une licence explicite selon les conditions de droit d'auteur acceptables. Généralement, cette licence est soit conforme à la GPL, soit non GPL.
- Spécification. Ce point décrit la syntaxe et la sémantique de toute nouvelle fonctionnalité. La spécification doit être suffisamment détaillée pour permettre des implémentations compétitives et interopérables pour l'une des plates-formes Bitcoin actuelles.
- Motivation. C'est là que les raisons pour lesquelles la proposition a été créée sont clairement expliquées. Il est essentiel que cette section soit claire et dissipe tout doute sur elle et sa création.
- Justification. La justification de la spécification décrit ce qui a motivé la conception et pourquoi des décisions de conception particulières ont été prises.
- Rétrocompatibilité. Tous les BIP qui introduisent des incompatibilités en amont doivent inclure une section décrivant ces incompatibilités et leur gravité. Le BIP doit expliquer comment l'auteur propose de gérer ces incompatibilités.
- Implémentation de référence. L'implémentation de référence doit être terminée avant qu'un BIP ait le statut "Final", mais il n'est pas nécessaire qu'elle soit terminée avant d'être acceptée. Il est préférable de terminer d'abord la spécification et la justification et de parvenir à un consensus avant d'écrire le code. L'implémentation finale doit inclure le code de test et la documentation appropriée pour le protocole Bitcoin.
Statut d'un BIP
Un BIP a un certain cycle de vie qui dépend de l'état dans lequel il se trouve. À ce stade, nous pouvons dire que le statut d'un BIP est le suivant:
- Brouillon. À ce stade, le BIP en est à peine à son tout premier stade d'introduction. À ce stade, le BIP est incomplet.
- Différé. Le BIP a été reporté car aucun progrès n'a été réalisé dans son développement.
- Proposé. C'est la proposition accompagnée de la plupart de ses éléments explicatifs et présentée à la communauté. À ce stade, le débat sur son application ou non au sein de l'écosystème de développement Bitcoin commence.
- Rejeté. Si la proposition présentée n'est pas bien accueillie, qu'il existe des éléments nuisibles ou toute autre raison que la communauté utilise pour son rejet, elle sera marquée de ce statut.
- Retraité (retrait). Ce statut s'applique aux propositions qui ont été retirées par leurs auteurs pour des raisons qui servent leur intérêt.
- Final / Actif (Final / Actif). Pour arriver à ce point, la proposition doit avoir fait l'objet d'un examen et d'un consensus par la communauté. Il doit disposer de tous les espaces et structures nécessaires pour son approbation.
- Remplacé. Ce statut est accordé aux propositions qui ont été remplacées par de meilleures propositions. Généralement parce que les nouvelles propositions résolvent ou améliorent encore plus la proposition précédemment présentée.
- Obsolète (obsolète). Ce changement de statut est principalement lié lorsque les changements introduits par le BIP ne sont plus d'actualité. Cela peut être dû à des situations différentes, généralement parce qu'il y a de nouveaux changements qui rendent son application inutile.
BIP et ses différentes représentations dans d'autres blockchains
Il ne fait aucun doute que les BIP sont un excellent outil pour organiser le travail et le développement de Bitcoin. Le modèle a été exporté depuis Python, où il a permis l'évolution de ce langage de programmation d'une manière très riche. Et la même chose s'est produite dans d'autres développements de la blockchain. Par exemple dans Ethereum a les connaissances EIP (Proposition d'amélioration Ethereum) et dans Litecoin les LÈVRE (Proposition d'amélioration de Litecoin). En suivant un peu plus, dans Tiret il y a DIP (Proposition d'amélioration Dash) et dans TRON il y a ASTUCE (Proposition d'amélioration TRON). Chacune de ces structures base son fonctionnement sur le schéma de base de la BIP. Avec quelques ajouts car les développeurs de ces blockchains ont cru nécessaire de les adapter à leur développement particulier.
Dans tous les cas, il est clair que les PIF ont eu un impact profond sur la manière dont le travail de développement est organisé et rendu public. blockchain. En tout cas, Bitcoin était vraiment avant-gardiste dans la manière de résoudre cette partie du travail et cela, à ce jour, est toujours grâce à la quantité et à la qualité des présentations dont il dispose.
BIP pertinents dans Bitcoin
Certains BIP pertinents au sein de la blockchain Bitcoin sont les suivants:
BIP-11: transactions standard M-of-N
El BIP-11, est conçu pour permettre des portefeuilles sécurisés, des transactions d'entiercement et d'autres cas d'utilisation où l'échange de fonds nécessite plus qu'une seule signature. Présenté par Gavin andresen, le 18 octobre 2011. Cette proposition est du type Suivi des normes et est à l'état final.
BIP-16: Payer pour Script Hash
El BIP-16, est une nouvelle façon de gérer les systèmes de paiement Bitcoin permettant d'inclure les données de paiement dans un code QR pour faciliter les paiements. Ce BIP a été présenté par Gavin Andresen, le 03 janvier 2012. Il s'agit d'une autre proposition de type Suivi des normes et est en état final.
BIP-141 : SegWit
El BIP-141 vise à augmenter la capacité du réseau Bitcoin et résout également le problème de la malléabilité des transactions. A fourchette souple ce qui oblige la majorité (95%) des mineurs à se mettre à niveau pendant deux semaines.
Témoin séparé (Également connu sous le nom SegWit) est une solution de mise à l'échelle de la blockchain. En langage simple, SegWit signifie séparer les signatures des tokens des transactions.