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
, 0x03
ou 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
, 0xFE
ou 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 :
- Clés commençant par
0xFF
sont des clés publiques étendues BIP32 (xpubs) avec leur chemin de dérivation. - 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. - Clés commençant par
0xFD
représentent des clés publiques inconnues dont seule l'adresse Bitcoin est connue.
Les types
- 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. - 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. - 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 0x03
suivi 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 0x04
suivi 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.