Comparaison des types d'adresses Bitcoin  : P2PKH, P2SH, P2WPKH et plus


Unchained est le partenaire officiel américain de garde collaborative de Bitcoin Magazine et un sponsor intégral du contenu connexe publié via Bitcoin Magazine

vous avez probablement remarqué que certaines adresses Bitcoin semblent très différentes des autres

P2pk

Pay-to-Public-Key (P2PK) est la méthode originale de réception de Bitcoin et n'implique pas d'adresse. Au lieu de cela, comme son nom l’indique, le bitcoin est payé directement sur une clé publique exposée. La toute première transaction Bitcoin d'une personne à une autre a utilisé le P2PK, lorsque Satoshi Nakamoto a envoyé des pièces à Hal Finney dans le bloc 170.

Comparaison des types d'adresses Bitcoin  : P2PKH, P2SH, P2WPKH et plus

Le P2PK n’est plus utilisé car il s’agit d’un moyen plus coûteux, moins privé et moins sécurisé de recevoir des bitcoins que les méthodes ultérieures.

Faits rapides

P2pkh

Pay-to-Public-Key-Hash (P2PKH) était disponible au début de Bitcoin et est apparu sur la blockchain pour la première fois moins de deux semaines après le bloc de genèse. P2PKH apporte plusieurs améliorations par rapport à P2PK, comme l'utilisation d'une adresse. Comme indiqué dans notre article précédent, les adresses contiennent une somme de contrôle qui permet d’éviter les fautes de frappe et la perte de Bitcoin.

Les adresses P2PKH comportent généralement 34 ou 33 caractères (mais pourraient théoriquement être aussi courtes que 26 caractères) et sont codées au format Base58. Ils commencent par un préfixe de 1 et sont actuellement responsables de la réception et de la sécurisation de 43 % de l’approvisionnement en bitcoins extraits, plus que tout autre type d’adresse.

La création d'une adresse P2PKH implique de placer une seule clé publique via les fonctions de hachage SHA-256 et RIPEMD-160. Cela réduit la quantité de données, ce qui permet d'économiser de l'espace de bloc et des frais de transaction pour l'utilisateur. Cela introduit également une résistance supplémentaire à l’ingénierie inverse de la clé privée au-delà de la courbe elliptique secp256k1 déjà considérée comme incassable.

Faits rapides

P2ms

Pay-to-Multisig (P2MS) est un type de transaction trivial qui n'a été pertinent que brièvement et qui n'a jamais permis de détenir plus de 100 bitcoins à la fois sur tous les participants du réseau. Néanmoins, le P2MS fait partie de l’histoire du Bitcoin.

que nous aborderons ensuite.

Faits rapides

P2sh

Pay-to-Script-Hash (P2SH) a été introduit dans Bitcoin en tant que soft fork conformément au BIP 16 le 1er avril 2012. Comme la plupart des forks, l'histoire qui se cache derrière est fascinante. P2SH partage beaucoup de points communs avec P2PKH. La principale différence est que l'adresse est créée en hachant un script d'échange au lieu de hacher une seule clé publique.

Un script d'échange peut être considéré comme des instructions codées spécifiant comment les bitcoins reçus à l'adresse P2SH peuvent être dépensés à l'avenir. Il pourrait y avoir un large éventail de possibilités, y compris plusieurs clés publiques différentes. Le destinataire, et non l'expéditeur, détermine les détails du script, et les instructions de dépense ne sont pas exposées publiquement tant que le bitcoin n'est pas dépensé hors de l'adresse.

Bien que les utilisateurs avancés puissent créer des scripts complexes, les utilisations les plus courantes de P2SH ont été de créer des adresses SegWit imbriquées (couvertes ci-dessous) et des portefeuilles multisig. Par exemple, un script peut inclure trois clés publiques et spécifier que les signatures de deux des clés privées correspondantes peuvent dépenser le bitcoin. Cela créerait une adresse multisig 2 sur 3.

Les adresses P2SH comportent exactement 34 caractères et commencent par un préfixe de 3, comme spécifié par BIP 13. Avant le soft fork du 1er avril, une poignée de transactions ont expérimenté ce préfixe alternatif, dont le premier se trouve dans Block 170 052.

Faits rapides

P2wpkh

Pay-to-Witness-Public-Key-Hash (P2WPKH) est le premier des deux types d'adresses introduits dans Bitcoin lors du soft fork de SegWit en août 2017. L'histoire derrière ce soft fork extrêmement important et particulièrement controversé est documentée dans un livre intitulé La guerre des blocs, écrit par Jonathan Bier.

P2WPKH est la variante SegWit de P2PKH, ce qui signifie, à la base, que choisir ce type d'adresse plutôt que les anciennes adresses P2PKH vous aidera à économiser de l'argent sur les frais de transaction lors du déplacement de votre bitcoin.

