Bitcoin Core es el software principal para interactuar con la blockchain de la primera criptomoneda. Se puede utilizar como servidor (un nodo) o como billetera. En los tiempos de Satoshi, Bitcoin Core era la única opción para almacenar BTC, pero con el tiempo han surgido muchas otras opciones para almacenar bitcoin. Sin embargo, si todavía usas Bitcoin Core a la antigua, debes saber que desde la versión 21.0 se han introducido las llamadas billeteras de descriptores, que pronto reemplazarán por completo al conocido wallet.dat.

El formato wallet.dat todavía es compatible con la última versión, Bitcoin Core 29.0, pero advierte que este formato para almacenar claves privadas ahora está obsoleto y, tarde o temprano, todo el mundo tendrá que cambiar al nuevo formato. Aunque inicialmente en 2021, cuando se lanzó la versión 21.0, los desarrolladores de Bitcoin Core planeaban realizar la transición completa a las billeteras de descriptores para 2023.

Entonces, ¿qué tiene de malo el wallet.dat que tuvo que ser reemplazado por un nuevo formato?

En el wallet.dat, se almacena una clave privada separada para cada dirección (billetera). Es decir, si usas varias direcciones de uno o varios estándares a la vez, se genera una clave privada separada para cada dirección. Por cierto, ya existen varios tipos de direcciones de Bitcoin: P2PKH, P2WPKH (bech32), P2SH (Segwit), P2WSH, P2TR (Taproot).

Por ejemplo, si envías parte de los fondos de tu billetera de Bitcoin, el cambio (las vueltas), por defecto, no volverá a la dirección original sino que se enviará a una nueva dirección, que también se almacena en tu wallet.dat. Y si no apuntaste la clave privada de esta nueva dirección con antelación, podrías perder el acceso a tus Bitcoins PARA SIEMPRE. Porque la clave privada que apuntaste solo te dará acceso a la billetera inicial, que ya estará vacía.

Precisamente por esto, mucha gente almacena no la clave privada, sino el archivo wallet.dat en sí con su contraseña para evitar encontrarse en tal situación.

Como puedes suponer, la billetera de descriptores resuelve este problema porque, al conocer un descriptor, puedes obtener acceso a todas las billeteras (direcciones) a la vez, independientemente de su formato. Esto simplifica enormemente la copia de seguridad y la recuperación de una billetera de Bitcoin.

Además de este problema apremiante, las billeteras de descriptores también permiten configurar contratos inteligentes usando scripts y crear billeteras BTC multifirma.

El comando importprivkey ya no funciona

Los usuarios de Bitcoin Core ya se enfrentan al problema de que el comando importprivkey para importar una clave privada a su billetera de Bitcoin Core ya no funciona, ya que este formato ya no es compatible. Para importar tu clave privada en versiones modernas de Bitcoin Core, necesitas usar comandos de descriptores:

 

Para legacy (P2PKH) formato: importdescriptors '[{ "desc":"pkh(PRIVATE_KEY)#CHECKSUM", "timestamp":0 }]'

Para Bech32 (Native SegWit) formato: importdescriptors '[{ "desc":"wpkh(PRIVATE_KEY)#CHECKSUM", "timestamp":0 }]'  

 

El CHECKSUM se genera usando el comando:

 

getdescriptorinfo

 

Puedes verificar qué billeteras se importaron usando el comando:

 

listreceivedbyaddress 1 true

 

El comando migratewallet

Si almacenaste el archivo wallet.dat en lugar de claves privadas individuales, puedes usar el comando

 

bitcoin-cli migratewallet ("new_wallet_name") (bech32)

 

Si tu wallet.dat está protegido con contraseña, primero debes desbloquearlo:

 

bitcoin-cli -rpcwallet=old_wallet walletpassphrase "your_password" 300

 

Con este único comando, todos tus fondos se transferirán a una nueva dirección en formato bech32 (que comienza con bc1q), y deberás pagar una tarifa de red por esta transferencia.

Después de migrar a una billetera de descriptores, el archivo wallet.dat se renombra a wallet.dat.bak.

Conclusión: El desarrollo de Bitcoin no se detiene, como podría parecer a primera vista, y a veces las innovaciones afectan incluso cosas tan básicas como el método de almacenar claves privadas, lo cual es importante que conozca todo el que use Bitcoin Core como billetera. La decisión de cambiar ahora a una billetera de descriptores depende de ti, ya que todos los fondos se transferirán a una dirección en formato Bech32, que algunas billeteras, servicios o exchanges podrían no soportar todavía.

Para los nuevos usuarios, recomendamos usar el nuevo formato de almacenamiento de claves privadas directamente, pero también es esencial entender cómo funciona el formato de billetera Legacy.