Premier portefeuille Bitcoin

Sérialisation étendue des transactions dans Electrum 2.0

Electrum 2.0 introduit une méthode améliorée pour sérialiser les transactions. Cette nouvelle méthode permet aux utilisateurs de partager des transactions non signées ou partiellement signées avec d'autres signataires ou de les stocker dans des dispositifs de stockage à froid.

Le principal changement dans ce format de sérialisation se trouve dans l'entrée de la transaction. Plus précisément, Electrum étend le format pubkey pour inclure des informations supplémentaires. Cette extension permet au portefeuille de traiter des transactions qui ne sont pas encore entièrement signées, ce qui facilite la gestion des configurations multi-signatures et des opérations de stockage à froid.

Clés publiques étendues

Les clés publiques standard de Bitcoin commencent par 0x02, 0x03ou 0x04. Il s'agit des clés publiques normales, compressées ou non, utilisées dans les transactions Bitcoin.

Les clés publiques étendues commencent par 0xFF, 0xFEou 0xFD. Electrum les utilise pour fournir plus d'informations sur l'origine de la clé et le chemin de dérivation.

Il existe trois types de clés publiques étendues :

  1. Clés commençant par 0xFF sont des clés publiques étendues BIP32 (xpubs) avec leur chemin de dérivation.
  2. Les clés commençant par 0xFE utilisent la méthode de dérivation héritée d'Electrum, qui combine une clé publique principale et son chemin de dérivation.
  3. Clés commençant par 0xFD représentent des clés publiques inconnues dont seule l'adresse Bitcoin est connue.

Les types

  1. Dérivation de l'IBPT32 (commence par 0xFF) : Ce format consiste en une clé publique étendue (xpub) de 78 octets, suivie du chemin de dérivation BIP32. Le chemin de dérivation est représenté par une série d'entiers de 4 octets, la longueur totale étant le double du nombre d'étapes de dérivation.
  2. Dérivation de l'Electrum (commence par 0xFE) : Cet ancien format utilise une clé publique principale (mpk) de 64 octets, suivie d'une valeur de dérivation de 4 octets. Cette méthode est spécifique aux versions antérieures d'Electrum.
  3. Adresse Bitcoin uniquement (commence par 0xFD) : Ce format est utilisé lorsque la clé publique complète n'est pas disponible, mais que nous connaissons l'adresse Bitcoin ou le hachage du script correspondant. Il stocke le hash160 de 20 octets du script de sortie. Ce format suppose que le cosignataire peut fournir la clé publique réelle en cas de besoin.

Ces formats étendus permettent à Electrum de gérer différents types de portefeuilles et de méthodes de dérivation, en prenant en charge à la fois les portefeuilles hiérarchiques modernes basés sur BIP32 et les anciennes structures de portefeuilles Electrum. Les formats 0xFD offre également une certaine souplesse lorsqu'il s'agit de travailler avec des données de transaction partiellement connues.

Clés publiques standard

Bitcoin utilise des formats spécifiques pour représenter les clés publiques. Ces formats sont reconnus comme standard dans le réseau Bitcoin :

Clés publiques compressées: Ils commencent par l'un ou l'autre des éléments suivants 0x02 ou 0x03suivi de 32 octets de données. L'octet de départ indique si le y-La coordonnée du point de la clé publique sur la courbe elliptique est paire (0x02) ou impair (0x03).

Clés publiques non compressées: Ceux-ci commencent par 0x04suivi de 64 octets de données. Ce format comprend à la fois le x et y les coordonnées du point de la clé publique sur la courbe elliptique.

Table des matières