crear multisig punto único de falla

Estoy implementando direcciones multisig, que es una gran solución a un problema, pero por lo que puedo ver, no hay forma de crear la dirección multisig sin conocer todas las claves privadas desde el principio. ¿No es ese un único punto de falla? Cualquiera que sea el sistema que crea la dirección multisig conoce todas las claves privadas.

Esperaba poder crear una dirección multisig parcial (yo) pasar el resultado hexadecimal a otra persona para agregar su clave privada y luego pasar al depósito de garantía para agregar su clave privada... algo así como la firma de transacciones multisig.

Puedes ver en el ejemplo de Gavin que tiene las 3 claves al principio: https://gist.github.com/gavinandresen/3966071

Gracias.

Respuestas (1)

Tienes razón en que Gavin tiene las tres claves privadas disponibles para él al principio, pero te estás perdiendo que solo usa las claves públicas para crear la dirección multisig P2SH. Específicamente, esta línea del ejemplo enumera solo claves públicas,

./bitcoind createmultisig 2 '["0491bba2510912a5bd37da1fb5b1673010e43d2c6d812c514e91bfa9f2eb129e1c183329db55bd868e209aac2fbc02cb33d98fe74bf23f0c235d6126b1d8334f86","04865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac09ef122b1a986818a7cb624532f062c1d1f8722084861c5c3291ccffef4ec6874","048d2455d2403e08708fc1f556002f1b6cd83f992d085097f9974ab08a28838f07896fbab08f39495e15fa6fad6edbfb1e754e35fa1c7844c41f322a1863d46213"]'

El createmultisigRPC le permitirá mezclar direcciones (correspondientes a las claves privadas que tiene en el almacenamiento local) y claves públicas (para los casos en los que no tiene las claves privadas, como cuando crea una dirección multisig con sus amigos).

Hay un ejemplo multigrado de creación y gasto paso a paso en la página de ejemplos de desarrolladores de Bitcoin.org (probablemente desee comenzar leyendo los ejemplos inmediatamente anteriores, ya que se construyen para multigrado P2SH).

Siguiente pregunta. Sí, el ejemplo tiene la representación hexadecimal del formato de dirección de bitcoin heredado, pero si entiendo correctamente, podemos extraer la representación hexadecimal de la dirección heredada si y solo si podemos consultar la billetera directamente para obtener dicha información. Es probable que un tercero no sepa cómo hacer esto, y el formato heredado (o lo que llamamos "dirección BTC pública") es solo una versión cifrada de la clave pública, por lo que no podemos usar direcciones heredadas públicas en multisig directamente. . Ahora que tenemos bech32direcciones, ¿podemos usarlas sin necesidad de acceder a la billetera? ¡Gracias!