¿Cómo se pueden extraer claves privadas de MultiBit HD?

Era posible en MultiBit Classic , pero no puedo encontrarlo en MultiBit HD.

¿Sería posible escribir una explicación más detallada de la respuesta de Redee? ¿Alguien podría explicar cómo aplicar el parche y construir el proyecto? He probado muchas otras opciones, pero nada más parece funcionar para mí. Gracias de antemano.
Pensé que el punto de las billeteras HD es que solo necesitas la palabra semilla para recuperar todas las claves privadas que hayas usado. ¿Por qué querrías una lista de ellos cuando puedes (re)generarlos a pedido?

Respuestas (5)

ADVERTENCIA: Si bien esta respuesta puede ser una solución al problema de la pregunta, implica exponer su semilla de billetera a una herramienta en Internet. Por favor, tenga mucho cuidado al hacer esto!


No se pueden agregar comentarios, así que extienda la respuesta de Chris.J:

Aquí están mis notas sobre cómo recuperar/reconstruir/regenerar/extraer TODAS las direcciones y claves utilizadas por MultiBit HD:

  • Vaya a https://iancoleman.github.io/bip39/
  • En el campo "BIP39 Mnemonic" complete sus 12 palabras de generación de billetera
  • Sin contraseña
  • Código: Bitcoin
  • En Ruta de derivación, seleccione la pestaña BIP32
  • Cliente: ruta de derivación personalizada
  • Ruta de derivación PARA DIRECCIONES EXTERNAS (RECEPTORAS) (copiar y pegar esto): m/0'/0
  • Sus direcciones de recepción ahora se muestran al final de la página.
  • Ruta de derivación PARA DIRECCIONES INTERNAS (CAMBIAR) (copiar y pegar esto): m/0'/1
  • Sus direcciones de cambio ahora se muestran al final de la página. Felicidad absoluta ;)

(solución encontrada en: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki en la imagen "Carteras deterministas jerárquicas")

Clavado, otra guía no explicó que las direcciones de cambio están en una ruta de derivación diferente. Gracias, esto me dio acceso a mi Bitcoin Cash que quería 'reclamar'
Una herramienta bip39 local sería útil.

En caso de que tenga una billetera beta7 que no sea compatible con BIP32 , no puede usar el método que @chris-j ha presentado.

La forma más fácil para mí fue conectarme a las capacidades de firma de MultiBit HD y registrar la clave privada que se usa en la consola:

