Cómo configurar un Trezor sin poner en riesgo la privacidad de tus fondos

P_Hold
10 min readJan 24, 2020

--

Configuración en Ubuntu. Editado 15/03/2022

En vista de los últimos acontecimientos referentes a la billetera Wasabi Wallet, es mi responsabilidad eliminar la recomendación de utilizar Wasabi wallet como interfaz de un Trezor, sobre todo por temas de privacidad, lamento haber dado esa recomendación en el pasado. La mejor solución es usar un nodo propio o un servidor Electrum (EPS/Electrs/Electrumx) para usar Sparrow Wallet o Electrum wallet como interfaz de dispositivo Trezor. Si bien nunca fue mi recomendacion usar el Coinjoin de Wasabi wallet, me parece que es pertinente eliminar cualquier posibilidad de confusión por parte de los lectores. NO RECOMIENDO USAR WASABI WALLET BAJO NINGUNA CAUSA***

Los usuarios adquieren una hardware wallet (hww) para guardar bitcoins y agregar una capa de protección a sus llaves privadas, utilizarlas es en general una buena decisión; estos dispositivos si son adecuadamente configurados presentan un gran reto para terceros que quieran robar criptomonedas ajenas.

Se le dice a los usuarios de hww que pueden estar tranquilos si mantienen seguras las palabras semillas y que la hww se encargará de mantener en resguardo las llaves privadas, pero, y las Xpub? pueden sentirse seguros los usuarios si revelan cuantos fondos manejan en sus hww?. Revelar la información contenida en los Xpub no es lo ideal, representa un riesgo de pérdida de privacidad y por tanto de seguridad.

En este artículo/tutorial encontraras:

  1. Qué es una Xpub.
  2. Riesgo de usar las Webwallet para configurar un hww.
  3. Cómo configurar tu hww sin poner en riesgo la privacidad de tus fondos en criptomonedas.

Un Xpub no contiene información sobre tus claves privadas, sino sobre tus direcciones públicas, es decir, un Xpub no le dará a nadie acceso a tus fondos, pero se puede usar para ver todas las direcciones, transacciones y saldos de tu wallet. Aunque el Xpub no brinda habilidades para gastar, solo la posibilidad de ver, es riesgoso compartirlas con cualquiera debido a la pérdida de privacidad.

Cuando compras un hww tu intención es proteger tus llaves privadas, después de adquirirla verás cientos de videos en YouTube de cómo se debe configurar, en todos esos videos sucede lo mismo, el youtuber va al enlace de la página web oficial del dispositivo, descarga un archivo que le permite a la WebWallet reconocer el dispositivo, conecta la hww y luego automáticamente le piden cargar un firmware y generar una nueva wallet. Simple verdad?. Ahora te sientes seguro, cargas tus monedas en la hww y la volverás a conectar solo si necesitas gastar o cuando se emita un nuevo firmware.

Lo que no te dicen en esos videos es que al tratar de configurar por primera vez tu Trezor o al cargar una actualización de firmware estás entregando a los servidores de la WebWallet la información contenida en tus Xpub, es decir, le dices a los servidores de TrezorWeb cuantas monedas tienes en cada una de tus direcciones públicas. Si te siente tranquilo con esta pérdida de privacidad puedes parar aquí la lectura, ahora, si no te sientes cómodo con esa fuga de información este artículo/tutorial es para ti.

Si tienes un Trezor o estás pensando comprar uno debes saber que existe una forma más segura de configurar y/o de actualizar los firmware de tu dispositivo (Usando el manual de usuario avanzado del fabricante Satoshi Labs); con esta guía obtendrás el mismo resultado que buscas al conectar tu Trezor a TrezorWeb (Configuración adecuada para usar el dispositivo) sin fugar información sensible (Xpub).

Usar Comandos Trezorctl para configurar dispositivos Trezor (en Linux Ubuntu)

Los comandos de Trezorctl son herramientas escritas en lenguaje de programación Python que se pueden usar con los dispositivos Trezor usando líneas de comandos.

Al usar estas herramientas para la configuración inicial y las posteriores actualizaciones de firmware de los dispositivos Trezor evitas filtrar a los servidores de Trezor(.)web las Xpub de tus wallets.

