¿Qué tan vulnerable es bitcoin a los algoritmos cuánticos? [duplicar]

Suponiendo que las computadoras cuánticas se implementen en un futuro cercano, ¿qué tan vulnerable es Bitcoin al descifrado a través de algoritmos cuánticos ? Por ejemplo, el algoritmo de Shor permite que una computadora cuántica factorice en tiempo polinomial. Una variante puede descifrar ECDSA .

Sin embargo, Bitcoin se basa en un sistema de secuencias de comandos , por lo que si se crean computadoras cuánticas, probablemente se pueda cambiar a una secuencia de comandos segura 1

¿Bitcoin es vulnerable a los ataques de las computadoras cuánticas? ¿Son reparables estas vulnerabilidades 2 ?

1. Por otra parte, existen límites para las secuencias de comandos y la computación cuántica puede hacer que sea imposible que funcione cualquier secuencia de comandos.

2. "Reparable" puede ser reparable del lado del cliente, donde todos simplemente modifican el script que usan y transfieren todo su dinero a un conjunto limpio de direcciones (asegurando así todos sus bitcoins con el nuevo script), o reparable del lado del protocolo, donde se modifica el protocolo y todos descargan un nuevo cliente. Esto último tampoco es preferible, ya que los antiguos bitcoins probablemente se perderán en el proceso.

relevante (me enteré después de que publiqué la pregunta): pqcrypto.org

Respuestas (2)

En resumen, sí, Bitcoin sería vulnerable a alguna variación del algoritmo de Shor y la computación cuántica, al igual que básicamente todos los tipos de criptografía que usamos hoy. Si bien ECDSA usa el problema del logaritmo discreto de la curva elíptica para su seguridad, en lugar del problema de factorización de números primos, tiene razón al afirmar que se puede usar una variante de Shor para resolver el ECDLP en un tiempo similar. Creo que existen amenazas similares con respecto a SHA256, que se usa mucho en el proceso de minería de Bitcoin.

También tiene razón al afirmar que Bitcoin se basa en un sistema de secuencias de comandos y es en sí mismo un proyecto informático distribuido de código abierto. Suponiendo que pueda llegar a un consenso de la red, es absolutamente posible cambiar básicamente cualquier aspecto de Bitcoin; solo tiene que lograr que el resto de la red esté de acuerdo con usted. No imagino que sería un problema si ECDSA o SHA256 estuvieran rotos.

También es muy posible que todo el proyecto en sí se bifurque para crear una versión alternativa de Bitcoin similar a otras que ya existen. Hay una variante llamada Litecoin, por ejemplo, que usa scrypt en lugar de SHA256 para la minería; implementar una alternativa a ECDSA podría hacerse fácilmente de manera similar.

Este, quizás, es el verdadero brillo de Bitcoin: es una caja de Pandora que no se puede abrir. Bitcoin, tal como existe hoy, puede o no existir en una década. Tal vez haya algún defecto imprevisto que pronto se descubrirá, pero ese defecto se solucionará y la idea seguirá viva. Suponiendo que exista un algoritmo de encriptación/firma razonable que esté a salvo de la computación cuántica, se adoptará y el mundo de las criptomonedas seguirá adelante.

Si ECDSA no funcionaba, ¿la solución implicaría decirles a todos que usaran un script mejor? ¿O no existe un guión mejor? (después de todo, las direcciones también dependen de ECDSA)
Si y no. "decir a todos" implica que hay una autoridad central donde no la hay. Dicho esto, si los desarrolladores salieran y dijeran "chicos de mierda, ECDSA está roto, aquí hay una nueva versión con un algoritmo diferente, instálelo", creo que la mayoría de la gente tendería a escuchar.
Siendo realistas, creo que tal ruptura probablemente resultaría en la migración de una cadena de bloques a otra. Si SHA256 estuviera roto, por ejemplo, prevería una migración a Litecoin antes de adivinar una modificación a Bitcoin. Esta es la única virtud redentora que veo en las altcoins, aunque esa es solo una opinión personal. Puedes preferir lo que quieras, estoy feliz de que las criptomonedas ya no existan como un monocultivo.
ah Entonces, el protocolo es a prueba de cuántica, solo que el protocolo estándar (el script incorporado que usan todos los clientes) no lo es.
Básicamente, sí. El protocolo es solo un script que comunica firmas y hashes: el algoritmo que elija para hacer la firma y el hash se puede cambiar al estilo Lego.
Mmm. Sin embargo, ¿no serían todos los scripts dependientes de ECDSA? Las direcciones de bitcoin (pares de claves pública/privada) son ECDSA. ¿O es posible abandonar ECDSA y hablar de un nuevo conjunto de pares de claves simplemente cambiando el script? (Básicamente, ¿hay alguna referencia a la dirección btc fuera de un bloque de script?)