El cofundador de Ethereum, Vitalik Buterin, ha publicado la primera entrega de una serie técnica sobre la ofuscación de programas, calificándola como la idea más poderosa de la criptografía, al tiempo que deja claro que las implementaciones actuales están lejos de ser prácticas.
La ofuscación convierte un programa en una versión cifrada que sigue ejecutándose y produce los mismos resultados, ocultando cómo funciona por dentro. El objetivo formal, llamado ofuscación indistinguible, o iO, significa que, dadas dos versiones cifradas que hacen el mismo trabajo, ningún observador puede distinguir cuál es cuál. En palabras de Buterin, oculta el código en lugar de los datos.
Por qué importa
Buterin presenta la ofuscación como algo cercano a un «tercer intermediario de confianza sin confianza» universal, un sustituto del intermediario neutral que muchos sistemas asumen pero nadie quiere realmente confiar. Combinada con una blockchain, podría impulsar votaciones privadas resistentes a la colusión y otras aplicaciones que depositan casi ninguna confianza en ningún comité, porque una blockchain es la pieza que se encarga de las funciones con estado, como los saldos, que un programa ofuscado por sí solo no puede asegurar de forma segura.
La razón por la que esto no está en producción es el rendimiento. Una versión ideal resultó ser imposible en 2001, y el objetivo más débil de iO que lo reemplazó necesitó aproximadamente dos décadas de intentos fallidos antes de que los investigadores demostraran que podía construirse bajo supuestos de seguridad razonables. El inconveniente, en palabras de Buterin, es que los tiempos de ejecución son «galácticos»: eficientes sobre el papel y absurdamente lentos en la práctica.
Impacto en el mercado
Buterin comparó el momento con la situación de los SNARKs hacia 2010, antes de que años de optimización convirtieran las pruebas de conocimiento cero, ahora centrales en la escalabilidad de Ethereum, de curiosidad en infraestructura funcional. La lectura es que la ofuscación podría recorrer el mismo camino, pero ninguna ejecución actual está cerca de ser asequible. Las monedas de privacidad como Monero ya ocultan los datos de las transacciones en una blockchain activa mediante firmas en anillo, direcciones stealth y montos confidenciales, pero eso oculta quién paga a quién, no el código en sí, lo que deja la ofuscación de programas como un hito de investigación más que como un producto.
Preguntas frecuentes
-
¿Qué horizonte temporal traza Buterin para la ofuscación?
Comparó el estado actual con la situación de los SNARKs hacia 2010, antes de que años de optimización convirtieran las pruebas de conocimiento cero, ahora centrales en la escalabilidad de Ethereum, en infraestructura funcional. La lectura es que la ofuscación podría recorrer el mismo camino desde un avance teórico…