Advertencia: Estos comandos son para usuarios avanzados. Úselos con precaución.

Instalación de Trezorctl en Windows: Aquí.

Con estos comandos lográras:

  1. Verificar conexión del dispositivo.
  2. Cargar o Actualizar el firmware.

3. Borrar el Dispositivo Trezor.

Para verificar/aplicar los comandos Trezorctl ir a la fuente oficial:

Consideraciones:

Usa este documento como una guía básica

El resto de configuraciones necesarias para usar tu Trezor se pueden realizar con ElectrumWallet en modo off-line como interfaz .

los comandos aplican para el Trezor One y para el Trezor T con las diferencias propias de cada dispositivo, en este caso se usara un Trezor One.

Requerimientos previos

Instalar python-trezor.

Lo que tendrás que hacer es abrir la terminal de línea de comando, copiar los comandos, luego pegarlos en la terminal y enter.

Python-trezor requiere Python 3.5. La forma más fácil de instalar python-trezor es con pip. de la siguiente forma:

1. Actualizar repositorios, instalar dependencias.

Abrir terminal y colocar el siguiente comando:

sudo apt update && sudo apt install -y python3-pip python3-dev libusb-1.0-0-dev libudev-dev

Ten en cuenta que las bibliotecas libusb y libdev no son necesarias si utilizas Trezor Bridge

2. Instala setuptool y wheel con el siguiente comando:

pip3 install setuptools wheel

3. instala python-trezor con el siguiente comando:

pip3 install trezor

4. Actualiza tu $ PATH ejecutando el siguiente comando:

source .profile

5. Debes configurar en tu sistemas las reglas Udev; esto puede hacerse de dos maneras:

a) Instalando Trezor Bridge a través de Trezor web

o

b) Configurando Udev rules

Ahora puedes usar las herramientas de Phython para cambiar la configuración en el dispositivo Trezor, actualizar el firmware y muchas otras cosas más.

Siempre puedes consultar la última versión de python-trezor en esta página:

Para actualizar tu versión Python-trezor, ejecutas:

pip3 install -U trezor

Configuración del dispositivo trezor mediante uso de Comandos

1. Verificar conexión del dispositivo.

Descripción: Este comando envía un mensaje de ping al dispositivo para verificar si la comunicación entre la PC/Laptop y el dispositivo funciona.

Aplicar comando: Conectar el Trezor, Abrir el terminal y ejecutar el comando:

trezorctl ping "ahoy!"

Si la conexión no es correcta verás el siguiente mensaje:

Si la conexión es correcta verás el siguiente mensaje:

El comando es útil para garantizar que el resto de comandos que ejecutes para configurar el trezor estén siendo reconocidos por el dispositivo.

2. Carga o Actualización de Firmware.

Descripción: Este comando instala en el dispositivo Trezor el firmware seleccionado, el dispositivo debe estar en “bootloader modo” (modo de cargador de arranque).

Nota: Para colocar el Trezor en bootloader modo debes mantener presionado los dos botones del Trezor One al ser conectado.

Procedimiento:

Desconecta tu trezor, a continuación debes obtener el archivo .bin correspondiente al último firmware lanzado por los desarrolladores de Trezor.

Puedes instalar una versión específica del firmware (archivo .bin) descargándolo desde este enlace de GitHub

A continuación verás lo siguiente:

La carpeta 1 contiene archivos para Trezor One.

La carpeta 2 contiene archivos para Trezor Model T.

Para acceder a los archivos .bin que contienen los firmware has click sobre el número al lado del símbolo de la carpeta (en “1” para Trezor ONE y en “2” para el Trezor T) y debes seleccionar el último firmware liberado.

Para Trezor ONE

Para Trezor T

En este caso se usó trezor-1.8.0.bin para Trezor one, debes eligir la última actualización disponible y hacer clink en download

Una vez descargado el archivo .bin es momento de conectar tu Trezor en “bootloader modo” (en el caso del trezor one mantén presionados ambos botones al conectarlo a la Pc o laptop) y aplica el siguiente comando:

trezorctl firmware-update -f #ubicación#/trezor-1.8.0.bin

