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

DébutantJan 12, 2024
Cet article présente l'histoire des adresses Bitcoin et des méthodes de transfert.
Comparaison des types d'adresses Bitcoin : P2PKH, P2SH, P2WPKH, et plus encore

P2PK

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

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

En bref

P2PKH

Pay-to-Public-Key-Hash (P2PKH) pouvait être utilisé dès le début du bitcoin, et il 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 à P2PK, comme l'utilisation d'une adresse. Comme nous l'avons vu dans notre précédent article, les adresses contiennent une somme de contrôle qui permet d'éviter les fautes de frappe et les pertes de bitcoins.

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

La création d'une adresse P2PKH implique le passage d'une clé publique unique par les fonctions de hachage SHA-256 et RIPEMD-160. La quantité de données est ainsi réduite, ce qui permet d'économiser de l'espace sur les blocs et des frais de transaction pour l'utilisateur. Elle introduit également une résistance supplémentaire à la rétro-ingénierie de la clé privée au-delà de la courbe elliptique secp256k1 que l'on croyait déjà incassable.

En bref

P2MS

Pay-to-Multisig (P2MS) est un type de transaction trivial qui n'a eu qu'une brève importance et qui n'a jamais été responsable de la détention de plus de 100 bitcoins à la fois par tous les participants au réseau. Néanmoins, le P2MS fait partie de l'histoire du bitcoin.

Le P2MS a été introduit en tant que script standard au début de l'année 2012, comme spécifié par le BIP 11. Toutefois, ce type de transaction souffre des mêmes problèmes que le P2PK puisqu'il inclut des clés publiques exposées et n'utilise aucun format d'adresse. Elle a également limité à trois le nombre de clés publiques dans un quorum multisig. En l'espace de quelques mois, le P2MS a été remplacé par une autre méthode de réception de bitcoins dans le cadre d'un accord multi-sig, appelé P2SH, que nous aborderons plus loin.

En bref

P2SH

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

Un script de rachat 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 existe un large éventail de possibilités, y compris plusieurs clés publiques différentes. C'est le destinataire, et non l'expéditeur, qui détermine les détails du script, et les instructions de dépense ne sont pas rendues publiques tant que les bitcoins n'ont pas été dépensés à partir de l'adresse.

Bien que les utilisateurs avancés puissent élaborer des scripts complexes, les utilisations les plus courantes de P2SH ont été la création d'adresses SegWit imbriquées(voir ci-dessous) et de portefeuilles à plusieurs chiffres. 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 le BIP 13. Avant le soft fork du 1er avril, une poignée de transactions ont expérimenté ce préfixe alternatif, dont la première se trouve dans le bloc 170 052.

En bref

P2WPKH

Pay-to-Witness-Public-Key-Hash (P2WPKH) est le premier des deux types d'adresses introduits dans le bitcoin lors du soft fork SegWit en août 2017. L'histoire de cette fourchette souple extrêmement importante et particulièrement controversée est décrite dans un livre intitulé The Blocksize War, écrit par Jonathan Bier.

P2WPKH est la variante SegWit de P2PKH, ce qui signifie que choisir ce type d'adresse plutôt que les anciennes adresses P2PKH vous permettra d'économiser de l'argent sur les frais de transaction lorsque vous déplacerez vos bitcoins.

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

En bref

P2WSH

Pay-to-Witness-Script-Hash (P2WSH) est la variante SegWit de P2SH. Le principal avantage du P2WSH par rapport au 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 permettre des accords multi-sigles.

Comme P2WPKH, une adresse P2WSH commence par un préfixe bc1q. Cependant, la longueur des caractères est plus importante (62 exactement). 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 le RIPEMD-160, ce qui entraîne une longueur de caractères plus importante. Cette mesure a été mise en œuvre avec prudence, en ajoutant une protection supplémentaire contre un vecteur d'attaque multisig assez nuancé et extrêmement improbable.

En bref

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

Nested SegWit (également connu sous le nom de Wrapped SegWit) n'est techniquement pas un type d'adresse différent de celui que nous avons couvert ci-dessus. Il s'agit néanmoins d'un moyen unique d'utiliser des types d'adresses précédemment discutés d'une manière temporairement utile pour la communauté bitcoin.

Lorsque le soft-fork SegWit a eu lieu, tous les nœuds, logiciels et services bitcoins n'ont pas été immédiatement mis à jour pour prendre en charge les nouveaux types d'adresses Native SegWit, P2WPKH et P2WSH. Seules les entités qui ont procédé à la mise à jour peuvent envoyer des messages à ces nouvelles adresses. Cela signifie que les personnes souhaitant recevoir des bitcoins de n'importe qui (y compris ceux qui n'ont pas été mis à niveau) ne pouvaient pas encore utiliser un portefeuille Native SegWit. Cependant, SegWit offrant des frais de transaction moins élevés, la plupart des gens étaient prêts à l'utiliser.

