¿Podría Taproot crear mayores riesgos de seguridad o incluso dificultar futuros ajustes de protocolo con respecto a las amenazas cuánticas?

Estoy citando aquí a un usuario llamado "blk014" que respondió a los tweets Taproot de Pieter del 24 de enero. Los comentarios de este usuario me parecen muy interesantes y me gustaría preguntarle a un experto en desarrollo qué problema de seguridad puede tener esta "linealidad de Schnorr" en el proceso futuro de encontrar soluciones de resistencia cuántica. ¿Y cómo mitigar o prevenir estos riesgos por adelantado?

Si bien tanto las firmas ECDSA como las de Schnorr son inseguras frente a las computadoras cuánticas, Taproot explota la linealidad de Schnorr para la cual no se conoce un reemplazo cuántico seguro en la actualidad. Si bien hacer que Bitcoin sea cuánticamente seguro ya es difícil, hacer que Bitcoin-Taproot sea cuánticamente seguro será una pesadilla.

Habilitar taproot ahora debe estar respaldado por una evaluación de riesgos racional. El resultado depende de su elección de los siguientes parámetros: (1) tiempo hasta que los controles de calidad rompan el ECC (2) tiempo hasta que se desarrolle + examine un reemplazo de raíz pivotante seguro para el control de calidad (3) tiempo para actualizar la red, ...

qué hacer con un usuario ignorante/muerto que no actualizará (Satoshi, re-usuarios de direcciones) cuyos UTXO se vuelven vulnerables por (1)

Dados estos riesgos, una actualización a la raíz principal no es muy adversa al riesgo, que es el enfoque apropiado para desarrollar sistemas críticos para la seguridad, y que se siguió hasta ahora.

No es solo una cuestión de prioridades, porque sin raíz principal lograr la seguridad del control de calidad es difícil, pero al menos hay un camino en el horizonte (cf. los esfuerzos actuales de estandarización del NIST). Después de taproot, el problema está completamente abierto.

En una nota final: personalmente no estoy en contra de activar taproot (es muy elegante), pero también me gustaría tener un consenso sobre una evaluación racional de los riesgos que se están aceptando aquí [con Taproot].

El usuario continúa describiendo un enfoque de 3 pasos para una solución, donde sin Taproot solo se necesitarían 2 pasos. Pero con Taproot entra en juego un tercer paso mucho más difícil:

Creo que hay 3 problemas principales de control de calidad para resolver: (1) encontrar un DSA poscuántico apropiado (2) resolver el problema de transición antes de que los controles de calidad se vuelvan grandes, (3) encontrar un PQ -DSA lineal . Los elementos (1)-(2) deben resolverse en cualquier caso, siempre que crea que los controles de calidad eventualmente serán grandes.

Y el reciente experimento Quantum Supremacy de Goolge es una evidencia significativa de que estamos en ese camino. Con taproot activado, también necesitamos resolver (3). Si resolvemos (1) y (3) juntos, esto puede tomar mucho tiempo para lograr (2). Ese es el riesgo que corremos al activar taproot ahora.

podría retrasar el tiempo para hacer que Bitcoin sea cuánticamente seguro de 5-10 a 10-20 años, ya que se necesita mucha más investigación. La evaluación de riesgos debe concluir si tenemos el tiempo y queremos asumir el riesgo.

Gracias por sus opiniones expertas sobre este tema.

Me cuesta mucho responder a esto porque contiene muchos conceptos erróneos. DSA es inherentemente vulnerable a las computadoras cuánticas, la linealidad no es el problema, "DSA lineal" no tiene sentido para mí: DSA no tiene la propiedad de linealidad, y existe una solución para todos estos problemas en forma de post-cuántico cero- pruebas de conocimiento ... son realmente grandes por ahora, por lo que no son realmente utilizables.
¡Gracias Pieter! ¡Esto suena muy confiado de tu parte! pero como literalmente no tengo ni idea, los argumentos del otro usuario sonaron igualmente seguros. Pero es bueno escuchar que hay soluciones en tu mente. No sabía que las pruebas zk se pueden usar para la resistencia de control de calidad. Si este es el caso, tal vez otro concepto de prueba de zk llamado "ZK-Starks" también podría ser de ayuda. O un concepto llamado "pruebas zk recursivas sin confianza" desarrollado por el equipo de Zcash, se llama "HALO". Afirman "tamaños de prueba pequeños". Tal vez interesante cuando su principal problema es "grande por ahora". ¡Buena suerte abordando el control de calidad!
Se están desarrollando docenas de sistemas de prueba de conocimiento cero (el campo realmente se ha disparado en los últimos años), y algunos de ellos (incluidos los zkSTARK) se pueden convertir en PQC. Sin embargo, todos los que pueden tener tamaños de prueba muy grandes. Los compactos (como Bulletproofs, Halo, ...) no pueden ser PQC.
Y no estoy seguro de que confianza sea la palabra adecuada. No creo que tengamos soluciones de PQC para Bitcoin con compensaciones aceptables en este momento, pero el control de calidad que puede romper la criptografía tampoco es una amenaza real (no está claro si los desafíos de ingeniería se pueden superar en absoluto, y si lo hacen, lo haremos). probablemente los vea venir con décadas de anticipación).

