Aller au contenu principal

Types d’adresses de cryptomonnaie expliqués : Legacy, SegWit, Taproot

Si vous utilisez Bitcoin depuis un certain temps, vous avez déjà rencontré des adresses qui commencent par "1", d’autres par "3", et d’autres encore par "bc1q" ou "bc1p". Ce ne sont pas des différences esthétiques : elles représentent des méthodes fondamentalement différentes pour verrouiller et déverrouiller des fonds, avec des implications importantes sur les frais de transaction, la confidentialité et les fonctionnalités.

Ce guide explique chaque grand type d’adresse Bitcoin, leur fonctionnement au niveau technique, leurs avantages et inconvénients, et comment choisir le bon type selon vos besoins. Nous couvrons aussi les formats d’adresses pour Ethereum et d’autres blockchains majeures.

Types d’adresses Bitcoin

Adresses Legacy (P2PKH) — Commencent par "1"

Nom complet : Pay-to-Public-Key-Hash

Exemple : 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

Chemin de dérivation : m/44'/0'/0' (BIP-44)

Les adresses Legacy sont le format d’adresse Bitcoin d’origine, défini dans le protocole Bitcoin initial. L’adresse est un hash de la clé publique encodé en Base58Check :

Address = Base58Check(0x00 || RIPEMD160(SHA256(public_key)))

L’octet de version 0x00 produit des adresses commençant par "1" sur le mainnet.

Comment la dépense fonctionne (script) :

ScriptPubKey: OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
ScriptSig: <signature> <publicKey>

Pour dépenser des fonds depuis une adresse Legacy, l’émetteur fournit sa clé publique et une signature valide. Le réseau vérifie que la clé publique correspond au hash de l’adresse et que la signature est valide pour cette clé publique.

Avantages :

  • Compatibilité maximale, prise en charge par tous les wallets, exchanges et services Bitcoin depuis 2009.
  • Simple et bien compris.

Inconvénients :

  • Taille de transaction la plus grande (frais les plus élevés).
  • Aucun avantage SegWit (pas de remise witness).
  • L’encodage Base58Check est sensible à la casse et sujet aux erreurs de transcription.
  • Pas de détection d’erreur au-delà du checksum (qui détecte les erreurs aléatoires, mais pas toutes les substitutions).

Adresses P2SH — Commencent par "3"

Nom complet : Pay-to-Script-Hash

Exemple : 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy

Chemin de dérivation : m/49'/0'/0' (BIP-49, pour SegWit encapsulé)

P2SH a été introduit dans BIP-16 (2012) pour permettre des conditions de dépense plus complexes. Au lieu de payer vers un hash de clé publique, les fonds sont payés vers le hash d’un script. Le script peut implémenter des conditions arbitraires : multisig, verrous temporels, verrous par hash, ou — le plus souvent aujourd’hui — encapsuler une sortie SegWit.

P2SH-P2WPKH (compatible SegWit) :

C’est aujourd’hui l’utilisation la plus courante des adresses P2SH. Elle encapsule une sortie SegWit (P2WPKH) dans un script P2SH, ce qui permet de bénéficier des avantages de SegWit tout en conservant la rétrocompatibilité avec les anciens logiciels qui ne comprennent que les adresses P2SH.

RedeemScript: 0x0014 <20-byte-pubkey-hash>  (a P2WPKH script)
ScriptPubKey: OP_HASH160 <hash-of-redeemScript> OP_EQUAL

Avantages :

  • Avantages SegWit (frais réduits, correction de la malléabilité) avec rétrocompatibilité.
  • Pris en charge par pratiquement tous les wallets et exchanges modernes.
  • Permet des scripts complexes (multisig, verrous temporels).

Inconvénients :

  • Frais plus élevés que SegWit natif (le script d’encapsulation ajoute du surcoût).
  • Ambigu : une adresse en "3" peut être un multisig simple, un SegWit encapsulé, ou tout autre script P2SH. Impossible de le savoir à partir de l’adresse seule.

Adresses SegWit natives (P2WPKH) — Commencent par "bc1q"

Nom complet : Pay-to-Witness-Public-Key-Hash (encodage Bech32)

Exemple : bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4

Chemin de dérivation : m/84'/0'/0' (BIP-84)

Les adresses SegWit natives ont été introduites dans BIP-141/BIP-143 (activées en août 2017) et utilisent l’encodage Bech32 défini dans BIP-173. Elles n’utilisent pas Base58Check : elles utilisent un nouvel encodage qui est :

  • Uniquement en minuscules — élimine les problèmes liés à la casse.
  • Correction d’erreur BCH — peut détecter jusqu’à 4 erreurs de caractères et corriger automatiquement certaines erreurs.
  • Préfixe lisible par l’humainbc pour le mainnet Bitcoin, tb pour le testnet.

