Conjuntos de claves y mejores prácticas

Me pregunto cuáles son las mejores prácticas para generar y mantener conjuntos de claves para una billetera.

  • ¿Cuál es la cantidad máxima de claves/direcciones que se pueden crear para una sola billetera? Expresado de otra manera, ¿cuál es el valor más grande que se puede poner con seguridad para la keypoolopción en bitcoin.conf?

  • Si genero algunas claves bitcoind keypoolrefill, luego genero algunas direcciones nuevas y luego keypoolrefillvuelvo a llamar, ¿seguirán funcionando las direcciones originales y mi clave privada ahora funcionará para todas las direcciones que he creado?

  • ¿Hay alguna forma de determinar cuántas claves quedan en el conjunto de claves actual?

  • La documentación de Bitcoin dice que esta función se está eliminando activamente. ¿Cuándo sucederá esto y cuál será el nuevo sistema?

    Este tipo de billetera se está eliminando gradualmente y se desaconseja su uso debido a la molestia de la copia de seguridad.

Las respuestas a cualquiera de estas preguntas son muy apreciadas.


Gavin Andresen (Científico Jefe de Bitcoin) tiene que decir sobre el tema :

Realice una copia de seguridad cada 30 envíos a una dirección o genere una nueva dirección y estará bien; siempre debe tener al menos 3 copias de seguridad de todas sus claves.

Si está ejecutando un servicio muy ocupado, por lo que hacer una copia de seguridad cada 30 es demasiado frecuente, ejecute con -keypool=1000 y haga una copia de seguridad al menos cada 300 envíos/generaciones.

El nuevo sistema es Carteras Jerárquicas Deterministas, BIP 32 .

Respuestas (1)

¿Cuál es la cantidad máxima de claves/direcciones que se pueden crear para una sola billetera? Expresado de otra manera, ¿cuál es el valor más grande que se puede poner con seguridad para la keypoolopción en bitcoin.conf?

El tipo de ese parámetro es int64_tpor lo que el valor máximo es 2^(64-1)-1. En la práctica, puede poner cualquier número que desee y no debería hacer que el software se rompa. Sin embargo, tener muchas claves (cientos de miles) dará como resultado una billetera muy grande y potencialmente ralentizará la fase de carga de la billetera.

Si genero algunas claves bitcoind keypoolrefill, luego genero algunas direcciones nuevas y luego keypoolrefillvuelvo a llamar, ¿seguirán funcionando las direcciones originales ?

Sí. Todo se almacena en la billetera y las claves nunca se eliminan.

¿Y mi clave privada ahora funcionará para todas las direcciones que he creado?

Así no es como funcionan las claves privadas. Cada dirección tiene una clave privada, por lo que si tiene una clave privada, corresponde a una dirección. Cada dirección que se genera en el conjunto de claves tendrá su propia clave privada que se almacena en el archivo de cartera.

¿Hay alguna forma de determinar cuántas claves quedan en el conjunto de claves actual?

bitcoin-cli getwalletinfole dirá cuántas claves quedan en el grupo de claves. El conjunto de claves se recarga automáticamente cuando su billetera está desbloqueada.

La documentación de Bitcoin dice que esta función se está eliminando activamente. ¿Cuándo sucederá esto y cuál será el nuevo sistema?

Este sistema con el conjunto de claves todavía está en uso y aún se recomienda hacer copias de seguridad periódicas ya que la billetera contiene datos de transacciones que no están respaldados por billeteras deterministas. El "nuevo sistema" consiste en utilizar la derivación de clave determinista jerárquica BIP 32 en lugar de claves privadas generadas aleatoriamente. Primero se genera aleatoriamente una semilla y luego todas las claves privadas se derivan de esa semilla. Esto significa que solo se necesita una copia de seguridad para hacer una copia de seguridad de todas sus claves privadas, pero aún se recomiendan copias de seguridad periódicas como se indicó anteriormente.

Esta función se agregó a Bitcoin Core en Bitcoin Core 0.13.0. La mayoría de las otras billeteras modernas usan billeteras BIP 32 HD.