Тот же вопрос, что и какой путь вывода BIP32 использует Electrum?
но для мультисиг. Спасибо.
Электрум использует BIP45.
m / purpose' / cosigner_index / change / address_index
Пример без изменения первого поручителя и первого адреса:m / 45' / 0 / 0 / 0
См.: https://bitcointalk.org/index.php?topic=1634517.15 и https://github.com/bitcoin/bips/blob/master/bip-0045.mediawiki .
После долгой борьбы я обнаружил, что Electrum использует следующую корневую деривацию для обычных кошельков и кошельков с мультиподписью. Например:
root/0/0
за каждого созаемщика. Пример:
m/44'/0'/0'
==> общий корневой ключ (x)
x/0/0
==> адрес для первого получения мультиподписи (получение общих ключей всех соподписавших. Все 3 ключа должны быть лексикографически упорядочены).
некоторая полусовместимая форма BIP45 для аппаратных кошельков. Не проверял, но вот код: https://github.com/spesmilo/electrum/blob/master/lib/base_wizard.py#L220
ссылки:
Какой путь вывода BIP32 использует Electrum?
Вот дескриптор 2-из-3, созданный Electrum.
Получать адреса:
sh(sortedmulti(2,XPUB_1/0/*,XPUB_2/0/*,XPUB_3/0/*))
Изменить адреса:
sh(sortedmulti(2,XPUB_1/1/*,XPUB_2/1/*,XPUB_3/1/*))
(Замените XPUB_1
, XPUB_2
и XPUB_3
вашими тремя главными открытыми ключами)
Вот что работает для меня при использовании bip32gen из bip32utils для генерации открытых ключей, которые используются в транзакции, начиная с главного ключа xprv.
Для каждого главного ключа xprv соподписанта используйте 0/0 для первого адреса получателя, 0/1 для второго, 1/0 для первого адреса изменения, 1/1 для второго адреса изменения.
Затем используйте соответствующий открытый ключ для каждого подписавшего, отсортированный в лексикографическом порядке, при создании сценария выкупа и сгенерируйте соответствующий адрес p2sh для каждого адреса, который будет сгенерирован Electrum.
Насколько я могу судить, в BIP44 или BIP45 нет кодов назначения или индекса соподписанта. Это с Электрум 3.2.3.
ссылки: https://bitcointalk.org/index.php?topic=1819380 https://bitcointalk.org/index.php?topic=1816926.msg18101203#msg18101203
См. это другое обсуждение stackexchange: Какой путь вывода BIP32 использует Electrum?
пользователь1204270