Electrum 2.0 introduceert een verbeterde manier om transacties te serialiseren. Met deze nieuwe methode kunnen gebruikers niet-ondertekende of gedeeltelijk ondertekende transacties delen met andere ondertekenaars of opslaan in koude opslagapparaten.
De belangrijkste verandering in dit serialisatieformaat is te vinden in de transactie-invoer. Specifiek breidt Electrum de pubkey
veld om extra informatie toe te voegen. Door deze uitbreiding kan de portemonnee transacties verwerken die nog niet volledig ondertekend zijn, waardoor het eenvoudiger wordt om multi-handtekening setups en cold storage operaties te beheren.
Uitgebreide openbare sleutels
Standaard openbare Bitcoin-sleutels beginnen met 0x02
, 0x03
of 0x04
. Dit zijn de normale gecomprimeerde of ongecomprimeerde publieke sleutels die gebruikt worden bij Bitcoin-transacties.
Uitgebreide openbare sleutels beginnen met 0xFF
, 0xFE
of 0xFD
. Electrum gebruikt deze om meer informatie te geven over de oorsprong en het afleidingspad van de sleutel.
Er zijn drie soorten uitgebreide openbare sleutels:
- Toetsen die beginnen met
0xFF
zijn BIP32 uitgebreide openbare sleutels (xpubs) met hun afleidingspad. - Toetsen die beginnen met
0xFE
Electrum's legacy afleidingsmethode gebruiken, waarbij een publieke moedersleutel en zijn afleidingspad worden gecombineerd. - Toetsen die beginnen met
0xFD
vertegenwoordigen onbekende openbare sleutels waarbij alleen het Bitcoin-adres bekend is.
Soorten
- BIP32 Afleiding (begint met
0xFF
): Dit formaat bestaat uit een uitgebreide openbare sleutel (xpub) van 78 bytes lang, gevolgd door het BIP32-derivatiepad. Het afleidingspad wordt weergegeven als een reeks gehele getallen van 4 bytes, waarbij de totale lengte tweemaal het aantal afleidingsstappen is. - Legacy Electrum Afleiding (begint met
0xFE
): Dit oudere formaat gebruikt een master public key (mpk) die 64 bytes lang is, gevolgd door een afgeleide waarde van 4 bytes. Deze methode is specifiek voor eerdere versies van Electrum. - Alleen Bitcoin-adres (begint met
0xFD
): Dit formaat wordt gebruikt als de volledige publieke sleutel niet beschikbaar is, maar we wel het Bitcoin-adres of de bijbehorende hash van het script kennen. Het slaat de 20-byte hash160 van het uitvoerscript op. Dit formaat gaat ervan uit dat de medeondertekenaar de daadwerkelijke openbare sleutel kan verstrekken wanneer dat nodig is.
Deze uitgebreide formaten zorgen ervoor dat Electrum verschillende typen portemonnees en afleidingsmethodes kan verwerken, waarbij zowel moderne BIP32-gebaseerde hiërarchische portemonnees als oudere Electrum portemonnee structuren worden ondersteund. De 0xFD
formaat biedt ook flexibiliteit bij het werken met gedeeltelijk bekende transactiegegevens.
Standaard openbare sleutels
Bitcoin gebruikt specifieke formaten om openbare sleutels weer te geven. Deze formaten worden erkend als standaard in het hele Bitcoin-netwerk:
Gecomprimeerde openbare sleutels: Deze beginnen met 0x02
of 0x03
gevolgd door 32 bytes aan gegevens. De startbyte geeft aan of de y
-coördinaat van het punt van de openbare sleutel op de elliptische curve is even (0x02
) of oneven (0x03
).
Ongecomprimeerde openbare sleutels: Deze beginnen met 0x04
gevolgd door 64 bytes aan gegevens. Dit formaat bevat zowel de x
en y
coördinaten van het punt van de openbare sleutel op de elliptische curve.