Wiodący portfel Bitcoin

Rozszerzona serializacja transakcji w Electrum 2.0

Electrum 2.0 wprowadza ulepszony sposób serializacji transakcji. Ta nowa metoda pozwala użytkownikom udostępniać niepodpisane lub częściowo podpisane transakcje innym sygnatariuszom lub przechowywać je w urządzeniach typu cold storage.

Główna zmiana w tym formacie serializacji dotyczy danych wejściowych transakcji. W szczególności Electrum rozszerza rozszerzenie pubkey aby uwzględnić dodatkowe informacje. Rozszerzenie to umożliwia portfelowi obsługę transakcji, które nie są jeszcze w pełni podpisane, ułatwiając zarządzanie konfiguracjami z wieloma podpisami i operacjami przechowywania na zimno.

Rozszerzone klucze publiczne

Standardowe klucze publiczne Bitcoin zaczynają się od 0x02, 0x03lub 0x04. Są to normalne skompresowane lub nieskompresowane klucze publiczne używane w transakcjach Bitcoin.

Rozszerzone klucze publiczne zaczynają się od 0xFF, 0xFElub 0xFD. Electrum wykorzystuje je, aby zapewnić więcej informacji o pochodzeniu klucza i ścieżce jego wyprowadzania.

Istnieją trzy rodzaje rozszerzonych kluczy publicznych:

  1. Klucze zaczynające się od 0xFF są rozszerzonymi kluczami publicznymi BIP32 (xpubs) wraz z ich ścieżką derywacji.
  2. Klucze zaczynające się od 0xFE wykorzystują starszą metodę derywacji Electrum, łącząc główny klucz publiczny i jego ścieżkę derywacji.
  3. Klucze zaczynające się od 0xFD reprezentują nieznane klucze publiczne, w których znany jest tylko adres Bitcoin.

Rodzaje

  1. Pochodna BIP32 (zaczyna się od 0xFF): Ten format składa się z rozszerzonego klucza publicznego (xpub) o długości 78 bajtów, po którym następuje ścieżka derywacji BIP32. Ścieżka derywacji jest reprezentowana jako seria 4-bajtowych liczb całkowitych, przy czym całkowita długość jest dwukrotnie większa od liczby kroków derywacji.
  2. Legacy Electrum Derivation (zaczyna się od 0xFE): Ten starszy format wykorzystuje główny klucz publiczny (mpk) o długości 64 bajtów, po którym następuje 4-bajtowa wartość pochodna. Ta metoda jest specyficzna dla wcześniejszych wersji Electrum.
  3. Tylko adres Bitcoin (zaczyna się od 0xFD): Ten format jest używany, gdy pełny klucz publiczny nie jest dostępny, ale znamy adres Bitcoin lub odpowiadający mu hash skryptu. Przechowuje on 20-bajtowy hash160 skryptu wyjściowego. Ten format zakłada, że cosigner może dostarczyć rzeczywisty klucz publiczny w razie potrzeby.

Te rozszerzone formaty umożliwiają Electrum obsługę różnych typów portfeli i metod derywacji, wspierając zarówno nowoczesne portfele hierarchiczne oparte na BIP32, jak i starsze struktury portfeli Electrum. Format 0xFD zapewnia również elastyczność podczas pracy z częściowo znanymi danymi transakcji.

Standardowe klucze publiczne

Bitcoin używa określonych formatów do reprezentowania kluczy publicznych. Formaty te są uznawane za standardowe w całej sieci Bitcoin:

Skompresowane klucze publiczne: Zaczynają się one od 0x02 lub 0x03po którym następują 32 bajty danych. Bajt początkowy wskazuje, czy y-współrzędna punktu klucza publicznego na krzywej eliptycznej jest parzysta (0x02) lub nieparzyste (0x03).

Nieskompresowane klucze publiczne: Zaczynają się one od 0x04po którym następują 64 bajty danych. Format ten obejmuje zarówno x oraz y współrzędne punktu klucza publicznego na krzywej eliptycznej.

Spis treści