¿Generar direcciones sobre la marcha o pregenerar y almacenar la clave pública?

Al ejecutar un servicio que necesita una dirección de bitcoin, ¿sería mejor generar una nueva dirección para usar en ese momento y almacenar la clave privada en su servidor, o sería mejor generar previamente, digamos, un millón de direcciones y tener la clave privada? direcciones ya almacenadas sin conexión?

El último se combinaría con una opción de respaldo para generar sobre la marcha si su grupo de direcciones se agotara.

Respuestas (2)

Para responder a esta pregunta con precisión, realmente necesitamos saber más acerca de cómo se utilizarán estas nuevas direcciones en su servicio.

Si estas direcciones recién generadas van a ser "solo para depósito", es decir, siempre que no necesite enviar monedas desde estas direcciones, entonces la opción más segura es generar las direcciones fuera de línea y conservar las claves privadas. desconectado. Esto es bastante obvio: las billeteras frías casi siempre son más seguras que las billeteras calientes.

Desafortunadamente, la mayoría de los servicios necesitarán acceder a las claves privadas de las direcciones recién generadas por alguna razón , aunque solo sea para enviar los Bitcoins recibidos a otra billetera. En este caso, la siguiente mejor opción es mantener un saldo lo más bajo posible en estas direcciones. Es decir, tan pronto como reciban monedas, reenvíen el saldo lo antes posible a una dirección que esté almacenada en una billetera segura fuera de línea.

Si puede limitarse a usar solo direcciones generadas previamente para recibir pagos de Bitcoin, entonces esa opción es claramente preferible porque reduce significativamente los requisitos de seguridad de su servidor, de tener que proteger un secreto a tener que protegerse contra la inyección de direcciones de Bitcoin falsas. Incluso si su servicio implica algo más que recibir pagos de Bitcoin, manejar solo las direcciones de Bitcoin es la opción más segura para sus servidores web. Por supuesto, solo cambia el desafío de manejar de manera segura las billeteras asociadas, pero le permite separar esta tarea y, por lo tanto, le brinda más flexibilidad. Por ejemplo, puede encontrar una forma particularmente económica de ejecutar un servidor de manejo de bitcoins en sus propias instalaciones pero sin la conectividad para actuar como servidor web.

Si desea obtener este beneficio de seguridad, entonces no debe volver a generar nuevas direcciones en un servidor destinado a no manejar billeteras. En su lugar, deberá limitar su uso de manera que no se agoten antes de que pueda reponerlos. Una opción, por supuesto, es generar previamente una gran cantidad de direcciones de Bitcoin de modo que apenas se requiera una limitación de velocidad para evitar que se quede sin direcciones.