diff --git a/mbhd-core/src/main/java/org/multibit/hd/core/managers/WalletManager.java b/mbhd-core/src/main/java/org/multibit/hd/core/managers/WalletManager.java
index 61979a3..e8a0de1 100644
--- a/mbhd-core/src/main/java/org/multibit/hd/core/managers/WalletManager.java
+++ b/mbhd-core/src/main/java/org/multibit/hd/core/managers/WalletManager.java
@@ -1753,6 +1753,8 @@ public enum WalletManager implements WalletEventListener {
           if (signingKey.getKeyCrypter() != null) {
             KeyParameter aesKey = signingKey.getKeyCrypter().deriveKey(walletPassword);
             ECKey decryptedSigningKey = signingKey.decrypt(aesKey);
+            log.info("HACK address: " + signingAddress.toString());
+            log.info("HACK private key: " + decryptedSigningKey.getPrivateKeyAsWiF(networkParameters));

             String signatureBase64 = decryptedSigningKey.signMessage(messageText);
             return new SignMessageResult(Optional.of(signatureBase64), true, CoreMessageKey.SIGN_MESSAGE_SUCCESS, null);

He probado esto con v0.5 siguiendo estos pasos:

  1. Clonar el repositorio MultiBit HD Git
  2. Aplicar el parche de arriba
  3. Construya el proyecto:mvn clean dependency:sources install
  4. Inicie la aplicación:java -jar mbhd-swing/target/multibit-hd.jar
  5. Vaya a Herramientas -> Firmar mensaje e ingrese una dirección de Bitcoin de su billetera para la cual desea recuperar la clave privada. Pulse finalizar.
  6. Lea la dirección de Bitcoin y la clave privada correspondiente de la salida de la consola
Esto podría ser demasiado complicado para las personas que solo usan bitcoins para negocios.
¡Eres mi salvador, @redee! Utilicé este método con éxito en v0.5.1 para extraer mi clave privada para importar a Omniwallet para poder transferir monedas de colores a una billetera diferente que las admita correctamente. Los números de línea habían cambiado ligeramente, pero el mismo código funcionaba bien: D Oh, y tuve que usar el botón "Firmar mensaje" para obtener el resultado en lugar de simplemente presionar "Finalizar".
Gracias redee, buenas instrucciones: pude transferir mi dinero a otra billetera (Jaxx), después de que Multibit mostrara mis transacciones como no confirmadas (durante 8 meses), por lo que no pude transferirlas a ningún otro lugar.

Debido a que las claves privadas y las direcciones se crean de manera determinista a partir de las palabras de su billetera, solo necesita mantener seguras las palabras de su billetera; no hay necesidad de exponer claves privadas individuales. Puede usar las palabras de su billetera para recrear su billetera en MultiBit HD (use el botón Restaurar en la pantalla 'Ingresar contraseña') o usando otras herramientas.

Por ejemplo, puede crear una copia fuera de línea de https://dcpos.github.io/bip39/ y crear todas sus direcciones/claves privadas si lo desea (utilice la pestaña BIP32).

No hay opción para exportar claves privadas en MultiBit HD porque las billeteras BIP32 crean direcciones de recepción y cambian direcciones a pedido. Exportar e importar claves privadas no le dará, en general, una billetera HD completa.

No es posible extraer claves privadas en MultiBit HD, pero ¿se puede hacer en otra aplicación?
En realidad, hay docenas de razones por las que necesitamos claves privadas para una sola dirección.
Esa página parece crear todas mis direcciones de recepción, pero no las direcciones de cambio.
¿Qué pasa cuando necesitamos acceder a nuestras claves privadas para una bifurcación dura?

ADVERTENCIA: Si bien esta respuesta puede ser una solución al problema de la pregunta, implica exponer su semilla de billetera a una herramienta en Internet. Tenga mucho cuidado al hacer esto, ya que

  1. ...simplemente ¡NO LO HAGAS!
  2. Ver 1.
  3. Probablemente no conozca lo suficientemente bien al tipo detrás de la página web como para confiarle sus preciados bitcoins.
  4. Incluso si lo hace, es posible que el sitio haya sido pirateado y las claves caigan en manos de personas malintencionadas que gastan sus bitcoins en segundos.

Aquí están mis notas sobre cómo recuperar/reconstruir/regenerar/extraer las direcciones y claves utilizadas por MultiBit HD:

  1. Vaya a https://iancoleman.github.io/bip39/
  2. En el campo "BIP39 Mnemonic" complete sus 12 palabras de generación de billetera
  3. Sin contraseña
  4. Moneda: Bitcoin
  5. En Ruta de derivación, seleccione la pestaña BIP32
  6. Ruta de derivación (copia y pega esto): m/0'/0
  7. Sus direcciones ahora se muestran al final de la página. Felicidad ;)

Restaure su billetera en electrum y luego utilícela para extraer las claves privadas. Para aprender cómo restaurar su billetera en electrum vea esta página

Si solo desea las claves privadas para direcciones específicas, muestre la pestaña de direcciones a través del menú Ver y luego haga clic derecho en cada dirección para obtener la opción de ver su clave privada. Si desea exportar todas las claves, use el menú de la billetera> claves privadas> exportar.

El enlace del video está muerto ahora.
@Manu lo editó con una guía textual en su lugar.