La solution astucieuse à ce dilemme a consisté à utiliser le type de transaction P2SH. Les entités qui n'avaient pas encore mis en œuvre SegWit pouvaient encore envoyer des bitcoins à des adresses P2SH qui, comme nous l'avons vu plus haut, sont construites avec un script de rachat 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 une passerelle 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.

À première vue, les adresses Nested SegWit ne se distinguent pas des autres adresses P2SH, de sorte qu'il est impossible de connaître la quantité de bitcoins détenus dans le cadre de cet arrangement. En outre, étant donné que tous les outils bitcoins modernes peuvent désormais envoyer directement vers des adresses Native SegWit, il n'y a plus de raison valable d'utiliser Nested SegWit.

En bref

P2TR

Pay-to-Taproot (P2TR) est le type d'adresse le plus récent, mis à disposition par la fourchette logicielle Taproot en novembre 2021. L'adoption du P2TR reste assez faible à l'heure où nous écrivons ces lignes, et de nombreux logiciels et services bitcoins travaillent encore à son intégration.

Alors que P2WPKH et P2WSH sont connus comme 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 une réduction supplémentaire des frais de transaction et une plus grande confidentialité.

En ce qui concerne la confidentialité, les agrégations de clés et de signatures rendues possibles par Schnorr permettent de ne pas distinguer les adresses multisig des adresses singlesig, et les conditions de dépense d'une adresse P2TR ne sont jamais révélées publiquement. Le créateur de l'adresse peut même inclure plusieurs scripts de remboursement personnalisés parmi lesquels il peut choisir de dépenser le bitcoin ultérieurement.

Les adresses P2TR ont une longueur de 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.

En bref

Tableau de référence

Maintenant que nous avons couvert toutes les méthodes normalisées pour recevoir des bitcoins sur la chaîne, nous pouvons regrouper certaines informations rapides et caractéristiques des adresses dans un tableau pratique pour s'y référer.

  • Les données figurant dans ces colonnes sont susceptibles d'être modifiées.

Clause de non-responsabilité:

  1. Cet article est repris de[unchained]. Tous les droits d'auteur appartiennent à l'auteur original[Tom Honzik]. Si vous avez des objections à cette réimpression, veuillez contacter l'équipe de Gate Learn, qui s'en chargera rapidement.
  2. Clause de non-responsabilité : Les points de vue et les opinions exprimés dans cet article sont uniquement ceux de l'auteur et ne constituent pas un conseil en investissement.
  3. Les traductions de l'article dans d'autres langues sont effectuées par l'équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, distribuer ou plagier les articles traduits.

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

DébutantJan 12, 2024
Cet article présente l'histoire des adresses Bitcoin et des méthodes de transfert.
Comparaison des types d'adresses Bitcoin : P2PKH, P2SH, P2WPKH, et plus encore

P2PK

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

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

En bref

P2PKH

Pay-to-Public-Key-Hash (P2PKH) pouvait être utilisé dès le début du bitcoin, et il 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 à P2PK, comme l'utilisation d'une adresse. Comme nous l'avons vu dans notre précédent article, les adresses contiennent une somme de contrôle qui permet d'éviter les fautes de frappe et les pertes de bitcoins.

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

La création d'une adresse P2PKH implique le passage d'une clé publique unique par les fonctions de hachage SHA-256 et RIPEMD-160. La quantité de données est ainsi réduite, ce qui permet d'économiser de l'espace sur les blocs et des frais de transaction pour l'utilisateur. Elle introduit également une résistance supplémentaire à la rétro-ingénierie de la clé privée au-delà de la courbe elliptique secp256k1 que l'on croyait déjà incassable.

En bref

P2MS

Pay-to-Multisig (P2MS) est un type de transaction trivial qui n'a eu qu'une brève importance et qui n'a jamais été responsable de la détention de plus de 100 bitcoins à la fois par tous les participants au réseau. Néanmoins, le P2MS fait partie de l'histoire du bitcoin.

Le P2MS a été introduit en tant que script standard au début de l'année 2012, comme spécifié par le BIP 11. Toutefois, ce type de transaction souffre des mêmes problèmes que le P2PK puisqu'il inclut des clés publiques exposées et n'utilise aucun format d'adresse. Elle a également limité à trois le nombre de clés publiques dans un quorum multisig. En l'espace de quelques mois, le P2MS a été remplacé par une autre méthode de réception de bitcoins dans le cadre d'un accord multi-sig, appelé P2SH, que nous aborderons plus loin.

En bref

P2SH

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

Un script de rachat 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 existe un large éventail de possibilités, y compris plusieurs clés publiques différentes. C'est le destinataire, et non l'expéditeur, qui détermine les détails du script, et les instructions de dépense ne sont pas rendues publiques tant que les bitcoins n'ont pas été dépensés à partir de l'adresse.

Bien que les utilisateurs avancés puissent élaborer des scripts complexes, les utilisations les plus courantes de P2SH ont été la création d'adresses SegWit imbriquées(voir ci-dessous) et de portefeuilles à plusieurs chiffres. 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 le BIP 13. Avant le soft fork du 1er avril, une poignée de transactions ont expérimenté ce préfixe alternatif, dont la première se trouve dans le bloc 170 052.

