Posted on Leave a comment

Import verification of Coldcard seed and passphrase at Electrum and Wasabi

Wallet Bitcoin

Before providing funds to our hardware wallet Coldcard (CC) It is important to make sure that in the future whatever happens we will be able to recover them.

Over the years many situations can arise whereby we find ourselves in the position of having to recover these funds without having the hardware wallet (hww), such as losing it or it being damaged and not being manufactured anymore, either because that model does not exist or because the company has closed. To this day we do not know which companies will exist and which will not exist in 10 years, and although it was still alive, technology evolves very quickly and within a few years devices that are now in common use may not be available, such as microSD memory cards, microUSB connectors, internal battery… 

Therefore it is vitally important to verify that we are going to be able to access the private keys that our hww handles. In this post we will test to recover these private keys from the CC addresses in other wallets from the generated seed and the passphrase that we have put.

There is documentation on this on the Coldcard website on how to carry out this operation, but I think that this is well worth a practical exercise to verify that this is the case. There is also apage walletsrecovery. where they give very valuable information about the compatibility between the different wallets.

  • Turn on the Coldcard, for this we connect it to an external USB charger or an adapter connected to a socket, never charge it with the USB connector of the computer we must keep the Coldcard always offline.
  • Put the prepin and the pin, you have to write it down because the device will request it whenever you turn it on. Do not save them on any digital medium or on the Internet, you have to minimize the risks.
  • Updating the firmware is optional but recommended, we will not go into it.
  • Create the wallet

Option: New Wallet

  • Add the passphrase and write it down because it is not saved in the hww. Important, it must be entered every time the Coldcard is started and you want to operate with these addresses.

Option: Passphrase → Edit Phrase → APPLY → OK

When you start the HWW it will not warn you that you have to enter it and the menus they have do not help but if you forget to enter it you will end up operating with other different Bitcoin addresses.

Option: Passphrase → A very long explanatory text but that is important because it indicates the problem of not entering it → Edit Phrase, It is not the best text for this option since what you have to do is enter your Passphrase and not edit it and then → APPLY → OK

When choosing the passphrase it is important that it is very difficult to discover on this page “Can BIP-39 passphrase be cracked?” they tell you how secure your password is.

  • Visualize your identity. 

Option: Advanced → View Identity to ensure that everything has been done correctly, we can check the fingerprint and that the text “BIP30 passphrase is in effect” appears to ensure that we are working with our passphrase.

  • Enter a microSD and export master public key (xpub) for the Electrum wallets and Wasabi which is where in the future we could import them.

Option:

microSD → Export Wallet → Electrum wallet -> Native Segwit

microSD → Export Wallet → Wasabi wallet

  • Saving addresses on the microSD card.

Option: Advanced -> Address Explorer -> 4 -> Select format (1b…) 1 

Generate a file addresses.txt in the microSD with 256 addresses.

  • Import the xpub in the Electrum wallet. 

It is recommended to run it within a Tails and not connect it to the Internet, it is not necessary for what we are going to do.

Take out the microSD card and connect it to the computer where we have installed the Electrum and Wasabi wallets.

  • Now we are going to create a wallet in Electrum with the same seed and passphrase that we have introduced in Coldcard.

Option: File → New / Restore

We choose the Standard Wallet option

We open the file addresses.txt exported from the CC to verify that the addresses shown by Electrum and those of Coldcard are the same.

Now we will perform the same check on the wasabi wallet.

  • We retrieve in Wasabi the wallet

It is not necessary and it is recommended for this exercise not to have the Wasabi connected to the Internet.

Option: Recover Wallet and introduce the seed and the passphrase

  • We load the Wallet

Option: Load Wallet

In the info of the wallet explorer we can verify that the Extended Master Fingerprint that shows wasabi matches the one that appears in Coldcard

  • Generate some addresses

Option : Recive 

When you restart wasabi it already shows the addresses

AND they actually match.

If initially only the Public Key appeared and not the address, we could perform the conversion to check that they are the same.

Address and Public Key at Electrum.

With this we have verified that from the Coldcard seed and passphrase we can recover the private keys in another wallet.

To summarize what we have to save to ensure recovery would be: 

  • The seed
  • The passphrase 
  • The type of address that we used in our case Native SegWit (bech32) which is the only one compatible with wasabi
  • The derivation paths “m / 84 ‘ / 0 ‘/ 0’ / 0 / XXXX ” 
  • It is recommended to also save an image of the Operating System together with the software used by Electrum and Wasabi. 

Another possible option for recovering private keys from seed and passphrase is to use the iancoleman bip39 web tool that has a downloadable version and works offline.

Posted on Leave a comment

Verificación de la importación de la semilla y passphrase de Coldcard en Electrum y Wasabi

Wallet Bitcoin

Antes de proveer fondos a nuestro hardware wallet Coldcard (CC) es importante asegurarnos que en un futuro pase lo que pase vamos a poder recuperarlos.

