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 hex → bitcoin-cli sendrawtransaction #x27HEX#x27
Con Electrum:
Archivo → Cargar Transacción → Finalizar y transmitir.
Tabla resumen de comandos
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.