Aller au contenu
buybitcoinsmart

Glossaire / Adresses et clés

Clé publique

Qu'est-ce qu'une clé publique ?
Une clé publique est le point sur la courbe secp256k1 dérivé de votre clé privée, publiable sans risque, et la valeur à laquelle une signature est confrontée lorsque vous dépensez.

Multiplier la clé privée par un point fixe de la courbe produit la clé publique, et aucune méthode connue n'inverse cette étape. Les clés compressées occupent 33 octets, et Taproot les a encore réduites à la forme x-only de 32 octets définie dans le BIP-340. Vous en voyez rarement une en tant qu'utilisateur, car la plupart des adresses ne publient qu'un hachage de la clé et ne révèlent la clé elle-même que lorsque les pièces finissent par bouger.

Comment cela fonctionne

Les clés publiques proviennent d'une courbe précise, et son arithmétique fait tout le travail. Bitcoin utilise secp256k1, définie par l'équation y au carré égale x au cube plus 7 sur un grand corps premier, avec un point de départ convenu appelé générateur. Additionner ce générateur à lui-même autant de fois que l'indique la clé privée produit un autre point de la courbe, et ce point est la clé publique. L'opération est rapide dans un sens et, avec toutes les techniques connues aujourd'hui, irréalisable dans l'autre, ce qui est tout le fondement de la propriété du bitcoin.

Trois encodages apparaissent en pratique. La forme non compressée d'origine utilise 65 octets pour écrire les deux coordonnées derrière un préfixe 0x04. La forme compressée ne conserve que la coordonnée x et un octet de parité, soit 33 octets au total, et est la forme par défaut depuis bien plus d'une décennie. Taproot va plus loin avec des clés x-only d'exactement 32 octets, en abandonnant l'octet de parité car le BIP-340 fixe la convention à la place.

L'endroit où la clé apparaît sur la chaîne dépend du type de sortie. Une sortie legacy ou SegWit version 0 s'engage sur un hachage de 20 octets de la clé publique, de sorte que la chaîne montre le hachage et rien d'autre tant que les pièces ne sont pas dépensées, moment auquel le dépensier doit révéler la clé qui correspond à ce hachage. Une sortie Taproot est différente : la clé de sortie de 32 octets se trouve dans l'adresse elle-même, visible dès l'arrivée des fonds.

Pourquoi cela compte lorsque vous achetez du bitcoin

Deux situations pratiques placent une clé publique devant un acheteur ordinaire, et toutes deux sont faciles à mal gérer.

La première consiste à prouver qu'une adresse est la vôtre. En vertu du règlement de l'UE sur les transferts de fonds, une plateforme d'échange doit vérifier qu'une adresse auto-hébergée appartient réellement à son client avant d'y envoyer plus de 1 000 euros, et des vérifications comparables s'appliquent dans plusieurs autres juridictions couvertes dans nos guides pays. La preuve standard est un message signé : votre portefeuille signe un défi avec la clé derrière l'adresse, et la plateforme le vérifie au moyen de la clé publique. Rien de secret ne quitte votre appareil, donc cette demande peut être satisfaite sans risque, contrairement à une demande de la clé elle-même.

La seconde est la clé publique étendue, le xpub que votre portefeuille peut exporter. Un xpub n'est pas un identifiant de dépense, et le transmettre ne peut pas vous coûter des pièces directement. Il transmet en revanche votre historique financier : quiconque le détient peut générer toutes les adresses que ce portefeuille utilisera un jour, passées et futures, et lire le solde et chaque transaction qui y est rattachée. Les outils de suivi de portefeuille, les outils fiscaux et les comptables demandent des xpub en routine. N'en donnez un que là où vous seriez à l'aise de remettre un relevé bancaire de toute une vie, et utilisez un compte ou un portefeuille distinct là où ce ne serait pas le cas.

Suivre une clé jusqu'à la blockchain

Prenez un portefeuille utilisant le chemin natif SegWit standard, m/84'/0'/0'/0/0. La clé à ce chemin est de 33 octets compressés. Le portefeuille la hache, d'abord avec SHA-256 puis avec RIPEMD-160, produisant 20 octets, et encode ces octets sous forme d'adresse bc1q. Tout ce qui est envoyé à cette adresse est désormais verrouillé sur un hachage, et le réseau n'a jamais vu la clé.

Lorsque vous dépensez, le champ witness porte deux éléments : une signature et la clé publique de 33 octets. Chaque nœud hache la clé, vérifie que le résultat correspond aux 20 octets exigés par la sortie, puis vérifie la signature au moyen de la clé. Ce n'est que si les deux tiennent que la dépense est valide. À partir de ce bloc, la clé est publique, ce qui est une bonne raison de ne pas laisser un solde sur une adresse depuis laquelle vous avez déjà dépensé.

Clé publique vs clé privée

La clé privée est choisie au hasard et la clé publique est calculée à partir d'elle, jamais l'inverse. Cette asymétrie décide de la façon dont chacune est traitée : publier une clé publique est une opération courante et ne vous coûte rien, tandis que publier une clé privée livre les pièces immédiatement et irréversiblement. Les sauvegardes protègent le côté privé, car la clé publique peut toujours être recalculée à partir d'elle en microsecondes. La vérification utilise le côté public, c'est pourquoi des inconnus et des nœuds peuvent vérifier votre signature sans jamais se voir confier quoi que ce soit.

À ne pas confondre avec

Questions fréquentes

Est-il sûr de partager ma clé publique ?

Oui. Une clé publique ne peut pas être reconvertie en clé privée, et elle est de toute façon publiée sur la blockchain chaque fois que vous dépensez. Le coût du partage est la confidentialité plutôt que la sécurité, car il vous relie aux pièces qu'elle contrôle.

Une clé publique est-elle la même chose que mon adresse bitcoin ?

Non. Pour les sorties legacy et SegWit native, l'adresse contient un hachage de 20 octets de la clé publique, et non la clé. Les adresses Taproot font exception : elles intègrent directement une clé de 32 octets.

Quelqu'un peut-il voler mes pièces s'il dispose de mon xpub ?

Non, une clé publique étendue ne peut rien signer. Elle permet toutefois à son détenteur de générer toutes vos adresses et de suivre l'intégralité de votre solde et de votre historique de transactions : traitez-la donc comme une information financière sensible, et non comme un identifiant secret.

À lire ensuite

Termes associés

Plus de termes : Adresses et clés

Lire cette page en anglais