Electrum 2.0 führt eine verbesserte Methode zur Serialisierung von Transaktionen ein. Diese neue Methode ermöglicht es Benutzern, unsignierte oder teilweise signierte Transaktionen mit anderen Unterzeichnern zu teilen oder sie in Cold Storage-Geräten zu speichern.
Die wichtigste Änderung in diesem Serialisierungsformat findet sich in der Eingabe der Transaktion. Konkret erweitert Electrum die pubkey
um zusätzliche Informationen aufzunehmen. Diese Erweiterung ermöglicht es der Wallet, Transaktionen zu verarbeiten, die noch nicht vollständig signiert sind, was die Verwaltung von Multisignatur-Setups und Cold-Storage-Operationen erleichtert.
Erweiterte öffentliche Schlüssel
Standardmäßige öffentliche Bitcoin-Schlüssel beginnen mit 0x02
, 0x03
, oder 0x04
. Dies sind die normalen komprimierten oder unkomprimierten öffentlichen Schlüssel, die bei Bitcoin-Transaktionen verwendet werden.
Erweiterte öffentliche Schlüssel beginnen mit 0xFF
, 0xFE
, oder 0xFD
. Electrum verwendet diese, um weitere Informationen über den Ursprung und den Ableitungspfad des Schlüssels bereitzustellen.
Es gibt drei Arten von erweiterten öffentlichen Schlüsseln:
- Tasten, die mit
0xFF
sind erweiterte öffentliche BIP32-Schlüssel (xpubs) mit ihrem Ableitungspfad. - Tasten, die mit
0xFE
Electrums Legacy-Ableitungsmethode verwenden, die einen öffentlichen Hauptschlüssel und seinen Ableitungspfad kombiniert. - Tasten, die mit
0xFD
stehen für unbekannte öffentliche Schlüssel, bei denen nur die Bitcoin-Adresse bekannt ist.
Typen
- BIP32 Ableitung (beginnt mit
0xFF
): Dieses Format besteht aus einem erweiterten öffentlichen Schlüssel (xpub), der 78 Byte lang ist, gefolgt von dem BIP32-Ableitungspfad. Der Ableitungspfad wird als eine Reihe von 4-Byte-Ganzzahlen dargestellt, wobei die Gesamtlänge das Doppelte der Anzahl der Ableitungsschritte beträgt. - Legacy Electrum Ableitung (beginnt mit
0xFE
): Dieses ältere Format verwendet einen öffentlichen Hauptschlüssel (mpk), der 64 Byte lang ist, gefolgt von einem 4-Byte-Ableitungswert. Diese Methode ist spezifisch für frühere Versionen von Electrum. - Nur Bitcoin-Adresse (beginnt mit
0xFD
): Dieses Format wird verwendet, wenn der vollständige öffentliche Schlüssel nicht verfügbar ist, wir aber die Bitcoin-Adresse oder den entsprechenden Skript-Hash kennen. Es speichert den 20-Byte-Hash160 des Ausgabeskripts. Bei diesem Format wird davon ausgegangen, dass der Mitunterzeichner bei Bedarf den tatsächlichen öffentlichen Schlüssel bereitstellen kann.
Diese erweiterten Formate ermöglichen Electrum den Umgang mit verschiedenen Wallet-Typen und Ableitungsmethoden und unterstützen sowohl moderne BIP32-basierte hierarchische Wallets als auch ältere Electrum-Wallet-Strukturen. Die 0xFD
Format bietet auch Flexibilität bei der Arbeit mit teilweise bekannten Transaktionsdaten.
Öffentliche Standard-Schlüssel
Bitcoin verwendet bestimmte Formate zur Darstellung öffentlicher Schlüssel. Diese Formate sind im gesamten Bitcoin-Netzwerk als Standard anerkannt:
Komprimierte öffentliche Schlüssel: Diese beginnen entweder mit 0x02
oder 0x03
, gefolgt von 32 Bytes Daten. Das Anfangsbyte zeigt an, ob die y
-Koordinate des Punktes des öffentlichen Schlüssels auf der elliptischen Kurve gerade ist (0x02
) oder ungerade (0x03
).
Unkomprimierte öffentliche Schlüssel: Diese beginnen mit 0x04
, gefolgt von 64 Byte Daten. Dieses Format enthält sowohl die x
und y
Koordinaten des Punktes des öffentlichen Schlüssels auf der elliptischen Kurve.