

Tras el lanzamiento de la mainnet de StarkNet a finales de 2021 y sus planes continuos de descentralización, StarkNet se ha consolidado como líder en el ecosistema de desarrollo blockchain y en la tecnología ZK (zero-knowledge) Rollup. La plataforma ofrece velocidades de transacción muy superiores y costes exponencialmente menores en un entorno seguro y compatible con Ethereum, posicionando a StarkNet como una de las soluciones de escalabilidad Layer 2 (L2) más relevantes en el mercado actual.
Sin embargo, los desarrolladores interesados en construir sobre esta cadena deben tener en cuenta un aspecto fundamental: StarkNet utiliza Cairo como su lenguaje de programación principal, a diferencia de otras soluciones ZK-Rollup como zkSync 2.0. zkSync permite recompilar smart contracts o aplicaciones Layer 1 escritos en lenguajes como Vyper y Solidity para su ejecución en Layer 2 sin modificar el código base, pero StarkNet requiere trabajar directamente con Cairo.
A pesar de esta curva de aprendizaje, Cairo ha alcanzado una adopción y utilidad notables. Según StarkNet, Cairo ocupa el cuarto puesto en TVL (total value locked) entre los lenguajes de smart contract. Las aplicaciones desarrolladas en Cairo han facilitado más de 300 millones de transacciones, generado 90 millones de NFTs y realizado operaciones por valor de $790 millones sobre Ethereum. Estos datos evidencian que trabajar con Cairo aporta ventajas y oportunidades exclusivas, que se analizarán en este artículo.
Cairo es un lenguaje de programación de alto nivel, diseñado para ser accesible y fácil de utilizar por desarrolladores familiarizados con lenguajes convencionales como Python y JavaScript. Fue ideado para la plataforma StarkNet e integra funciones específicas que permiten aprovechar sus capacidades distintivas.
Entre esas capacidades destacan una escalabilidad excepcional, muy superior a la de las soluciones tradicionales Layer 1, y la posibilidad de realizar cálculos complejos fuera de la cadena manteniendo la seguridad criptográfica. El diseño de Cairo hace que la generación de pruebas zero-knowledge sea accesible a una comunidad más amplia, sin exigir conocimientos avanzados en matemáticas criptográficas. Así, los desarrolladores pueden centrarse en la lógica de sus aplicaciones, mientras el sistema de pruebas STARK gestiona las operaciones criptográficas necesarias para garantizar la integridad y seguridad computacional.
Cairo es la primera arquitectura universal Von Neumann STARK implementada en cualquier blockchain sobre la mainnet de Ethereum, lo que supone un avance técnico relevante y suele describirse como MVL (minimum viable language) para sistemas STARK. El enfoque Von Neumann otorga a Cairo gran flexibilidad, ya que instrucciones y datos comparten memoria. Esta arquitectura permite que la asignación de recursos a cada componente varíe dinámicamente según la tarea computacional concreta.
Este modelo contrasta con la arquitectura Harvard, contraparte estructural de Cairo, que dispone de espacios de memoria independientes para datos e instrucciones, lo que limita la flexibilidad. En Harvard, la memoria para datos e instrucciones es fija y no se puede reasignar según las necesidades de cálculo.
El enfoque Von Neumann de Cairo permite una gestión más eficiente de la memoria, fundamental para la generación de pruebas STARK, donde los requisitos computacionales pueden variar significativamente según la complejidad de la operación. Esta flexibilidad permite optimizar dinámicamente el uso de recursos y mejora la eficiencia en la generación y verificación de pruebas.
Cairo aplica el "principio Goldilocks" para lograr el equilibrio óptimo entre la expresividad del código y la eficiencia del STARK prover. El nombre proviene del personaje de cuento que buscaba aquello que estuviera "justo bien", ni demasiado ni demasiado poco.
Por una parte, Cairo es "no demasiado caliente" porque su lista de registros es mínima: solo incluye el Program Counter (PC), allocation pointer y frame pointer. Utiliza un conjunto mínimo de instrucciones, suficiente para ejecutar operaciones de bajo nivel de forma eficiente. Esto reduce considerablemente el coste computacional de almacenar, ejecutar y leer instrucciones, ya que se requiere menos memoria para almacenar el código, lo que se traduce en una generación de pruebas más rápida y menor sobrecarga.
Por otra parte, Cairo tampoco es "demasiado frío", pues ofrece suficientes funciones de alto nivel para el desarrollo práctico de aplicaciones. Incluye elementos esenciales como funciones, recursividad, acceso aleatorio a memoria y patrones de control de flujo avanzados. Este equilibrio permite que Cairo sea eficiente en la generación de pruebas, sin perder la expresividad necesaria para desarrollar aplicaciones descentralizadas complejas.
Además, Cairo está preparado para entornos productivos: existe un ecosistema completo y maduro de herramientas para el desarrollo, incluyendo compilador, máquina virtual, tracer, extensiones IDE y ejemplos de aplicaciones. Como lenguaje principal de StarkNet, cualquier DApp que busque escalar sobre esta infraestructura debe estar escrita en Cairo, por lo que este entorno de desarrollo resulta fundamental para la adopción y productividad.
Una de las principales ventajas y rasgos diferenciadores de Cairo como lenguaje de programación es su enfoque en la integridad computacional (CI). La integridad computacional garantiza que el cálculo se realiza correctamente y puede lograrse de varias formas.
Los sistemas tradicionales suelen recurrir a la reputación y responsabilidad delegada, como ocurre en bancos e instituciones financieras, donde la confianza se deposita en entidades reconocidas. Otra opción son las pruebas de fraude, como en los Optimistic Rollups, que abren "periodos de desafío" para que se puedan impugnar transacciones sospechosas. Durante ese tiempo, los validadores pueden aportar pruebas de ejecución incorrecta y activar procesos de resolución de disputas.
Cairo adopta un enfoque distinto: genera declaraciones de integridad computacional mediante pruebas criptográficas, concretamente las pruebas STARK (Scalable Transparent ARgument of Knowledge). Un generador de pruebas elabora una atestación matemática que verifica la corrección de múltiples transacciones o cálculos, y la transmite a un verificador, que puede validar la prueba de forma eficiente y garantizar la integridad computacional.
La ventaja de este método criptográfico es que aporta certeza matemática, sin depender de incentivos económicos ni de confianza en terceros. El verificador puede asegurarse de que la computación se ha realizado correctamente sin necesidad de volver a ejecutarla. Esta propiedad es clave para que StarkNet logre escalabilidad manteniendo los mismos estándares de seguridad que la capa base de Ethereum.
En un anuncio de principios de 2023, Eli Ben-Sasson, cofundador de StarkWare, presentó la próxima re-genesis de Cairo en StarkNet: Cairo 1.0. Esta actualización supone una revisión fundamental del lenguaje, diseñada para que Cairo se asemeje al popular lenguaje Rust. El objetivo principal es facilitar el acceso a desarrolladores con experiencia general y familiaridad con paradigmas modernos, para que puedan crear aplicaciones descentralizadas en Layer 2 de Ethereum sobre StarkNet con mayor facilidad.
Cairo 1.0 introduce mejoras sustanciales en diseño y funcionalidad: sintaxis y estructuras alineadas con lenguajes modernos, sistema de tipos robusto para detectar errores en compilación, librerías intuitivas con funciones estándar, generación de código optimizada para mayor rendimiento y tipado fuerte gracias a la especificación explícita de tipos de datos, lo que refuerza la seguridad y mantenibilidad del código.
Uno de los cambios más relevantes es la aparición de Sierra (Safe Intermediate Representation), una capa intermedia entre el código fuente Cairo 1.0 y el bytecode. Esta capa aporta ventajas como actualizaciones más seguras, prevención de vulnerabilidades y mejores opciones de optimización en la compilación.
Con esta actualización, el equipo de StarkNet espera que Cairo sea adoptado por una comunidad de desarrolladores más generalista, incentivando nuevos proyectos innovadores en la plataforma. La menor curva de aprendizaje y la mejora en la experiencia de desarrollo favorecerán el crecimiento del ecosistema y la diversidad de aplicaciones.
Ya es posible escribir, compilar y probar programas en Cairo 1.0 mediante las herramientas y documentación disponibles. Cairo 1.0 evoluciona y se actualiza constantemente con nuevas funciones y mejoras. Quienes deseen estar al día pueden consultar las últimas novedades, documentación y contribuciones en el repositorio oficial de Cairo, principal punto de encuentro para el desarrollo y la comunidad del lenguaje.
StarkNet es una solución de escalabilidad Layer 2 para Ethereum basada en tecnología ZK-Rollups. A diferencia de otras Layer 2, StarkNet prioriza las pruebas de conocimiento cero para mejorar la privacidad y la eficiencia computacional, manteniendo plena compatibilidad con Ethereum.
Cairo es un lenguaje eficiente de bajo nivel para StarkNet, con sintaxis concisa. Los principiantes deberían empezar por la documentación oficial y los tutoriales en vídeo para entender sus conceptos clave y el flujo de desarrollo.
Escribe los smart contracts en Cairo, compila el código y utiliza las herramientas CLI o SDK de StarkNet para desplegarlos fácilmente en la red.
StarkNet utiliza pruebas de conocimiento cero para mejorar la escalabilidad y el rendimiento de las transacciones, manteniendo seguridad y privacidad. Permite cálculos eficientes fuera de la cadena y verificación en cadena, lo que reduce costes y acelera el procesamiento sin perder descentralización.
StarkNet reduce los costes de transacción en torno a un 95 % respecto a la mainnet de Ethereum, y aumenta de forma significativa la velocidad y capacidad para procesar más transacciones con eficiencia.
Cairo está diseñado para StarkNet y aporta mayor escalabilidad mediante pruebas de validez, además de soportar hash maps en memoria, a diferencia de Solidity. Cairo ofrece mejor rendimiento en cálculos complejos y una sintaxis optimizada para la verificación de pruebas de conocimiento cero, mientras que Solidity está enfocado a Ethereum.
Instala Python y Rust, clona el repositorio de Protostar, configura las variables de entorno y ejecuta los scripts de instalación para iniciar un nodo local de StarkNet.
El ecosistema de StarkNet suma 105 proyectos en desarrollo, entre ellos DeFi, herramientas, GameFi y NFT. Actualmente, varias aplicaciones DeFi y NFT están activas en la red.