Comment la dépense fonctionne :

ScriptPubKey: 0 <20-byte-pubkey-hash>
Witness: <signature> <publicKey>

La signature et la clé publique sont déplacées dans la section "witness" de la transaction, qui bénéficie d’une réduction de 75 % sur le poids de transaction (frais).

Avantages :

  • Frais les plus bas parmi tous les types d’adresses pré-Taproot (remise witness).
  • Correction de la malléabilité — SegWit corrige la malléabilité des transactions, permettant des protocoles de couche 2 comme Lightning Network.
  • Meilleure détection d’erreurs — l’encodage Bech32 détecte plus d’erreurs que Base58Check.
  • Scripts plus simples — pas de surcoût d’encapsulation P2SH.

Inconvénients :

  • Certains anciens wallets et exchanges ne peuvent pas envoyer vers des adresses bc1q (de plus en plus rare en 2025).
  • Chaîne d’adresse légèrement plus longue que Legacy ou P2SH.

Adresses Taproot (P2TR) — Commencent par "bc1p"

Nom complet : Pay-to-Taproot (encodage Bech32m)

Exemple : bc1p5d7rjq7g6rdk2yhzks9smlaqtedr4dekq08ge8ztwac72sfr9rusxg3297

Chemin de dérivation : m/86'/0'/0' (BIP-86)

Taproot a été activé sur Bitcoin en novembre 2021 (BIP-340, BIP-341, BIP-342). Il représente la mise à niveau la plus importante des capacités de script de Bitcoin depuis SegWit.

Taproot utilise les signatures Schnorr au lieu d’ECDSA et introduit un modèle key-spend/script-spend :

  • Dépense par chemin de clé — cas le plus courant : une signature unique autorise la dépense, avec la même apparence que toute autre transaction Taproot.
  • Dépense par chemin de script — des conditions complexes (multisig, verrous temporels, verrous par hash) peuvent être engagées via un arbre de Merkle, révélé seulement si nécessaire.

Comment la dépense fonctionne :

ScriptPubKey: 1 <32-byte-tweaked-public-key>
Witness: <signature> (key path, most common)
— or —
Witness: <script> <control-block> <arguments> (script path)

Avantages :

  • Confidentialité — toutes les transactions Taproot se ressemblent on-chain, quelles que soient les conditions de dépense sous-jacentes. Une transaction multisig est indistinguable d’une transaction à signature unique lors de l’utilisation du chemin de clé.
  • Efficacité — les signatures Schnorr sont plus petites que les signatures ECDSA. L’agrégation de clés (MuSig2) permet des configurations multisig produisant une seule signature combinée.
  • Flexibilité des scripts — MAST (Merkelized Alternative Script Trees) permet des conditions de dépense complexes sans révéler les branches inutilisées.
  • Frais bas — comparables ou inférieurs à SegWit natif pour les dépenses par chemin de clé.

Inconvénients :

  • Adoption encore en cours, certains wallets et exchanges ne prennent pas encore entièrement en charge l’envoi vers ou depuis des adresses Taproot.
  • Une implémentation complexe augmente le risque de bugs de wallet (bien qu’il existe des implémentations matures).
  • Encodage Bech32m (différent de Bech32), le logiciel de wallet doit prendre en charge les deux.

Comparaison des types d’adresses

FonctionnalitéLegacy (1...)P2SH (3...)SegWit natif (bc1q...)Taproot (bc1p...)
BIPOriginalBIP-16BIP-141/BIP-173BIP-341/BIP-350
Dérivationm/44'/0'/0'm/49'/0'/0'm/84'/0'/0'm/86'/0'/0'
EncodageBase58CheckBase58CheckBech32Bech32m
SignatureECDSAECDSAECDSASchnorr
Coût en fraisLe plus élevéMoyenBasLe plus bas (chemin de clé)
ConfidentialitéFaibleMoyenneMoyenneÉlevée
Détection d’erreursChecksum basiqueChecksum basiqueCodes BCHCodes BCH
CompatibilitéUniverselleQuasi universelleLa plupart des walletsEn croissance

Quel type d’adresse Bitcoin faut-il utiliser ?

Pour la plupart des utilisateurs en 2025+ : utilisez SegWit natif (bc1q) par défaut. C’est le meilleur équilibre entre frais bas, forte compatibilité et prise en charge mature.

Pour la confidentialité maximale et les frais les plus bas : utilisez Taproot (bc1p) si votre wallet le prend en charge et si les services avec lesquels vous interagissez prennent en charge l’envoi vers des adresses Taproot.

Pour la compatibilité avec les anciens services : utilisez P2SH (3...) si vous devez recevoir des fonds d’un service qui ne peut pas envoyer vers des adresses bc1q ou bc1p.

