Почему при создании мультиподписного кошелька xpubs от электрума и трезора не совпадают?

Для справки: я пытаюсь настроить мультиподписной кошелек 2 из 3 с двумя трезорами и холодной картой. Я пытаюсь убедиться, что мои настройки верны, прежде чем вкладывать туда какую-либо значимую сумму денег, но я обнаружил, что главные открытые ключи для трезоров не соответствуют моим ожиданиям.

При создании стандартного кошелька p2wsh в электруме с помощью trezor путь деривации по умолчанию — m/84'/0'/0'. Сразу после выбора типа скрипта и пути деривации Electrum отображает главный открытый ключ. Чтобы убедиться, что Электрум использует правильный главный открытый ключ, я выполнил следующую команду : trezorctl get-public-node -n "m/84'/0'/0'" -t segwit. Разумеется, главные открытые ключи, отображаемые Электрумом, trezorctlсовпадают.

Однако при попытке сделать ту же проверку при создании мультиподписного кошелька xpubs не совпадают. Electrum по умолчанию использует путь вывода m/48'/0'/0'/2'собственных мультиподписных кошельков SegWit. Запуск trezorctl get-public-node "m/48'/0'/0'/2'" -t segwitвыводит главный открытый ключ, отличный от того, что отображается в электруме. Это ошибка в электруме или есть причина несоответствия? Я думаю, что я что-то неправильно понимаю, потому что, хотя эти главные открытые ключи не совпадают, Электрум может подписывать и транслировать действительные транзакции, используя трезор в качестве одного из соподписчиков.

Ответы (1)

В моем случае основные публичные ключи совпадают, просто они закодированы по-разному: один (ab) использует префикс версии xpub, а другой Zpub и соответствующие байты контрольной суммы в конце. Фактические точки кривой и все производные от них совпадают.