Hablemos de un superpoder de Starknet: Sierra. Cuando construyes una blockchain basada en ZK, con una VM basada en ZK para computación general (como lo es Cairo para Starknet), te enfrentarás a un problema: ¿Cómo haces que la VM sea segura para la blockchain *y* amigable con ZK? El problema es uno de no determinismo. Te lo explicaré: las zkVMs se vuelven mucho más eficientes si el secuenciador/proveedor puede "adivinar" ciertas entradas y llenarlas mágicamente. El problema es que esto abre espacio para varios ataques: un usuario malicioso puede enviar una transacción que no puede ser fácilmente adivinada, y un secuenciador/proveedor malicioso puede decidir no adivinar el valor correcto, con el fin de perjudicar a un usuario. ¿Cuál es la solución? - Una opción es eliminar el no determinismo. Pero esto perjudica la eficiencia. - Otra opción es utilizar métodos de teoría de juegos para permitir que otros secuenciadores castiguen a los atacantes mientras se incentiva a algún secuenciador a incluir buenas transacciones. - Una tercera opción es construir una representación intermedia segura (la llamamos: Sierra). Sierra permite el tipo justo de no determinismo, de tal manera que todas las adivinanzas pueden ser completadas. A lo largo del camino, tener esta herramienta permite resolver otras cosas interesantes, como agregar medición de gas como parte del proceso de compilación. Resumen: Bajo el capó de Cairo, el mejor lenguaje de contratos inteligentes, hay una joya, un superpoder, que permite ejecutar ZK basado en blockchain de manera segura y eficiente. Solo en Starknet, tecnología del futuro hoy.