Les adresses SegWit sont très différentes des anciens types d'adresses car, conformément au BIP 173, elles utilisent le codage Bech32 au lieu de Base58. Plus particulièrement, il n'y a pas de majuscules dans Bech32. Les adresses P2WPKH peuvent être identifiées par un préfixe bc1q et une longueur de caractères d'exactement 42.

Faits rapides

P2wsh

Pay-to-Witness-Script-Hash (P2WSH) est la variante SegWit de P2SH. Le principal avantage de l'utilisation de P2WSH par rapport à P2SH est qu'il peut contribuer à réduire les frais de transaction, et la principale raison d'utiliser un hachage de script au lieu d'un hachage de clé publique est de s'adapter aux accords multisig.

Comme P2WPKH, une adresse P2WSH commence par le préfixe bc1q. Cependant, sa longueur de caractères est plus longue, exactement 62. Contrairement aux types d'adresses couverts jusqu'à présent, les adresses P2WSH sont créées à l'aide de la seule fonction de hachage SHA-256, sans inclure RIPEMD-160, ce qui entraîne une longueur de caractères accrue. Cela a été mis en œuvre avec prudence, ajoutant une protection supplémentaire contre un vecteur d’attaque multisig assez nuancé et extrêmement improbable.

Faits rapides

SegWit imbriqué (P2SH-P2WPKH et P2SH-P2WSH)

Il s’agit néanmoins d’une manière unique d’utiliser les types d’adresses évoqués précédemment d’une manière temporairement utile à la communauté Bitcoin.

Lorsque le soft-fork de SegWit s'est produit, tous les nœuds, logiciels et services Bitcoin n'ont pas été immédiatement mis à niveau pour prendre en charge les nouveaux types d'adresses natives SegWit, P2WPKH et P2WSH. Seules les entités ayant effectué la mise à niveau pouvaient envoyer vers ces nouvelles adresses. Cela signifiait que les personnes qui souhaitaient pouvoir recevoir des bitcoins de n'importe qui (y compris ceux qui n'avaient pas effectué de mise à niveau) ne pouvaient pas encore utiliser un portefeuille Native SegWit. Cependant, comme SegWit offrait des frais de transaction moins chers, la plupart des gens étaient désireux de commencer à l'utiliser.

La solution astucieuse à ce dilemme consistait à utiliser le type de transaction P2SH. Les entités qui n'avaient pas encore implémenté SegWit pouvaient toujours envoyer des bitcoins à des adresses P2SH qui, comme indiqué ci-dessus, sont construites avec un script d'échange spécifiant les instructions sur la manière dont les bitcoins peuvent être dépensés ultérieurement. Il s'avère que ces instructions pourraient intégrer le nouveau modèle de dépenses SegWit, offrant ainsi aux utilisateurs un pont vers des frais réduits. Par conséquent, les adresses P2SH utilisant cette astuce sont devenues connues sous le nom de Nested SegWit et ont joué un rôle important dans le processus d'adoption de SegWit.

En apparence, les adresses Nested SegWit ne peuvent pas être distinguées des autres adresses P2SH, de sorte que l'offre de bitcoins détenue dans cet arrangement est impossible à connaître. De plus, étant donné que tous les outils Bitcoin modernes peuvent désormais envoyer directement aux adresses Native SegWit, il n'y a plus aucune bonne raison d'utiliser Nested SegWit.

Faits rapides

P2tr

Pay-to-Taproot (P2TR) est le type d'adresse le plus récent, rendu disponible par le soft-fork Taproot en novembre 2021. L'adoption de P2TR reste assez faible au moment de la rédaction, et de nombreux logiciels et services Bitcoin travaillent toujours sur l'intégration.

Alors que P2WPKH et P2WSH sont connus sous le nom de SegWit V0, P2TR est considéré comme SegWit V1. P2TR utilise notamment un algorithme de signature numérique appelé Schnorr, qui diffère du format ECDSA utilisé dans les types de transactions Bitcoin antérieurs. Les signatures Schnorr présentent plusieurs avantages, notamment des réductions supplémentaires sur les frais de transaction et une confidentialité accrue.

Concernant la confidentialité, les agrégations de clés et de signatures rendues possibles par Schnorr permettent aux adresses multisig d'être impossibles à distinguer des adresses singlesig, et les conditions complètes de dépenses pour une adresse P2TR ne sont pas nécessairement révélées publiquement. Le créateur de l’adresse peut même inclure plusieurs scripts d’échange personnalisés parmi lesquels choisir afin de dépenser le bitcoin plus tard.

Les adresses P2TR comportent 62 caractères et utilisent le codage Bech32m, une version légèrement modifiée de Bech32, comme décrit dans le BIP 350. Les adresses P2TR peuvent être identifiées par leur préfixe bc1p unique.

Faits rapides

Tableau de référence

certains faits rapides et fonctionnalités d'adresse peuvent être combinés dans un tableau pratique à titre de référence.

Unchained est le partenaire officiel américain de garde collaborative de Bitcoin Magazine et un sponsor intégral du contenu connexe publié via Bitcoin Magazine