Electrum 2.0 въвежда подобрен начин за сериализиране на транзакциите. Този нов метод позволява на потребителите да споделят неподписани или частично подписани трансакции с други подписващи или да ги съхраняват в устройства за студено съхранение.
Основната промяна в този формат за сериализация се намира във входа на транзакцията. По-конкретно Electrum разширява pubkey
поле, за да включите допълнителна информация. Това разширение позволява на портфейла да обработва трансакции, които все още не са напълно подписани, което улеснява управлението на конфигурации с много подписи и операции за студено съхранение.
Разширени публични ключове
Стандартните публични ключове на Биткойн започват с 0x02
, 0x03
, или 0x04
. Това са нормалните компресирани или некомпресирани публични ключове, използвани при транзакциите с биткойн.
Разширените публични ключове започват с 0xFF
, 0xFE
, или 0xFD
. Electrum ги използва, за да предостави повече информация за произхода на ключа и пътя на извеждането му.
Съществуват три вида разширени публични ключове:
- Ключове, започващи с
0xFF
са разширени публични ключове BIP32 (xpubs) с техния път на извеждане. - Ключове, започващи с
0xFE
използвате наследения метод за деривация на Electrum, като комбинирате главен публичен ключ и неговия път на деривация. - Ключове, започващи с
0xFD
представляват неизвестни публични ключове, за които е известен само адресът на биткойн.
Видове
- Деривация на BIP32 (започва с
0xFF
): Този формат се състои от разширен публичен ключ (xpub), който е дълъг 78 байта, последван от пътя на деривация на BIP32. Пътят на деривация се представя като поредица от 4-байтови цели числа, като общата дължина е два пъти по-голяма от броя на стъпките на деривация. - Деривация на наследен Electrum (започва с
0xFE
): Този по-стар формат използва главен публичен ключ (mpk), който е дълъг 64 байта, последван от 4-байтова стойност на деривацията. Този метод е характерен за по-ранните версии на Electrum. - Само адрес на биткойн (започва с
0xFD
): Този формат се използва, когато пълният публичен ключ не е наличен, но знаем адреса на биткойн или съответния хеш на скрипта. Той съхранява 20-байтовия хеш160 на изходния скрипт. Този формат предполага, че подписващият може да предостави действителния публичен ключ, когато е необходимо.
Тези разширени формати позволяват на Electrum да работи с различни типове портфейли и методи за деривация, като поддържат както съвременни йерархични портфейли, базирани на BIP32, така и по-стари структури на портфейли на Electrum. На 0xFD
Форматът също така осигурява гъвкавост при работа с частично известни данни за транзакции.
Стандартни публични ключове
Биткойн използва специфични формати за представяне на публичните ключове. Тези формати се признават за стандартни в мрежата на Биткойн:
Компресирани публични ключове: Те започват с 0x02
или 0x03
, последвано от 32 байта данни. Началният байт показва дали y
-координатата на точката на публичния ключ върху елиптичната крива е четна (0x02
) или нечетен (0x03
).
Некомпресирани публични ключове: Те започват с 0x04
, последвано от 64 байта данни. Този формат включва както x
и y
координати на точката на публичния ключ върху елиптичната крива.