¿Puede recuperar fondos enviados a una dirección heredada creada con una clave privada extendida de Segwit importada en Mycelium desde un Ledger Nano S?

Importé una clave segwit xpub6 en Mycelium como una dirección de solo reloj. Solo muestra la dirección que comienza con 1 en lugar de 3, lo cual tiene sentido. Recuperé una pequeña cantidad en la dirección heredada y aparece en Mycelium y en los exploradores de bloques.

Pero como una dirección de solo reloj, no puedo tocarla en Mycelium, pero no aparece en mis aplicaciones de Ledger, ya que solo muestran las direcciones de Segwit.

Entonces, ¿hay alguna forma de volver a tocar esos fondos?

Encontré muchos comentarios sobre el envío de fondos de una dirección no segwit a segwit, pero nada sobre este interesante problema.

Tengo que agregar algo de información: - cuando obtengo la clave pública extendida de la cuenta de otras billeteras pero las billeteras Ledger obtengo una dirección ypub6, que también aparece cuando escribo mi clave mnemotécnica en iancoleman.io (convertidor de código mnemotécnico ) - técnicamente no debería haber podido importar una clave pública BIP49 en una billetera no segwit. ¿De dónde proviene la clave xpub6 en el sistema de Ledger cuando usa su cuenta Segwit (muestra la clave xpub6 correcta cuando uso la cuenta heredada)

Bienvenido @Letatcest, si resolvió su problema, debe publicarlo como respuesta para que no parezca una pregunta larga.
Ah, lo siento mucho, pensé en eso en primer lugar, lo cambié más tarde. ¡Lo haré!

Respuestas (1)

De hecho descubrí la respuesta:

La respuesta se describe en Reddit: https://www.reddit.com/r/ledgerwallet/comments/7d39pu/legacy_to_segwit_wallet_transfer_nightmare/

Pero si esa respuesta alguna vez se perdiera, un resumen:

Aparentemente, las direcciones segwit xpub no son un buen matrimonio (todavía). La billetera Mycelium importa la dirección xpub que genera la billetera Ledger Segwit, pero crea direcciones heredadas a partir de la clave. Como Mycelium es solo para ver, ya no puede enviar sus fondos ya que la dirección de bitcoin heredada no aparece en una billetera habilitada para segwit, por lo que desea la clave privada que firma para la dirección de bitcoin heredada pública. Eso es lo que tienes que saber: encuentra la clave pública que se codifica en la dirección pública de bitcoin.

La clave pública (no la dirección de bitcoin) es la misma para la dirección que aparece como dirección heredada y la dirección de segwit. Cuando elija la ruta de derivación correcta, verá que la dirección comienza con un 1 y verá la clave pública al lado. Esa última parte, saber dónde buscar, no es muy sencilla para n00bs como yo. Esa clave pública se corresponde con una dirección de segwit, comenzando con un 3. Y al lado de la dirección de segwit encontrarás la clave privada. Después de importar la clave privada en una billetera como Electrum, puede mover sus fondos a una dirección de segwit normal.

Entonces, Mycelium usa la ruta m/44'/0'/0'/x, que es BIP44, y una dirección SegWit usa BIP49 (m/49/etc)

Si se trata de una gran cantidad de fondos, intente hacer todo lo que pueda fuera de línea, pero el consejo es crear una nueva semilla para su libro mayor y transferir todos los fondos de todas las monedas a la nueva semilla. Después de que haya hecho eso, jugar con sus claves privadas de sus antiguas semillas no hace daño ya que los saldos son cero (excepto para esa dirección)

Ahora, vaya y busque una herramienta BIP39, como: https://iancoleman.io/bip39/ (también puede usarla sin conexión)

Copie la dirección xpub que obtuvo en la sección SegWit de su billetera Ledger Bitcoin y copie la dirección en la herramienta. ¡Asegúrese de seleccionar la ruta de derivación BIP32! Deje Cliente en Aduana y ruta de derivación en m/0.

Pegue su clave xpub en el campo Clave raíz BIP32. En la parte inferior de la pantalla, verá una lista con Direcciones derivadas.

Regrese a su instalación de Mycelium y verifique qué dirección se usó para la transacción (o pegue la clave xpub en un explorador de bloques). En mi caso fue el primero. En el lado derecho de la dirección que comienza con 1 está la clave pública. Copie la clave pública en el bloc de notas o gedit o algo así. La parte de la clave privada está vacía (tiene sentido, todo lo que hemos hecho es con claves públicas, ¡no hay opción para derivar una clave privada de eso!)

Ahora, elimine la clave raíz y vaya a la pestaña BIP49. Pegue su semilla mnemotécnica en el campo mnemotécnico BIP39. Sus 24 palabras en el orden correcto, separadas solo por un espacio, deberían derivar en una nueva lista de direcciones.

Si se hace correctamente, debe haber una clave pública junto a la lista de direcciones públicas que comience con un 3 que corresponda con la clave pública que acaba de copiar en su gedit. Junto a la clave Pub está la clave privada (¡sí!) y ahora puede importar esa clave en una billetera que admita la importación de priv. claves y finalmente puede enviar sus fondos a una nueva dirección de bitcoin, preferiblemente una a la que pueda comunicarse;)

En Electrum, puede importar fácilmente claves privadas, crear una nueva billetera, seleccionar 'importar direcciones de bitcoin o claves privadas' en la primera pantalla del asistente, pegar el archivo priv. clave y ahí está!

¡Gracias de nuevo, usuario stiVal en Reddit! :)