Firmar transacciones PSBT con hardware wallet: paso a paso:


Introducción

Las transacciones PSBT (Partially Signed Bitcoin Transactions) permiten crear, firmar y transmitir transacciones de forma segura con una hardware wallet. En este artículo detallado y muy específico describiremos paso a paso cómo generar, firmar y difundir una PSBT usando un dispositivo de hardware, minimizando riesgos y aprovechando las mejores prácticas.

Requisitos previos

Una hardware wallet actualizada (por ejemplo, Ledger Nano S, Ledger Nano X, Trezor Model T o Coldcard).

Un equipo con acceso a internet con software compatible (Electrum, HWI, Bitcoin Core).

El firmware de la wallet revisado y autenticado.

Conocimientos básicos de línea de comandos y gestión de claves públicas/privadas.

Paso 1: Generar la PSBT

Con tu cliente favorito (Electrum o Bitcoin Core) crea una PSBT que incluya las entradas (UTXOs) y salidas deseadas.

Con Bitcoin Core:

bitcoin-cli walletcreatefundedpsbt [] [{quotaddressquot:quotmi_direccionquot,quotamountquot:0.001}] 0 false []

Con Electrum:

Archivo → Nuevo/Restaurar → Crear Transacción → Exportar PSBT

Paso 2: Cargar la PSBT en la hardware wallet

Transfiere el archivo PSBT (.psbt) a la wallet vía USB o QR según tu modelo:

Ledger (Electrum Plugin HWI): hwi -r ledger enumerate seguido de hwi -r ledger signtx archivo.psbt.

Trezor (Electrum integrado): Importar PSBT en Electrum y seleccionar Trezor como dispositivo.

Coldcard: copiar archivo a tarjeta SD y usar la opción Sign PSBT en el menú.

Paso 3: Firmar la PSBT

En la pantalla de tu hardware wallet revisa cada detalle:

Entradas (direcciones previas y montos).

Salidas (destino y cambio).

Comisión de la transacción.

Confirma en la wallet y espera el mensaje de operación completada. El dispositivo añadirá tu firma en la PSBT.

Paso 4: Exportar la PSBT firmada

Una vez firmado, obtén el archivo PSBT actualizado:

Ledger/Trezor con HWI: el comando hwi signtx guarda automáticamente el archivo firmado.

Coldcard: extrae la tarjeta SD y copia signed.psbt.

Paso 5: Transmitir la transacción

Convierte la PSBT firmada en una transacción RAW y envíala a la red:

Con Bitcoin Core:

bitcoin-cli finalizepsbt signed.psbt → copiar hexbitcoin-cli sendrawtransaction #x27HEX#x27

Con Electrum:

Archivo → Cargar Transacción → Finalizar y transmitir.

Tabla resumen de comandos

Paso Cliente Comando / Acción

1 Bitcoin Core walletcreatefundedpsbt …

2 HWI Ledger hwi signtx archivo.psbt

3 Hardware Wallet Confirmar en pantalla

4 Coldcard Extraer signed.psbt

5 Bitcoin Core sendrawtransaction …

Consideraciones de seguridad

Mantén tu firmware siempre actualizado y verifica la integridad.

Trabaja en un entorno libre de malware y con conexión segura.

Verifica direcciones en pantalla del dispositivo antes de confirmar.

Utiliza carteras multifirma (multisig) para aumentar la resistencia a fallos.

Ejemplo práctico con Ledger Nano S

Instalar app de Bitcoin en Ledger Live.

Conectar dispositivo y desbloquear PIN.

Ejecutar hwi -r ledger signtx tx.psbt en el host.

Confirmar datos en pantalla y extraer signed.psbt.

Ejemplo práctico con Trezor Model T

Instalar Trezor Suite o usar Electrum.

Conectar y desbloquear con PIN/Passphrase.

Importar PSBT y revisar en la pantalla táctil.

Firmar y exportar transacción finalizada.

Conclusión

Firmar transacciones PSBT con una hardware wallet es un proceso seguro y transparente si se siguen estos pasos. La clave está en generar correctamente la PSBT, verificar todos los datos en el dispositivo y transmitir solo la versión final firmada. Para más información consulta la documentación oficial de tu wallet o visita HWI en GitHub.

Leave a Reply

Your email address will not be published. Required fields are marked *