Respuestas (3)

Permítanme comenzar abordando los conceptos erróneos en las publicaciones que está citando.

DSA (y Schnorr) se basan inherentemente en el problema del logaritmo discreto, que es vulnerable a las computadoras cuánticas (suficientemente poderosas). Como resultado, no existe tal cosa como un "DSA poscuántico". DSA tampoco tiene la propiedad de linealidad de Schnorr: si "DSA lineal" significa algo, sería una forma extraña de referirse a Schnorr (DSA es una modificación de Schnorr que tenía la intención de eludir su patente). Existen esquemas de firmas digitales que son (plausiblemente) seguros después de la cuántica, pero no se basan en el problema del logaritmo discreto y, por lo general, son muy grandes.

Otro concepto erróneo es que Taproot se basa en la linealidad de Schnorr. No es así: Taproot también podría construirse usando ECDSA; sería mucho menos útil. La propiedad de linealidad es necesaria para la agregación de claves simple , de modo que una sola clave pueda representar el consentimiento de varias partes.

Entonces, ¿comenzar a confiar en la linealidad de Schnorr hace que sea más difícil migrar a las firmas PQC?

La linealidad solo se usa como una herramienta para aumentar la privacidad (y la eficiencia) del sistema de secuencias de comandos de Bitcoin sin cambiar mucho. Sin embargo, las firmas lineales no son la única forma en que se pueden alcanzar esos objetivos abstractos. Un reemplazo de PQC no intentaría calzar las propiedades de Schnorr en otro esquema de firma; en primer lugar, solo se crearía para firmas múltiples privadas (o más). Si no se puede encontrar dicho esquema, simplemente perderíamos esas ventajas de privacidad (las ganancias de eficiencia generalmente no se traducirían de todos modos), y no estaríamos peor que si nunca hubiéramos adoptado Schnorr/Tproot en primer lugar.

Sin embargo, existen obstáculos para hacerlo que no están relacionados con Schnorr/Taproot. Probablemente el más grande es cómo funciona la derivación de claves hoy en día. Los esquemas de firma PCQ no tienen nada similar a BIP32, y no es trivial transferir gran parte de la infraestructura que existe hoy en día en torno a la generación de claves (xpubs, rutas de derivación, PSBT, carteras de hardware, ...). Sospecho que este será un problema mucho más difícil de abordar que las construcciones que permite Taproot script por script.

Idealmente, ¿cómo se trasladarían todas estas características a los sistemas PQC?

Antes de responder a eso, permítanme señalar que, en muchos sentidos, Schnorr/Taproot son solo un paso para ocultar algunas cosas de los scripts. Solo trae ventajas cuando los productos pueden ser gastados por una sola parte o cooperativamente por muchos. En un mundo ideal, serían reemplazados por una prueba de conocimiento cero de que cualquier propiedad con la que el receptor de una moneda quisiera gravar su almacenamiento, se satisfizo al gastarla, sin revelar nada más.

Una vez que miras el problema de esta manera, queda claro que lo que necesitamos es, de hecho, una prueba de conocimiento cero, no una firma. Una firma está restringida a una sola parte que prueba algo a un solo verificador, que sabe lo que quiere. Esto no es lo que necesitamos: por lo general, varias partes están involucradas y los verificadores (nodos completos que hacen cumplir las reglas de consenso) en realidad no se preocupan por qué política se cumplió, solo que coincide con la política establecida por el propietario de la moneda.

Existen sistemas de prueba de conocimiento cero que podrían hacer esto (en mayor o menor medida) hoy, aunque vienen con compensaciones de rendimiento/tamaño o suposiciones de seguridad que pueden ser difíciles de adoptar para el ecosistema en este momento. Sin embargo, este dominio de la ciencia ha progresado enormemente en los últimos años y espero que siga haciéndolo.