En bref

P2WPKH

Pay-to-Witness-Public-Key-Hash (P2WPKH) est le premier des deux types d'adresses introduits dans le bitcoin lors du soft fork SegWit en août 2017. L'histoire de cette fourchette souple extrêmement importante et particulièrement controversée est décrite dans un livre intitulé The Blocksize War, écrit par Jonathan Bier.

P2WPKH est la variante SegWit de P2PKH, ce qui signifie que choisir ce type d'adresse plutôt que les anciennes adresses P2PKH vous permettra d'économiser de l'argent sur les frais de transaction lorsque vous déplacerez vos bitcoins.

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

En bref

P2WSH

Pay-to-Witness-Script-Hash (P2WSH) est la variante SegWit de P2SH. Le principal avantage du P2WSH par rapport au 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 permettre des accords multi-sigles.

Comme P2WPKH, une adresse P2WSH commence par un préfixe bc1q. Cependant, la longueur des caractères est plus importante (62 exactement). 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 le RIPEMD-160, ce qui entraîne une longueur de caractères plus importante. Cette mesure a été mise en œuvre avec prudence, en ajoutant une protection supplémentaire contre un vecteur d'attaque multisig assez nuancé et extrêmement improbable.

En bref

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

Nested SegWit (également connu sous le nom de Wrapped SegWit) n'est techniquement pas un type d'adresse différent de celui que nous avons couvert ci-dessus. Il s'agit néanmoins d'un moyen unique d'utiliser des types d'adresses précédemment discutés d'une manière temporairement utile pour la communauté bitcoin.

Lorsque le soft-fork SegWit a eu lieu, tous les nœuds, logiciels et services bitcoins n'ont pas été immédiatement mis à jour pour prendre en charge les nouveaux types d'adresses Native SegWit, P2WPKH et P2WSH. Seules les entités qui ont procédé à la mise à jour peuvent envoyer des messages à ces nouvelles adresses. Cela signifie que les personnes souhaitant recevoir des bitcoins de n'importe qui (y compris ceux qui n'ont pas été mis à niveau) ne pouvaient pas encore utiliser un portefeuille Native SegWit. Cependant, SegWit offrant des frais de transaction moins élevés, la plupart des gens étaient prêts à l'utiliser.

La solution astucieuse à ce dilemme a consisté à utiliser le type de transaction P2SH. Les entités qui n'avaient pas encore mis en œuvre SegWit pouvaient encore envoyer des bitcoins à des adresses P2SH qui, comme nous l'avons vu plus haut, sont construites avec un script de rachat 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 une passerelle 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.

À première vue, les adresses Nested SegWit ne se distinguent pas des autres adresses P2SH, de sorte qu'il est impossible de connaître la quantité de bitcoins détenus dans le cadre de cet arrangement. En outre, étant donné que tous les outils bitcoins modernes peuvent désormais envoyer directement vers des adresses Native SegWit, il n'y a plus de raison valable d'utiliser Nested SegWit.

En bref

P2TR

Pay-to-Taproot (P2TR) est le type d'adresse le plus récent, mis à disposition par la fourchette logicielle Taproot en novembre 2021. L'adoption du P2TR reste assez faible à l'heure où nous écrivons ces lignes, et de nombreux logiciels et services bitcoins travaillent encore à son intégration.

Alors que P2WPKH et P2WSH sont connus comme 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 une réduction supplémentaire des frais de transaction et une plus grande confidentialité.

En ce qui concerne la confidentialité, les agrégations de clés et de signatures rendues possibles par Schnorr permettent de ne pas distinguer les adresses multisig des adresses singlesig, et les conditions de dépense d'une adresse P2TR ne sont jamais révélées publiquement. Le créateur de l'adresse peut même inclure plusieurs scripts de remboursement personnalisés parmi lesquels il peut choisir de dépenser le bitcoin ultérieurement.

Les adresses P2TR ont une longueur de 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.

En bref

Tableau de référence

Maintenant que nous avons couvert toutes les méthodes normalisées pour recevoir des bitcoins sur la chaîne, nous pouvons regrouper certaines informations rapides et caractéristiques des adresses dans un tableau pratique pour s'y référer.

  • Les données figurant dans ces colonnes sont susceptibles d'être modifiées.

Clause de non-responsabilité:

  1. Cet article est repris de[unchained]. Tous les droits d'auteur appartiennent à l'auteur original[Tom Honzik]. Si vous avez des objections à cette réimpression, veuillez contacter l'équipe de Gate Learn, qui s'en chargera rapidement.
  2. Clause de non-responsabilité : Les points de vue et les opinions exprimés dans cet article sont uniquement ceux de l'auteur et ne constituent pas un conseil en investissement.
  3. Les traductions de l'article dans d'autres langues sont effectuées par l'équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, distribuer ou plagier les articles traduits.
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!