Nota: El comando lo debes aplicar estableciendo la ruta exacta donde fue alojado el archivo .bin que has descargado (carpeta padre), solo debes sustituir el texto #ubicación# por la dirección exacta, si no entregas la ruta exacta se activara un alarma de error de compatibilidad.

Una vez aplicado el comando observaras algo así:

La ruta donde se descargó en este caso el archivo del frimware fue: /home/peter/Descarga/trezor-1.8.0.bin

El dispositivo Trezor te pedirá confirmar la acción, “NO CONFIRMAR AUN”, debes hacer una verificación previa:

Antes de confirmar la instalación del firware en el dispositivo debes verificar que el fingerprint en la línea de comandos coincida con el otorgado por el desarrollador de trezor.

Debes ir a la siguiente página y hacer click sobre en firmware: add según la versión del firmware que quieras utilizar.

Obtendrás el siguiente texto:

El fingerprint debe coincidir con el que está mostrando la terminal de comandos

Si los fingerprint coinciden puedes confirmar la acción de instalar el firmware en el dispositivo trezor pulsando en “confirmar”.

listo! tu dispositivo Trezor ha quedado con el firmware actualizado y disponible para usar.

Desconecta y vuelve a conectar tu Trezor, ahora puedes generar tu wallet o abrir la ya existente.

No uses Trezo(.)web para generar o abrir tus wallet si te preocupa filtrar tus Xpub a sus servidores.

Es recomendable utilizar ElectrumWallet en modo off-line como interfaz para realizar el resto de la configuración de tu dispositivo Trezor, si descargas Electrum recuerda verificar firmas y quitar el acceso a internet antes de abrirla para asi evitar que se conecte con servidores de terceros mientras generas la seed (Palabras semillas).

Si no cuentas con un servidor electrum propio es recomendable ***usar Wasabi Wallet como interfaz para gestionar los fondos que mantienes en tu Trezor, Wasabi corre por defecto bajo Tor y tiene la tecnología de Filtros compactos para el cálculo de los fondos lo que aporta privacidad***, debes tener en cuenta que con Wasabi solo puedes usar direcciones SegWit Native (bc1) y que las passphrase deben escribirse en el propio dispositivo Trezor (Funcional para el Trezor T) en el caso del Trezor One solo se conectara con wasabi si no tiene habilitada la passphrase****.

Adicionalmente, siempre podras restablecer tu dispositivo trezor a los valores de fabrica en caso de ser necesario. Antes de borrar el dispositivo asegurate de tener un respaldo de todas tus palabras semillas.

3. Borrar el Dispositivo Trezor.

Descripción: Este comando restablece el dispositivo Trezor a los valores de fábrica y elimina todos los datos privados.

Alerta: Antes de ejecutar el comando debes asegurarte de tener un respaldo de tus palabras semillas.

Aplicar comando: Conecta el trezor, abre el terminal y ejecuta el siguiente comando:

trezorctl wipe-device

Una vez aplicado el comando verás lo siguiente en el terminal:

Te pedirá que confirmes la acción (Borrado) en el dispositivo Trezor:

Confirma la acción en el dispositivo y verás lo suguiente en el terminal de comandos:

Device wiped

Listo! tu dispositivo Trezor ha quedado limpio, y con la configuración de fábrica.

No Confíes, Verifica

Si este artículo/tutorial te ayudó, sientes que has aprendido algo nuevo y quieres apoyar mi trabajo en temas de “Seguridad y Privacidad en el uso de Bitcoin” puedes hacer una libre aportación en cualquiera de los siguientes enlaces:

Para Onchain. puedes hacerlo desde Samourai wallet o mejor con Sparrow Wallet (te costara solo 546 sats la tx de notificacion y luego puedes enviar de manera privada cada vez que quieras). Gracias!!!

Agradecimientos a:

Arkad, por tener la idea de hacer este artículo/tutorial y por invitarme a unirme a Medium Medium en español.

@Alberto: Por sugerirme cambiar a UBUNTU, por todo el apoyo y las enseñanzas.

Gracias.

--

--

P_Hold

Aprender y enseñar sobre Bitcoin son de las actividades que más disfruto. Only-bitcoin.