Volviendo a PQC, algunos de estos esquemas de prueba de conocimiento cero pueden convertirse en PQC. Al igual que los esquemas de firmas de PQC, generalmente son grandes (incluso más que las firmas), pero se están realizando mejoras. Para el control de calidad, estamos hablando de eventos que probablemente estén a décadas de distancia (o que no sucederán en absoluto), y pueden suceder muchas cosas en esa cantidad de tiempo.

Esta respuesta particular es aproximadamente callos. Sobre la base del comentario de Pieter Wuille.

encontrar un DSA poscuántico apropiado

y

podría retrasar el tiempo para hacer que Bitcoin sea cuánticamente seguro de 5-10 a 10-20 años, ya que se necesita mucha más investigación.

Realmente sabemos qué hacer para que Bitcoin Quantum sea seguro, ha habido métodos para hacer criptografía basada en hash en diversas formas desde 1979 , que es anterior incluso a Schnorr en 1991 . Agregar un nuevo tipo de firma a Bitcoin se puede hacer con una bifurcación suave, aunque los detalles de cómo funcionaría esto (probablemente serían un árbol merkle de claves públicas).

Personalmente, escribí un parche para agregar OP_LAMPORTVERIFYcomo proyecto mientras estaba aburrido en un avión en 2015, aparte de pensar en algo sensato para los formatos y tratar desesperadamente de convencer a las personas de que no reutilicen las direcciones (¡de verdad esta vez!), es ingeniería. eso se puede hacer en un vuelo internacional corto.

Con taproot activado, también necesitamos resolver (3). Si resolvemos (1) y (3) juntos, esto puede tomar mucho tiempo para lograr (2). Ese es el riesgo que corremos al activar taproot ahora.

Los dos son básicamente ortogonales, no hay diferencia entre migrar entre salidas almacenadas con taproot y aquellas que usan ECDSA sin procesar. La existencia de taproot no hace que esto sea más o menos difícil funcionalmente.

Si alguna computación cuántica fuera una amenaza significativa (es decir, no fuera solo teórica o más lenta que la computación clásica), tendríamos mucho más de qué preocuparnos que solo Bitcoin, independientemente.

Dado que las dos respuestas anteriores tienen la misma opinión e incluyen cierto sesgo debido a que Pieter Wuille es el coautor de Taproot BIP, me gustaría agregar una opinión diferente de Mark Friedenbach basada en un hilo de tweet :

Aunque NIST no publicará el nuevo estándar criptográfico poscuántico hasta 2024, CISA insta a los líderes a comenzar a prepararse para la migración ahora siguiendo la hoja de ruta de criptografía poscuántica. No espere a que nuestros adversarios utilicen las computadoras cuánticas para actuar. Los primeros preparativos garantizarán una migración sin problemas al estándar de criptografía poscuántica una vez que esté disponible. Nota: Las organizaciones deben esperar hasta el lanzamiento oficial para implementar el nuevo estándar en un entorno de producción.

https://www.cisa.gov/sites/default/files/publications/cisa_insight_post_quantum_cryptography_508.pdf

Tweets relevantes del hilo:

Pero este tipo de solución no funciona si la clave pública está en la cadena de bloques para que todos la vean. Así que cierre las escotillas y deje de hacer públicos los pubkeys, mientras podamos.

Los hashes son PQC. Cualquier clave que exista ahora protegida detrás de un hash SHA-256 tiene seguridad de 128 bits en un régimen poscuántico. Los zk-SNARK también heredan el mismo nivel de protección. No digo que sea el mejor PQC. Pero está disponible y sigamos con las cosas que sabemos que son seguras para el control de calidad.

Simplemente colocando sus claves detrás de un hash ahora, sin que exista ninguna de las otras cosas, mantiene sus monedas seguras. Si mañana se construyera un control de calidad que rompa secp256k1, sus claves estarían seguras, incluso si la cadena estuvo congelada durante meses o años mientras resolvíamos la tecnología.

El uso de claves desnudas, por otro lado, significa que un avance de control de calidad puede robar sus fondos de una manera en la que no habría recurso. Se acabó el juego, gracias por jugar. No los veo como resultados equivalentes.

Depende de si puedes esperar o no, supongo. Pero el peor de los casos absolutos aquí es lo que está garantizado que sucederá si usaste taproot.