¿Cómo crear las mismas (2 de 3) direcciones multisig que las billeteras multisig de electrum con createmultisig?

Buscando crear 2 de 3 direcciones multisig con la consola electrum con claves públicas (no las claves públicas maestras):

electrum createmultisig 2 '["1st public key wallet 1", "1st public key wallet 2", "1st public key wallet 3"]'

Esto generará una dirección p2sh y un script de redimir. Sin embargo, la dirección solo coincide con la primera dirección en una billetera electrum 2 de 3 multisig si las claves públicas se ingresan en el orden correcto (eso tiene una probabilidad de uno en seis).

Las 2 de 3 billeteras multisig de Electrum tienen direcciones p2sh consistentes sin importar el orden en que se ingresen las claves públicas maestras. ¿Cómo se puede usar createmultisig para ser consistente con las billeteras multisig de electrum?

Editar: la respuesta sugerida es el addmultisigaddresscomando de bitcoin-core (según lo entiendo correctamente), gracias por la sugerencia. Sin embargo, la pregunta era cómo hacerlo con la consola Electrum (si es posible).

La pregunta es cómo (re)crear la primera dirección p2sh correcta de la billetera multigrado (2 de 3) de Electrum con claves públicas maestras como entrada, con solo las primeras claves públicas de cada una de las claves públicas maestras y ser consistente con el multigrado de Electrum ( 2 de 3) billetera todo el tiempo.

Edit2: un ejemplo con claves públicas maestras reales y allí claves públicas:

Master public key a: xpub661MyMwAqRbcFRS9DDMPDGhicAnYcsELaWwWSviE3nETgBBW6P6FqXCxDobD9h1BqXbjbMEsXkeXyrLUmxANvBw9hi4jxZKjLDyZk3hK7nT  
a's first public key a1: 03722ef79a70b43843c642f3495d2b9b8a6403189d52a04ecac652c133f7940fed

Master public key b: xpub661MyMwAqRbcEqNp5KidkrqspVy5HmMTwuQguSa8LSu6WWDdYMMD13appqVrMgAZyc5FKxSnxuTqNoT2j9PYtFtF67MUNBEzifV6vnd5qW2  
b's first public key b1: 03f9652bfbbfb426eb2011db774c97866e00effdf954cc225807f89b23150dda3a

Master public key c: xpub661MyMwAqRbcEpBbahsh3vPcooVMbEfKAWCx7VNAyGokuShDN2FocJEa7mkcSAkWbkhbewN9TBW9AkoSJPGJoktCXZL98BGTCdZaspiebrA  
c's first public key c1: 03f5ce19296793c6695bfefd7ead459a3f88ef776d8fc08b470dbc749d266d519f

La opción de electrum (GUI) para crear una billetera multisig (2 de 3) tomará la clave pública maestra a, b y c en cualquier orden y le dará una billetera con la primera dirección p2sh:

3HRmAEyoBwdHhdntJHFMeR8DxZyCgiaKzV

El comando de consola de Electrum createmultisig generará una dirección p2sh diferente según el orden de las claves públicas. Trail y error obtendrán la misma dirección p2sh que la GUI, sin embargo, mi objetivo es obtener la dirección correcta sin verificar de manera consistente.

con '["a1", "b1", "c1"]':

electrum createmultisig 2 -o '["03722ef79a70b43843c642f3495d2b9b8a6403189d52a04ecac652c133f7940fed", "03f9652bfbbfb426eb2011db774c97866e00effdf954cc225807f89b23150dda3a", "03f5ce19296793c6695bfefd7ead459a3f88ef776d8fc08b470dbc749d266d519f"]'

    {
    "address": "3EKHKsgn2smYcpeiD6zfR9sgrEp6PrqCTw", 
    "redeemScript": "522102ae1359d50bdc7d5b61c3bab9f293fc01cdab3c2b1151a7309fb2e28540d94e842102b0b20cb5e55204f63c016c3df94c3aadaed931370e49bb94097c97dff485032d2103d5196cd7f661deedb3f27fce93095554e72032c7fd26b1ddfaeac8d6f5d56d0553ae"
}

con '["a1", "c1", "b1"]':

electrum createmultisig 2 -o '["03722ef79a70b43843c642f3495d2b9b8a6403189d52a04ecac652c133f7940fed", "03f5ce19296793c6695bfefd7ead459a3f88ef776d8fc08b470dbc749d266d519f", "03f9652bfbbfb426eb2011db774c97866e00effdf954cc225807f89b23150dda3a"]'

{
    "address": "3HRmAEyoBwdHhdntJHFMeR8DxZyCgiaKzV", 
    "redeemScript": "522103722ef79a70b43843c642f3495d2b9b8a6403189d52a04ecac652c133f7940fed2103f5ce19296793c6695bfefd7ead459a3f88ef776d8fc08b470dbc749d266d519f2103f9652bfbbfb426eb2011db774c97866e00effdf954cc225807f89b23150dda3a53ae"
}

En este ejemplo, tuve "suerte" después del segundo intento y obtuve la misma dirección p2sh después de 2 intentos de las 6 permutaciones posibles. Sin embargo, mi pregunta es ¿cómo obtener el orden correcto de las claves públicas sin verificar la billetera GUI multi (2 de 3)?

¿Está buscando usar addmultisigaddress de bitcoin-core de manera consistente con electrum, o usar createmultisig de electrum de manera consistente con bitcoin-core?
Ninguno de los dos. Buscando usar createmultisig (consola) de electrum para ser consistente con la billetera multisig (GUI) de electrum. Quiere obtener la primera dirección p2sh de la billetera multisig (GUI) de electrum usando la primera clave pública de cada clave pública maestra utilizada para crear la billetera multisig (GUI) de electrum con createmultisig (consola) de electrum. El problema que encuentro es que la billetera multisig acepta la clave pública maestra a, b y c en todos los órdenes posibles y da la misma primera dirección p2sh. El comando createmultisig con a1, b1 y c1 solo una de las permutaciones da la misma dirección p2sh

Respuestas (1)

Ver BIP45 .

Electrum ordena lexicográficamente las claves públicas, es decir

  1. 03722ef79a70b43843c642f3495d2b9b8a6403189d52a04ecac652c133f7940fed
  2. 03f5ce19296793c6695bfefd7ead459a3f88ef776d8fc08b470dbc749d266d5
  3. 03f9652bfbbfb426eb2011db774c97866e00effdf954cc225807f89b23150dda3a

Tenga en cuenta que son todos 03, por lo que es72=>f5=>f9

Tal vez te refieres a BIP45. “Los índices se pueden determinar de forma independiente ordenando lexicográficamente las claves públicas de finalidad de cada consignatario”. github.com/bitcoin/bips/blob/master/bip-0045.mediawiki