Electrum 2.0 introduce una forma mejorada de serializar transacciones. Este nuevo método permite a los usuarios compartir transacciones sin firmar o parcialmente firmadas con otros firmantes o almacenarlas en dispositivos de almacenamiento en frío.
El principal cambio en este formato de serialización se encuentra en la entrada de transacciones. En concreto, Electrum amplía el pubkey
para incluir información adicional. Esta ampliación permite al monedero gestionar transacciones que aún no están totalmente firmadas, lo que facilita la gestión de configuraciones multifirma y operaciones de almacenamiento en frío.
Claves públicas ampliadas
Las claves públicas estándar de Bitcoin empiezan por 0x02
, 0x03
o 0x04
. Estas son las claves públicas normales comprimidas o sin comprimir utilizadas en las transacciones de Bitcoin.
Las claves públicas ampliadas empiezan por 0xFF
, 0xFE
o 0xFD
. Electrum los utiliza para proporcionar más información sobre el origen y la ruta de derivación de la clave.
Existen tres tipos de claves públicas ampliadas:
- Teclas que empiezan por
0xFF
son claves públicas extendidas BIP32 (xpubs) con su ruta de derivación. - Teclas que empiezan por
0xFE
utilizan el método de derivación heredado de Electrum, que combina una clave pública maestra y su ruta de derivación. - Teclas que empiezan por
0xFD
representan claves públicas desconocidas de las que sólo se conoce la dirección Bitcoin.
Tipos
- Derivación BIP32 (comienza con
0xFF
): Este formato consiste en una clave pública extendida (xpub) de 78 bytes de longitud, seguida de la ruta de derivación BIP32. La ruta de derivación se representa como una serie de enteros de 4 bytes, siendo la longitud total el doble del número de pasos de derivación. - Legado Electrum Derivación (comienza con
0xFE
): Este formato antiguo utiliza una clave pública maestra (mpk) de 64 bytes, seguida de un valor de derivación de 4 bytes. Este método es específico de versiones anteriores de Electrum. - Sólo dirección Bitcoin (comienza con
0xFD
): Este formato se utiliza cuando la clave pública completa no está disponible, pero conocemos la dirección Bitcoin o su correspondiente hash de script. Almacena el hash160 de 20 bytes del script de salida. Este formato asume que el cosignatario puede proporcionar la clave pública real cuando sea necesario.
Estos formatos extendidos permiten a Electrum manejar varios tipos de monederos y métodos de derivación, soportando tanto los modernos monederos jerárquicos basados en BIP32 como las antiguas estructuras de monederos de Electrum. El sitio 0xFD
también proporciona flexibilidad a la hora de trabajar con datos de transacciones parcialmente conocidos.
Claves públicas estándar
Bitcoin utiliza formatos específicos para representar claves públicas. Estos formatos se reconocen como estándar en toda la red Bitcoin:
Claves públicas comprimidas: Empiezan por 0x02
o 0x03
seguido de 32 bytes de datos. El byte inicial indica si el y
-la coordenada del punto de la clave pública en la curva elíptica es par (0x02
) o impar (0x03
).
Claves públicas sin comprimir: Empiezan por 0x04
seguido de 64 bytes de datos. Este formato incluye tanto el x
y y
coordenadas del punto de la clave pública en la curva elíptica.