Actualización de Starknet Cairo: el cambio crucial
La actualización de Starknet Cairo (v.0.12.), que se ha puesto en marcha hoy, tiene el potencial de crear uno de los mayores aumentos de velocidad jamás vistos en criptomonedas. De hecho, el aumento es tan drástico que los comentaristas de criptomonedas lo han bautizado como «el salto cuántico de Starknet».
Hasta ahora, Starknet procesaba menos de 2 transacciones por segundo (TPS). Esto es incluso más lento que la red principal de Ethereum, a pesar de que la función principal de Starknet es aliviar la congestión en la sobrecargada cadena de bloques de capa 1.
Sin embargo, la actualización de Cairo de Starknet puede llegar a multiplicar por 20 o más el rendimiento de las transacciones. Y todo tiene que ver con el secuenciador, el punto de entrada al motor de validación de la red.
Al actualizar el secuenciador, Starknet ha eliminado un importante cuello de botella en el corazón de su back-end y ha garantizado que las transacciones de los usuarios se procesen, prueben y finalicen más rápidamente.
¿Por qué es tan importante el secuenciador Starknet?
Como todos los rollups de conocimiento-cero (validez) de Capa 2, Starknet comprueba las transacciones en bloque (o las «enrolla») y las envía a Ethereum de Capa 1, que las verifica y publica un registro en la cadena. Así, las transacciones obtienen toda la seguridad de la Capa 1 con la escalabilidad dinámica de la Capa 2.
Así es como funciona el sistema de pruebas en Starknet:
- En primer lugar, el secuenciador organiza un montón de transacciones en el orden correcto. Los procesa, produce una serie de acciones o cambios de estado (por ejemplo, la actualización de los saldos de los usuarios) y, a continuación, envía las transacciones al prover.
- El prover, un programa desarrollado por StarkWare, comprueba cada transacción para asegurarse de que es válida y produce una prueba matemática del cambio de estado antes y después de la transacción. A continuación, el prover envía a la capa 1 un único registro que contiene una prueba para todas las transacciones del lote, conocida como prueba de validez.
- El verificador de la capa 1 de Ethereum, un contrato inteligente, plantea al prover una serie de retos matemáticos para demostrar que ha seguido los pasos correctos en cada transacción.
He aquí un diagrama para ilustrar la estructura:
Esencialmente, el secuenciador de Starknet desempeña un papel similar al de los proponentes y validadores de bloques en Ethereum Capa 1. Procesa las transacciones, las encadena y genera un bloque. De hecho, el secuenciador es crucial por varias razones:
- Garantiza que cada transacción se ejecute de forma coherente con el estado actual de Starknet.
- Evita el doble gasto, por el que un usuario puede gastar su activo dos veces.
- Garantiza que el prover puede procesar las transacciones en el orden correcto, con la mínima ineficacia.
Pero, ¿cuál ha sido el problema con el secuenciador Starknet?
Starknet escribió su secuenciador original en Python, un lenguaje de programación muy anterior a la aparición de las cadenas de bloques. Python se lanzó en 1991, 18 años antes que Bitcoin, y no es un lenguaje de producción para sistemas de alto rendimiento. Así, el secuenciador de Starknet ha sido incapaz de gestionar las transacciones a suficiente velocidad, creando cuellos de botella antes de que lleguen al prover.
En los últimos meses, los desarrolladores de Starknet han estado trabajando en un nuevo secuenciador, construido en el rápido y flexible lenguaje Rust en lugar de Python.
Rust vs Python: Por qué Starknet ha cambiado de lenguaje con la actualización de Cairo
Como lenguaje de scripting, Python evita el paso de compilación cuando se convierte en bytecode legible por ordenador. Sin embargo, esto significa que el código tiene que ser interpretado en su lugar, lo que puede crear un lastre, agravado por el hecho de que Python utiliza tipos dinámicos. Así pues, el lenguaje no es especialmente rápido a la hora de realizar determinadas funciones criptográficas, en particular la codificación y descodificación.
Rust, por otro lado, compila automáticamente y no dispone de recolector de basura (lo que puede suponer un serio lastre cuando se utiliza Python y otros lenguajes). Esto significa que es extremadamente rápido, e ideal para el desarrollo de blockchain. De hecho, ya es la base de varias cadenas de bloques, como Solana y Polkadot.
Estas ganancias de velocidad se verán magnificadas por un nuevo y optimizado:
- Blockifier, el componente de ejecución de transacciones del secuenciador que crea diferencias de estado y bloques.
- Cairo Virtual Machine, que permite ejecutar contratos escritos en Cairo en la red Starknet.
- Sistema local de gestión de estados, mediante Papyrus, que aprovecha la potencia de una base de datos local y una sencilla estructura de almacenamiento clave/valor.
Todos ellos escritos en Rust.
Como señala StarkWare en su propio post de Medium sobre la actualización de Cairo, el secuenciador original basado en Python era una adaptación de la infraestructura utilizada para construir StarkEx, un producto SaaS diseñado para trabajar con proyectos de uso específico, como bolsas de criptomonedas y aplicaciones de mercado NFT. El nuevo secuenciador basado en Rust, en cambio, está «construido especialmente para los requisitos de una red descentralizada y de alto rendimiento.»
¿Hay algún otro cambio que afecte a la actualización de Starknet Cairo?
En realidad, la actualización del secuenciador forma parte de un montón de cambios, algunos aún por llegar. Entre ellas se incluye la reducción del tiempo que consumen las transacciones no válidas y el aumento de la eficacia de la red Starknet.
Pero no se preocupe, los trataremos en entradas posteriores. En la ronda actual de actualizaciones (Starknet v.012.0), el cambio a Rust, combinado con mejoras como el nuevo Blockifier, Cairo VM y la gestión de estado local, es el desarrollo clave que debes conocer.
No podrá verlo en la pantalla, pero lo notará.
¿Quiere experimentar usted mismo los beneficios del salto cuántico?
La actualización Cairo de Starknet le permitirá realizar operaciones, entrar y salir de posiciones de rendimiento y acuñar NFT más rápidamente.
Para comprobar las ventajas por ti mismo, prueba a realizar algunas transacciones de muestra en Goerli, la red de pruebas de Starknet, utilizando nuestro propio monedero, Braavos. Goerli reproduce las condiciones reales de Starknet, pero las fichas no tienen valor en el mundo real. Así podrás explorar las posibilidades del ecosistema en un entorno de pruebas, sin riesgo ni compromiso financiero.
He aquí cómo hacerlo:
- Descarga Braavos si aún no lo has hecho (es una cartera de software, por lo que se descargará como una extensión en tu navegador o sistema operativo móvil preferido).
- Ve a buscar fichas de Goerli. Recomendamos obtenerlos del grifo Starknet.
- Prueba algunas transacciones diferentes dentro de la cartera Braavos. Podrías intentarlo:
- Intercambiando algunas fichas dentro de la cartera.
- Crear un nombre de dominio.
- Ir a la galería de dApps e interactuar con un protocolo específico.
Y si tiene alguna pregunta sobre Quantum Leap, Starknet o cualquier otra cosa, póngase en contacto con nosotros en Twitter y estaremos encantados de ayudarle.