Évitez Legacy (1...) pour les nouveaux wallets sauf si vous avez une exigence de compatibilité spécifique.

Format d’adresse Ethereum

Ethereum utilise un format d’adresse unique :

0x742d35Cc6634C0532925a3b844Bc9e7595f2bD38
  • 20 octets (40 caractères hexadécimaux) préfixés par 0x.
  • Dérivée des 20 derniers octets du hash Keccak-256 de la clé publique.
  • Checksum mixte EIP-55 — les lettres majuscules et minuscules servent de checksum. Si vous modifiez la casse d’une lettre, le checksum échoue.
  • Le même format d’adresse est utilisé pour toutes les chaînes compatibles EVM (Ethereum, Polygon, Arbitrum, Optimism, BSC).

Important : envoyer des tokens sur le mauvais réseau (par ex. mainnet ETH vs Polygon) vers la même adresse ne fait pas perdre les fonds (l’adresse existe sur toutes les chaînes EVM), mais vous devrez peut-être changer de réseau pour y accéder.

ENS (Ethereum Name Service)

ENS fournit des noms lisibles par l’humain pour les adresses Ethereum :

vitalik.eth → 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

Vérifiez toujours l’adresse résolue avant d’envoyer des fonds. Les noms ENS peuvent être transférés, donc l’adresse derrière un nom peut changer.

Autres formats d’adresses blockchain

Bitcoin Cash (BCH)

Bitcoin Cash utilise le format CashAddr pour se distinguer des adresses Bitcoin :

bitcoincash:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a

Le préfixe bitcoincash: empêche les envois accidentels vers des adresses Bitcoin.

Litecoin (LTC)

Litecoin utilise des types d’adresses similaires à Bitcoin :

  • Legacy : commence par L ou M
  • P2SH : commence par M ou 3
  • SegWit natif : commence par ltc1q

Solana (SOL)

Solana utilise des clés publiques Ed25519 encodées en Base58 :

7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV

32 octets, encodés en Base58, généralement 32 à 44 caractères.

Cardano (ADA)

Cardano utilise des adresses encodées en Bech32 avec le préfixe addr :

addr1qx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer3jcu5d8ps7zex2k2xt3uqxgjqnnj83ws8lhrn648jjxtwq2ytjqp

Les adresses Cardano sont nettement plus longues que les adresses Bitcoin, car elles encodent à la fois les identifiants de paiement et les identifiants de staking.

TRON (TRX)

TRON utilise des adresses encodées en Base58Check commençant par T :

TJYeasTPa6gpB9Ut5HALR2twMHU3gYpML8

Cosmos (ATOM)

Cosmos utilise l’encodage Bech32 avec des préfixes spécifiques à chaque chaîne :

cosmos1qypqxpq9qcrsszg2pvxq6rs0zqg3yyc5lzv7xu

Chaque chaîne Cosmos SDK utilise un préfixe différent (par ex. osmo pour Osmosis, juno pour Juno).

Outil SafeSeed

Utilisez le Générateur d’adresses SafeSeed pour dériver des adresses pour plusieurs blockchains et types d’adresses à partir d’une seule seed phrase. Voyez comment la même seed produit des adresses différentes pour Bitcoin Legacy, SegWit, Taproot, Ethereum, et plus encore. Tout le traitement se fait localement dans votre navigateur.

Validation des adresses et sécurité

Vérification du checksum

Vérifiez toujours les adresses avant d’envoyer des fonds :

  • Bitcoin Legacy/P2SH : Base58Check inclut un checksum de 4 octets. La plupart des wallets le vérifient automatiquement.
  • Bitcoin SegWit/Taproot : Bech32/Bech32m inclut un checksum de 6 caractères avec une forte détection d’erreurs (codes BCH).
  • Ethereum : checksum mixte EIP-55. Si un wallet n’implémente pas EIP-55, il acceptera n’importe quelle casse, ce qui est un signal d’alerte.

Réutilisation d’adresse

Pour la confidentialité, évitez de réutiliser les adresses Bitcoin. Chaque transaction devrait utiliser une adresse fraîche. Les HD wallets (BIP-44) génèrent automatiquement de nouvelles adresses.

Les adresses Ethereum sont généralement réutilisées (modèle basé sur les comptes), bien qu’utiliser plusieurs comptes puisse améliorer la confidentialité.

Détournement du presse-papiers

Les malwares peuvent surveiller votre presse-papiers et remplacer les adresses de cryptomonnaie par l’adresse de l’attaquant. Vérifiez toujours visuellement au moins les 6 premiers et 6 derniers caractères d’une adresse après collage, et idéalement l’adresse entière. Certains wallets affichent un hash visuel (identicon) de l’adresse pour faciliter la vérification.

Vérification des QR codes

