Electrum 2.0 introduce un modo migliore per serializzare le transazioni. Questo nuovo metodo consente agli utenti di condividere transazioni non firmate o parzialmente firmate con altri firmatari o di memorizzarle in dispositivi di archiviazione a freddo.
Il cambiamento principale in questo formato di serializzazione si trova nell'input della transazione. In particolare, Electrum espande il campo pubkey
per includere informazioni aggiuntive. Questa espansione consente al portafoglio di gestire transazioni non ancora completamente firmate, facilitando la gestione delle configurazioni multi-firma e delle operazioni di cold storage.
Chiavi pubbliche estese
Le chiavi pubbliche standard di Bitcoin iniziano con 0x02
, 0x03
, o 0x04
. Queste sono le normali chiavi pubbliche compresse o non compresse utilizzate nelle transazioni Bitcoin.
Le chiavi pubbliche estese iniziano con 0xFF
, 0xFE
, o 0xFD
. Electrum li utilizza per fornire ulteriori informazioni sull'origine della chiave e sul percorso di derivazione.
Esistono tre tipi di chiavi pubbliche estese:
- I tasti che iniziano con
0xFF
sono chiavi pubbliche estese BIP32 (xpub) con il loro percorso di derivazione. - I tasti che iniziano con
0xFE
utilizzare il metodo di derivazione tradizionale di Electrum, combinando una chiave pubblica principale e il suo percorso di derivazione. - I tasti che iniziano con
0xFD
rappresentano chiavi pubbliche sconosciute di cui si conosce solo l'indirizzo Bitcoin.
Tipi
- Derivazione BIP32 (inizia con
0xFF
): Questo formato consiste in una chiave pubblica estesa (xpub) lunga 78 byte, seguita dal percorso di derivazione BIP32. Il percorso di derivazione è rappresentato come una serie di numeri interi di 4 byte, con una lunghezza totale pari al doppio del numero di passi di derivazione. - Derivazione dell'Electrum ereditato (inizia con
0xFE
): Questo vecchio formato utilizza una chiave pubblica principale (mpk) lunga 64 byte, seguita da un valore di derivazione di 4 byte. Questo metodo è specifico delle versioni precedenti di Electrum. - Solo indirizzo Bitcoin (inizia con
0xFD
): Questo formato viene utilizzato quando non è disponibile la chiave pubblica completa, ma si conosce l'indirizzo Bitcoin o l'hash dello script corrispondente. Memorizza l'hash160 a 20 byte dello script di output. Questo formato presuppone che il cosigner possa fornire la chiave pubblica effettiva quando necessario.
Questi formati estesi consentono a Electrum di gestire diversi tipi di portafogli e metodi di derivazione, supportando sia i moderni portafogli gerarchici basati su BIP32 sia le vecchie strutture di portafogli Electrum. Il 0xFD
Il formato fornisce anche una certa flessibilità quando si lavora con dati di transazione parzialmente noti.
Chiavi pubbliche standard
Bitcoin utilizza formati specifici per rappresentare le chiavi pubbliche. Questi formati sono riconosciuti come standard in tutta la rete Bitcoin:
Chiavi pubbliche compresse: Iniziano con o 0x02
o 0x03
, seguito da 32 byte di dati. Il byte iniziale indica se il y
-la coordinata del punto della chiave pubblica sulla curva ellittica è pari (0x02
) o dispari (0x03
).
Chiavi pubbliche non compresse: Iniziano con 0x04
, seguito da 64 byte di dati. Questo formato include sia il carattere x
e y
coordinate del punto della chiave pubblica sulla curva ellittica.