Qu’est-ce qu’une adresse Bitcoin ?

L’adresse Bitcoin permet de recevoir des paiements. Elle est calculée à partir d’une clé publique qui est elle-même calculée à partir d’une clé privée.

L’adresse est un condensé (hash) de 25 à 34 octets de la clé publique (65 octets). Ce condensé comporte un système de somme de contrôle qui invalide les adresses contenant une faute de frappe.

L’adresse est représentée au format ASCII grâce à un codage dédié sur 58 caractères alphanumériques : les chiffres et les lettres majuscules et minuscules, à l’exception des lettres et chiffres l, I, 0 et O, que le concepteur du système a exclus pour éviter les confusions.

Clé privée :
5Jtr4hBXP2hPedtcFfcMFQK79YGhkJejjgduHy3oLSTuTiYbhrq

Clé publique :
04869B9A9D4FF58006B5BAB2253EF3C2CD1C8607007172D0493AAA9BDD4E17E90FEDF740C2B2068C6F24AE6CC38B85EB8D54185A2B87E790DA9259F8996A17CF26

Adresse Bitcoin : 1GyWgXtkVG5gsm9Ym1rkHoJHAftmPnTHQj

Cette clé peut également prendre la forme d’un QR code « scannable » :

Il y a actuellement trois formats d’adresses (et un 4e en préparation) :

P2PKH (Pay to PubkeyHash) commençant par le chiffre 1, par exemple :
1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2. Il s’agit du premier format d’adresse.

P2SH (Pay to script hash) commençant par le nombre 3, par exemple :
3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy. P2SH offre des fonctionnalités plus complexes que le format précédent. Il permet notamment d’effectuer des transactions multi-signatures.

Bech32 (adresse Segwit) ou P2WPKH (Pay To Witness Public Key Hash) commençant par bc1, par exemple :
bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq. L’utilisation de ce format d’adresse réduit le poids et donc les frais de la transaction.

Bech32m (« m » pour modified) futur format pour les signatures SegWit-v1 (v0 pour SegWit ECDSA) avec des transactions P2TR (Pay-to-Taproot). Ce format ne sera utilisable qu’après l’activation de Taproot.

Comparaison des performances des adresses Bitcoin

Type d’adresse de l’expéditeurType d’adresse du destinatairePoids moyen des transactions
(chaque unité de poids représente 
1/4 000 000e de la taille maximale d’un bloc)
P2PKH (1…)P2PKH (1…)764
P2PKH (1…)P2SH (3…)756
P2PKH (1…)Bech32 (bc1…)752
P2SH (3…)P2PKH (1…)541
P2SH (3…)P2SH (3…)533
P2SH (3…)Bech32 (bc1…)529
Bech32 (bc1…)P2PKH (1…)449
Bech32 (bc1…)P2SH (3…)441
Bech32 (bc1…)Bech32 (bc1…)437
Source : fixedfloat.com

Voir aussi : Qu’est-ce qui relie la clé publique à la clé privée ? / Qu’est-ce qu’une clé privée ?