Con el paso de los años se pueden dar muchas situaciones por las cuales nos encontremos en la tesitura de tener que recuperar estos fondos sin contar con el hardware wallet (hww), como puede ser perderlo o que se estropeé y que ya no lo fabriquen, ya sea porque ese modelo no existe o porque la empresa ha cerrado. A día de hoy no sabemos que empresas existirán y cuáles no dentro de 10 años, y aunque siguiese viva la tecnología evoluciona muy rápido y dentro de unos años dispositivos que ahora son de uso común podrían no estar disponibles, como las tarjetas de memoria microSD, los conectores microUSB, la batería interna… 

Por lo cual es de vital importancia verificar que vamos a ser capaces de acceder a las claves privadas que maneja nuestro hww. En este post haremos la prueba de recuperar estas claves privadas de las direcciones de CC en otros wallets a partir de la semilla generada y de la passphrase que hemos puesto.

Existe documentación al respecto en la web de Coldcard sobre cómo realizar esta operativa pero creo que esto bien merece un ejercicio práctico para verificar que es así, además existe una página walletsrecovery donde dan información muy valiosa sobre las compatibilidades entre los distintos wallets.

  • Encender la Coldcard, para ello la conectamos a un cargador externo de usb o a un adaptador conectado a un enchufe, nunca cargarla con el conector USB del ordenador debemos mantener la Coldcard siempre offline.
  • Poner el prepin y el pin, hay que apuntarlo porque el dispositivo te lo solicitará siempre que lo enciendas. No guardarlos en ningún medio digital, ni en Internet, hay que minimizar los riesgos.
  • Actualizar el firmware, es opcional pero recomendable, no vamos a entramos en ello.
  • Crear el wallet

Opción:  New Wallet

  • Añadir la passphrase y apuntarla porque no se guarda en el hww. Importante, hay introducirla cada vez que se arranca la Coldcard y se quiera operar con estas las direcciones.

Opción: Passphrase → Edit Phrase → APPLY → OK

Cuando inicies la HWW no te va avisar que tienes que introducirla y los menús que tienen no ayudan pero si se te olvida meterla acabarás operando con otras direcciones diferentes de Bitcoin.

Opción: Passphrase → Un texto explicativo muy largo pero que es importante porque te indica el problema de no introducirla  → Edit Phrase, No es el mejor texto para esta opción ya que lo que tienes hacer es meter tu Passphrase y no editarla y luego → APPLY → OK

A la hora de elegir la passphrase es importante que sea muy difícil de descubrir en esta página “Can BIP-39 passphrase be cracked?” te indican cuanto de segura es tu clave.

  • Visualizar tu identidad. 

Opción: Advanced → View Identity para asegurarnos que todo se ha realizado correctamente, podemos comprobar la fingerprint y que aparece el texto “BIP30 passphrase is in effect” para asegurar que se está trabajando con nuestra passphrase.

Opción:

microSD → Export Wallet → Electrum wallet -> Native Segwit

microSD → Export Wallet → Wasabi wallet

  • Guardado de las direcciones en la tarjeta microSD.

Opción: Advanced -> Address Explorer -> 4 -> Select formato (1b…) 1 

Genera un fichero addresses.txt en la microSD con 256 direcciones

  • Importar la xpub en el wallet de Electrum. 

Se recomienda ejecutarlo dentro de un Tails y no conectarlo a Internet, no es necesario para lo que vamos a realizar.

Sacar la tarjeta microSD y la conectamos en el ordenador donde tenemos instalados los wallets Electrum y Wasabi.

  • Ahora vamos a crear un wallet en Electrum con la misma semilla y passphrase que hemos introducido en Coldcard.

Opción: File → New/Restore

Elegimos la opción Standard Wallet

Abrimos el fichero addresses.txt exportado de la CC para verificar que las direcciones que muestra Electrum y las de Coldcard son iguales.

Ahora realizaremos la misma comprobación en el wallet wasabi.

  • Recuperamos en Wasabi el wallet

No es necesario y es recomendable para este ejercicio no tener el Wasabi conectado a Internet.

Opción: Recover Wallet e introducimos la semilla y la passphrase

  • Cargamos el Wallet

Opción: Load Wallet

En la info del wallet explorer podemos comprobar que la Extended Master Fingerprint que muestra wasabi coincide con la que aparece en Coldcard

  • Generar unas direcciones

Opción: Recive 

Al volver a iniciar wasabi ya muestra las direcciones

Y efectivamente coinciden.

Si inicialmente sólo nos apareciese la Public Key y no la dirección podríamos realizar la conversión para comprobar que son iguales.

Dirección y Public Key en Electrum.

Con esto hemos verificado que a partir de la semilla y la passphrase de Coldcard podemos recuperar las claves privadas en otro wallet.

A modo de resumen lo que tenemos que guardar para asegurarnos la recuperación sería: 

  • La semilla
  • La passphrase 
  • El tipo de dirección que hemos utilizado en nuestro caso Native SegWit (bech32) que es la única compatible con wasabi
  • Los paths de derivación “m/84’/0’/0’/0/XXXX” 
  • Es recomendable guardar también una imagen del Sistema Operativo junto con el software utilizado de Electrum y Wasabi.

Otra posible opción para la recuperación de las claves privadas a partir de la semilla y la passphrase es utilizar la herramienta web bip39 de iancoleman que tiene una versión descargable y que funciona off-line.

Enlace al artículo en Inglés “Import verification of Coldcard seed and passphrase at Electrum and Wasabi