Si se rompieran SHA256 y/o RIPEMD-160, ¿estarían comprometidas todas las direcciones de bitcoin?

Si no, ¿qué más se necesitaría para robar todos los fondos de todas las personas y romper completamente Bitcoin?

Apuesto a que algunos dirán que ECSDA le da a bitcoin una capa adicional de protección. Contrarresto esto diciendo que ECSDA depende de una función hash como SHA256. Así que también preguntaré esto: ¿Qué tipo de ECSDA usa bitcoin y aún estaría protegido si se rompiera SHA256?

Sí, sé que estoy ilustrando un escenario poco probable, pero sigo creyendo que debemos saber qué sucederá.

Si desea mencionar otras funciones hash en relación con SHA256, puede hacerlo. Siéntase libre de explicar cómo RIPEMD-160 mantendría a Bitcoin seguro en caso de un exploit SHA256.

Respuestas (2)

Bitcoin usa SHA256 seguido de RIPEMD-160, que llamaré colectivamente HASH160.

Los buenos hashes tienen 4 propiedades:

  1. es fácil calcular el valor hash para cualquier mensaje dado
  2. es inviable generar un mensaje que tenga un hash dado
  3. es inviable modificar un mensaje sin cambiar el hash
  4. es inviable encontrar dos mensajes diferentes con el mismo hash

Fuente: Wikipedia

Nos preocupamos por las propiedades 1, 2 y 3. Sabemos con certeza que la propiedad 1 es verdadera sobre HASH160; podemos compararla. Si las propiedades 2 o 3 fueran falsas, entonces podrías robar bitcoins. No es bueno.

Es bueno que el lenguaje de secuencias de comandos sea tan flexible y permitiría a las personas cambiar a un tipo de dirección diferente sin obligar a todos a actualizar.

Este es un script de transacción de bitcoin actual:

 OP_DUP OP_HASH160 09432ab39083b5098b6f09432ab39083b5098b6f OP_EQUALVERIFY OP_CHECKSIG

Así es como eso podría cambiar si HASH160 se rompiera:

OP_DUP OP_HASH256 09432ab39083b5098b6f09432ab39083b5098b6f09432ab39083b5098b6f826496 OP_EQUALVERIFY OP_CHECKSIG

Tenga en cuenta que hemos cambiado HASH160 por HASH256. O, suponiendo que ambos estuvieran rotos:

<pubKey> OP_CHECKSIG

Ahora estamos renunciando a las funciones hash por completo e introduciendo la clave ECDSA explícitamente. Sin embargo, esto haría que las direcciones de bitcoin tengan una longitud de unos cien caracteres.

¿Podría dar más detalles sobre lo que sería necesario para "cambiar a un tipo de dirección diferente" en la medida en que los usuarios con bitcoins en el tipo de dirección anterior tendrían que hacer para cambiarse? ¿Todos tendrían que crear nuevas direcciones y mover todos sus bitcoins?
@BT Sí. Sin embargo, las direcciones serían mucho más largas.
Lo tengo, genial. Eso no suena tan mal en realidad entonces. Al menos, no catastrófico.
Para gastar bitcoins, debe tener la clave privada correspondiente. La dirección de bitcoin se deriva de la clave pública. Si la función hash pudiera verse comprometida con respecto a 2. uno podría revelar la clave pública. Esto aún requeriría que la criptografía de curva elíptica se desmorone antes de que un atacante pueda robar su dinero. Un ataque a 3. no ayuda en absoluto para una dirección de bitcoin. Finalmente, si 4. se debilitara, todavía no ayudaría mucho, ya que tendría que generar aleatoriamente pares de claves para encontrar una colisión. Ya puedes hacerlo ahora, pero las posibilidades de encontrar vida extraterrestre en el universo son mayores.

La respuesta de Nick es muy útil, pero podría no ser suficiente para aclararnos a nosotros (y a BitCoin). Puede haber una preocupación válida y grave basada en el hecho de que no se ha demostrado que las funciones hash criptográficas satisfagan las restricciones 2 y 3, por lo que potencialmente pueden ser débiles.

A pesar de que las personas podrían cambiar de una función de hash criptográfico a una mejor, ¿qué nos permitiría saber con certeza que alguien no está usando silenciosamente la debilidad de la función de hash para robar? Pasar desapercibido le permitiría evadirse del sistema bitcoin, tal vez obteniendo una gran parte de las recompensas mineras sin gastar tanta potencia informática. Este tipo de arbitraje podría permitirle enriquecerse con cada nerd que usa BitCoin (ciertamente, incluido yo mismo) y algunos capitalistas de riesgo (lo estoy consiguiendo;)). Y ya que estamos especulando, ¿no sería conveniente vincular el desarrollo de una moneda basada en criptografía si quieres hacerte realmente rico? Obviamente, explotarlo sin quitarle su potencial de crecimiento y adopción...

Si conoce el exploit para SHA-256 y sabe cómo extraer BTC y otras monedas criptográficas, lo más altruista y honorable que puede hacer es publicar el exploit. Lo egocéntrico sería abusar de ella.

Espero que alguien demuestre que estoy equivocado acerca de este potencial de abuso.

Si no, básicamente se reduce a esto: ¡un gran poder conlleva una gran responsabilidad! Todo el mundo dice que la confianza no es necesaria con BitCoin. TODAVÍA se reduce a la confianza, pero ahora confíe en que a nadie se le ocurrió esta escapatoria o que el que lo hizo no está rompiendo el sistema más de lo que está contribuyendo con el valor social.

Realmente tendría un gran respeto por la persona por elegir el honor por encima de la ganancia personal. A menos que desvíes las ganancias a una buena causa, pero incluso entonces estoy seguro de que una sola persona no es la mejor capaz de manejar esas cantidades de valor. Una multitud o incluso un mercado saben mejor cómo asignar fondos de manera óptima.

Si conociera un exploit para uno de los principales algoritmos criptográficos como SHA256, podría rastrear las contraseñas de las personas a través de SSL, descifrar sus cuentas traseras y vaciarlas de fiat en un rápido fin de semana. Creo que bitcoin sería la menor de las preocupaciones del mundo.