He estado jugando con la aplicación Pycoin de Richard Kiss, que aclara cómo funciona P2PK. Veo que el hash160 del valor: (0x04) (x-coordinate) (y-coordinate)
(para una clave privada de Testnet sin comprimir en este caso) da un valor hash160 que se usa para probar la propiedad de la clave privada.
¿Cómo es esto perjudicial para la reutilización de claves privadas si no hay problema con que los PRNG proporcionen baja entropía? Entiendo cómo se explotó el error de Android (hasta cierto punto, reutilizó "valores aleatorios"), pero no entiendo por qué solo compartir el hash160 en una sola transacción puede ser maliciosamente explotado. Para aclarar, no estoy hablando de problemas de privacidad relacionados con el seguimiento de direcciones a través de Blockchain.
EDITAR: Las vulnerabilidades en cuestión (como se especifica en la respuesta están relacionadas con la computación cuántica y/o las debilidades de EDCSA, ninguna de las cuales existe)
El posible problema de seguridad es que una clave pública EC podría algún día ser reversible en una clave privada usando (por ejemplo) el algoritmo de Shor[1]. Esto no se aplica a un hash de una clave pública (también conocida como dirección).
Dado que la clave pública de una dirección de Bitcoin se revela en el primer gasto de transacción desde esa dirección, se considera una mala práctica reutilizar esa dirección (también por razones de privacidad)
Si sus PRNG son buenos, no pierde seguridad al usar la misma dirección varias veces. Algunos sitios web afirman que las direcciones no deben reutilizarse porque eso hará que sus bitcoins sean vulnerables a las computadoras cuánticas y/o algunas debilidades recién descubiertas en ECDSA. Sin embargo, estos dos escenarios son poco realistas en este momento, y creo que si se vuelven realistas, será un problema tan grande para la criptografía mundial que no serás la primera víctima (a menos que seas Satoshi Nakamoto).
Nate Eldredge
mago de ozzie