Lorsque vous scannez un QR code pour obtenir une adresse, vérifiez que l’adresse décodée correspond à ce que vous attendez. Des QR codes malveillants peuvent encoder des adresses contrôlées par un attaquant.

Conversion entre types d’adresses

Vous ne pouvez pas "convertir" une adresse d’un type à un autre (par ex. Legacy vers SegWit), car chaque type utilise un chemin de dérivation différent et produit un ensemble de clés différent. Cependant, vous pouvez :

  1. Générer plusieurs types d’adresses à partir de la même seed phrase — votre seed phrase dérive des clés pour tous les types d’adresses simultanément via différents chemins de dérivation.
  2. Envoyer des fonds d’un type d’adresse à un autre — envoyez simplement une transaction de votre adresse Legacy vers votre adresse SegWit. C’est une transaction Bitcoin normale.

Il n’existe aucun moyen d’accéder à des fonds envoyés vers une adresse SegWit via le chemin de dérivation Legacy, car elles utilisent des clés privées différentes.

FAQ

Quelle est la différence entre une adresse Legacy et une adresse SegWit ?

Les adresses Legacy (commençant par "1") utilisent le format de transaction Bitcoin d’origine. Les adresses SegWit (commençant par "bc1q") utilisent Segregated Witness, qui sépare les données de signature des données de transaction, ce qui donne des transactions plus petites, des frais plus bas et une correction de la malléabilité des transactions. SegWit est recommandé pour tous les nouveaux wallets.

Puis-je envoyer du Bitcoin depuis une adresse Legacy vers une adresse SegWit ?

Oui. Tous les types d’adresses Bitcoin sont interopérables sur le réseau. Vous pouvez envoyer depuis n’importe quel type d’adresse vers n’importe quel autre type d’adresse. Le seul problème de compatibilité concerne les logiciels de wallet : certains anciens wallets ne peuvent pas créer de transactions envoyant vers des adresses bc1q ou bc1p.

Pourquoi mon wallet affiche-t-il une adresse différente à chaque fois ?

C’est un comportement attendu pour les HD wallets utilisant BIP-44. Une nouvelle adresse est générée pour chaque transaction afin d’améliorer la confidentialité. Toutes les adresses sont dérivées de la même seed phrase et peuvent être récupérées. Les adresses déjà utilisées restent valides et peuvent toujours recevoir des fonds.

Qu’est-ce que l’encodage Bech32 ?

Bech32 est un format d’encodage d’adresse spécifié dans BIP-173, utilisé pour les adresses SegWit natives (bc1q). Il utilise des caractères alphanumériques minuscules (en excluant 1, b, i, o), inclut un checksum correcteur d’erreurs BCH, et possède un préfixe lisible par l’humain (bc pour le mainnet Bitcoin). Bech32m (BIP-350) est une version modifiée utilisée pour les adresses Taproot (bc1p).

Quel type d’adresse Bitcoin a les frais les plus bas ?

Les adresses Taproot (bc1p) ont généralement les frais les plus bas pour les dépenses par chemin de clé grâce à l’efficacité des signatures Schnorr. SegWit natif (bc1q) est juste derrière. SegWit encapsulé dans P2SH (3...) est plus coûteux, et les adresses Legacy (1...) sont les plus coûteuses en raison de leur taille de transaction plus grande.

Puis-je utiliser la même adresse pour Bitcoin et Bitcoin Cash ?

Non. Bien que les adresses Legacy Bitcoin et Bitcoin Cash puissent sembler similaires (elles commencent toutes deux par "1"), envoyer du Bitcoin vers une adresse Bitcoin Cash (ou l’inverse) peut entraîner l’envoi des fonds sur la mauvaise chaîne. Bitcoin Cash utilise le format CashAddr (commençant par "bitcoincash:") pour éviter cette confusion.

Que se passe-t-il si j’envoie des cryptos vers le mauvais type d’adresse sur le mauvais réseau ?

Pour les chaînes EVM (Ethereum, Polygon, BSC, etc.), la même adresse existe sur toutes les chaînes, donc les fonds ne sont pas perdus : vous devez simplement accéder au bon réseau. Pour les chaînes non-EVM avec des formats d’adresse différents, les wallets empêchent généralement l’envoi vers une adresse invalide. Si, d’une manière ou d’une autre, des fonds sont envoyés vers un format d’adresse inexistant, ils peuvent être perdus de façon permanente.

Toutes les adresses Ethereum ont-elles le même format ?

Oui. Ethereum utilise un format d’adresse unique (0x + 40 caractères hexadécimaux) pour tous les usages : réception d’ETH, tokens ERC-20, NFTs, et interaction avec les smart contracts. La même adresse est valide sur toutes les chaînes compatibles EVM.

Guides associés