¿Por qué está mal visto reutilizar las claves privadas de bitcoin? [duplicar]

Hasta ahora, he entendido que reutilizar una clave privada para enviarla no es bueno debido a que expone su privacidad.

Sé que la reutilización de claves está mal vista, pero nunca entendí realmente por qué. Aparte del aspecto de la privacidad, ¿qué otros problemas debo tener en cuenta debido a la reutilización de claves?

Respuestas (1)

Cada clave privada está vinculada a una dirección. Se usa una clave privada para generar una clave pública correspondiente, y esa clave pública se usa para generar una dirección. Debido a que Bitcoin admite formatos de clave pública comprimida y sin comprimir, cada clave privada en realidad puede generar dos direcciones diferentes (sin embargo, debería verlas como la misma dirección, ya que son codificaciones diferentes del mismo par de claves).

La reutilización de claves privadas es lo mismo que la reutilización de direcciones y, por lo tanto, conlleva todas las implicaciones de privacidad que conlleva la reutilización de direcciones. Alguien que observe la cadena de bloques podrá asociar sus direcciones con otras direcciones y luego podrá usar fuentes de datos de terceros para obtener información sobre cómo obtiene y gasta su dinero.

El otro problema es el potencial de futuras vulnerabilidades criptográficas. Cuando gasta dinero desde una dirección, está revelando públicamente la parte de clave pública del par de claves. Esta clave pública se puede convertir fácilmente en su forma comprimida o sin comprimir (dependiendo de cuál sea), y la otra dirección que genera ahora también se puede asociar. También abre la posibilidad de que alguien pueda intentar derivar la clave privada de la clave pública. Si bien no se conocen ataques al cifrado de curva elíptica secp256k1 que utiliza Bitcoin, las direcciones aún brindan un nivel de protección incluso si se encuentra una vulnerabilidad. Las direcciones se generan a partir de hashes criptográficos de la clave pública (con algunas sumas de verificación agregadas para evitar errores tipográficos al gastar) y, por lo tanto, es imposible obtener incluso elclave pública del par de claves de una dirección. Una vez que gasta desde esa dirección y revela la clave pública, ya no le importa si alguien descifra esa clave. No lo volverás a usar.

También está el caso de la sencillez. Las direcciones son muy fáciles de generar y no corremos el peligro de "quedarnos sin". Yo diría que un sistema que reutiliza direcciones puede resultar más complicado que un sistema que simplemente genera y almacena una nueva cuando es necesario. Las billeteras deterministas han hecho esto aún más simple, donde un solo valor inicial puede usarse para restaurar una billetera completa de claves privadas.

Entonces, la principal preocupación, aparte del aspecto de la privacidad, es revelar la clave pública una vez que realiza una transacción con la clave privada.
Eso, y realmente no hay razón para reutilizar. No te aporta nada.