Aller au contenu principal
Script

P2PKH

P2PKH (Pay-to-Public-Key-Hash) est le format historique d'adresse Bitcoin (préfixe 1...). Le script verrouille les fonds sur le HASH160 de la clé publique. Il dévoile la clé publique uniquement à la dépense. Toujours valide mais peu utilisé sur les nouveaux wallets.

Définition et histoire

P2PKH, Pay-to-Public-Key-Hash, est introduit dès 2010 par Satoshi pour remplacer P2PK. Il devient rapidement le format dominant durant toute la première décennie de Bitcoin. Les adresses commençant par 1 (mainnet) ou m/n (testnet) sont des adresses P2PKH.

Anatomie du script

scriptPubKey :

OP_DUP OP_HASH160 <20-byte hash> OP_EQUALVERIFY OP_CHECKSIG

Le <20-byte hash> est le HASH160 de la clé publique, c'est-à-dire RIPEMD160(SHA256(pubkey)).

scriptSig (input pour dépenser) :

<signature> <pubkey>

Le script s'exécute ainsi :

  1. Duplique la clé publique.
  2. Hash la deuxième copie en HASH160.
  3. Vérifie l'égalité avec le hash de l'output.
  4. Vérifie la signature contre la clé publique.

Format d'adresse

Une adresse P2PKH typique : 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa (l'adresse historique du bloc Genesis).

Construction :

  1. Préfixer le HASH160 par 0x00 (mainnet).
  2. Calculer un checksum : 4 premiers octets de SHA256(SHA256(donnée)).
  3. Encoder le tout en Base58Check.

Total : 25 octets compressés en 33-34 caractères alphanumériques.

Avantages historiques

  • Plus court que P2PK
  • Clé publique cachée jusqu'à la première dépense (résistance partielle au quantique)
  • Adresses vérifiables grâce au checksum

Limites

| Limite | Conséquence | |--------|-------------| | Pas de SegWit discount | Frais plus chers que P2WPKH | | Pas de multisig natif | Nécessite P2SH | | Base58 sensible à la casse | Difficile à lire vocalement | | Pas de upgrade path | Bloque l'innovation script |

C'est pour ça que les BIP-141/SegWit (2017) ont introduit P2WPKH, qui reste compatible mais bien moins cher en frais.

Adoption actuelle

En 2025, environ 15-20 % des UTXOs sont encore en P2PKH, principalement :

  • Hodlers historiques qui n'ont pas migré
  • Anciens exchanges qui n'ont pas mis à jour
  • Wallets de copie/backup

Les nouveaux wallets génèrent par défaut P2WPKH ou P2TR.

Migration

Migrer d'une adresse P2PKH vers SegWit ou Taproot consiste simplement à envoyer ses bitcoins à une nouvelle adresse. Cela coûte des frais on-chain mais réduit drastiquement les frais futurs (gain ~40-60 % à la dépense).

À retenir

P2PKH est l'ADN visuel de Bitcoin : les adresses qui commencent par 1. Toujours valide et acceptée partout, c'est un format vintage que les nouveaux usages remplacent progressivement par SegWit et Taproot.

Termes lies

← Retour au glossaire complet

Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.