Electrum 2.0 introducerer en forbedret måde at serialisere transaktioner på. Denne nye metode giver brugerne mulighed for at dele usignerede eller delvist signerede transaktioner med andre underskrivere eller gemme dem i kolde lagerenheder.
Den største ændring i dette serialiseringsformat findes i transaktionsinputtet. Specifikt udvider Electrum pubkey
til at inkludere yderligere oplysninger. Denne udvidelse gør det muligt for tegnebogen at håndtere transaktioner, der endnu ikke er fuldt signerede, hvilket gør det nemmere at håndtere opsætninger med flere signaturer og kold opbevaring.
Udvidede offentlige nøgler
Standard offentlige Bitcoin-nøgler starter med 0x02
, 0x03
eller 0x04
. Det er de normale komprimerede eller ukomprimerede offentlige nøgler, der bruges i Bitcoin-transaktioner.
Udvidede offentlige nøgler starter med 0xFF
, 0xFE
eller 0xFD
. Electrum bruger disse til at give mere information om nøglens oprindelse og afledningsvej.
Der findes tre typer af udvidede offentlige nøgler:
- Nøgler, der begynder med
0xFF
er BIP32-udvidede offentlige nøgler (xpubs) med deres afledningssti. - Nøgler, der begynder med
0xFE
bruger Electrums gamle afledningsmetode, der kombinerer en offentlig hovednøgle og dens afledningsvej. - Nøgler, der begynder med
0xFD
repræsenterer ukendte offentlige nøgler, hvor kun Bitcoin-adressen er kendt.
Typer
- BIP32-afledning (starter med
0xFF
): Dette format består af en udvidet offentlig nøgle (xpub), der er 78 bytes lang, efterfulgt af BIP32-afledningsstien. Afledningsstien er repræsenteret som en række 4-byte heltal, hvor den samlede længde er det dobbelte af antallet af afledningstrin. - Arv af elektrum (starter med
0xFE
): Dette ældre format bruger en offentlig masternøgle (mpk), der er 64 bytes lang, efterfulgt af en afledningsværdi på 4 bytes. Denne metode er specifik for tidligere versioner af Electrum. - Kun Bitcoin-adresse (starter med
0xFD
): Dette format bruges, når den fulde offentlige nøgle ikke er tilgængelig, men vi kender Bitcoin-adressen eller den tilsvarende script-hash. Det gemmer 20-byte hash160 af outputscriptet. Dette format forudsætter, at cosigneren kan levere den faktiske offentlige nøgle, når det er nødvendigt.
Disse udvidede formater gør det muligt for Electrum at håndtere forskellige wallet-typer og afledningsmetoder og understøtter både moderne BIP32-baserede hierarkiske wallets og ældre Electrum-wallet-strukturer. De 0xFD
formatet giver også fleksibilitet, når man arbejder med delvist kendte transaktionsdata.
Offentlige standardnøgler
Bitcoin bruger specifikke formater til at repræsentere offentlige nøgler. Disse formater er anerkendt som standard på tværs af Bitcoin-netværket:
Komprimerede offentlige nøgler: Disse starter med enten 0x02
eller 0x03
efterfulgt af 32 bytes data. Startbyten angiver, om y
-koordinaten for den offentlige nøgles punkt på den elliptiske kurve er lige (0x02
) eller ulige (0x03
).
Ukomprimerede offentlige nøgler: Disse begynder med 0x04
efterfulgt af 64 bytes data. Dette format inkluderer både x
og y
koordinater for den offentlige nøgles punkt på den elliptiske kurve.