¿Bitcoin seguro si ECDSA está roto?

He leído que una de las razones para usar una nueva dirección para cada transacción es porque oculta la clave pública detrás de un hash, por lo que incluso si ECDSA está roto y alguien puede derivar mi clave privada de mi clave pública, sería imposible gastar el resultado de la transacción, ya que necesitarían poder no solo revertir el hash sino también revertirlo en una clave pública válida. Suponiendo que eso sea imposible, y suponiendo que las personas usen una nueva dirección para cada transacción, ¿cuáles serían las implicaciones de seguridad completas para bitcoin si se rompiera ECDSA? ¿Cuánta protección brinda el hash de la clave pública contra los ataques de ECDSA rota?

Respuestas (1)

Primero, si ECDSA estuviera roto, muchas otras cosas estarían rotas, como ssh, https y muchas otras cosas, incluidos los sitios web bancarios.

En segundo lugar, si nadie reutilizara las direcciones, entonces sí, bitcoin estaría protegido por SHA256 y RIPEMD160. Actualmente no existe una forma conocida de obtener una preimagen de un hash utilizado por cualquiera de esas funciones para que su bitcoin esté seguro. Nuevamente, esto supone que nadie reutiliza las direcciones.

En cuanto a cuánta protección brinda esto, es difícil de decir porque depende del exploit utilizado para romper ECDSA.

Supongo que solo estoy preguntando, ¿hay otras cosas para las que se usa ECDSA en la red donde no está protegido por un hash?
Además, creo que te equivocas... la persona que me envió la transacción conoce mi clave pública, por lo que si ECDSA no funciona, podrían enviarse los bitcoins a sí mismos después de que les haya prestado un servicio o les haya dado un producto.
No, no hay otras cosas que usen ECDSA excepto la firma. Y no, la persona que le envía la transacción NO conoce la clave pública a menos que se lo diga fuera de banda. Solo conocen el hash160 de la clave pública, que está codificado en su dirección de bitcoin.
¡Oh, es cierto! Entonces, ¿cuál es el punto de la firma? ¿Por qué no puedo simplemente anunciar a la red: "Puedo probar que me enviaron esta transacción, ya que puedo revertir el hash. Ahora envíe las monedas a la dirección X, por favor".
Para probar que tienes la preimagen de un hash, tendrías que revelar la preimagen misma. Una vez que alguien tiene una preimagen, puede crear su propia transacción para suplantar la suya. Los mineros, por ejemplo, podrían cambiar las transacciones para obtener los bitcoins. Necesita criptografía de clave pública para detener este tipo de manipulación.
Ok, todo lo que hace el hashing es reducir el tiempo que un atacante tiene para romper su clave pública desde que tiene las monedas hasta el tiempo que tarda una transacción en verificarse. Entonces, ¿cuál es el punto? Si hubiera un ataque que pudiera romper una clave pública en una hora, nos alejaríamos de ECDSA de todos modos, entonces, ¿por qué preocuparse si el atacante tiene un año o solo una hora?