En la búsqueda constante de mejorar la escalabilidad y la eficiencia de la red de Ethereum, surge Starknet como una solución de Capa 2 que utiliza el lenguaje de programación Cairo y la criptografía STARKs.
Esta innovadora layer 2 opera como un sistema coordinado, donde diferentes actores desempeñan roles cruciales para que la red funcione como tal. En este artículo, exploraremos en detalle la arquitectura de Starknet, desglosando la función de cada uno ellos y examinando su papel en la transformación de Ethereum hacia un ecosistema más escalable, eficiente y seguro.
Índice
- Arquitectura de Starknet
- Componentes de la Arquitectura de Starknet
- Sequencers
- Provers
- Nodos
- Conclusiones
Arquitectura de Starknet
Como hemos visto, Starknet es una Layer 2 que utiliza como lenguaje de programación Cairo y la criptografía STARKs para mejorar la eficiencia y la seguridad de Ethereum. Pero… ¿Cómo funciona Starknet, cómo es su arquitectura?
En primer lugar, Starknet es un sistema coordinado en el que cada componente (sequencers, provers y nodos) desempeña un papel específico, pero a su vez, todos están interconectados.
Aunque Starknet aún no se haya descentralizado por completo, está avanzando activamente hacia ese objetivo, y en pos de ello… Conozcamos los roles e interacciones de cada uno de los elementos que lo conforman, para comprender mejor los desafíos que enfrente el ecosistema de Starknet.
Vistazo general a la arquitectura de Starknet
La operatoria de Starknet, comienza cuando una transacción es recibida por una puerta de enlace (gateway) que actúa como Mempool. Esta etapa, también puede ser gestionada de manera directa por el Sequencer, sin tener que realizar ese paso previo. En ese instante, la transacción se marca inicialmente como “RECEIVED” y luego, el sequencer incorpora la transacción al estado de la red y la etiqueta como “ACCEPTED_ON_L2“.
En el paso final, es que aparece el tercer agente de esta hermosa novela, el Prover, quien ejecuta el sistema en el nuevo bloque, calcula su prueba y la envía a Ethereum Mainnet para su verificación final e inclusión.
A continuación, te dejamos una imagen con la cual entenderás mejor todo lo explicado. La clave está en identificar los canales y de esa forma, entenderás que función realiza cada uno de ellos y como simplemente siguen un camino definido.
Componentes de la Arquitectura de Starknet
En esencia, la arquitectura de Starknet implica a múltiples componentes.
El Sequencer es el responsable de recibir las transacciones, ordenarlas y producir los bloques. El Prover en cambio, tiene la tarea de generar las pruebas para los bloques y las transacciones creadas. Para ello, utiliza la máquina virtual de Cairo para ejecutar los programas demostrables, creando así, los rastros de ejecución necesarios para generar las pruebas STARK.
La capa 1, en este caso Ethereum, es quien alberga un Smart Contract capaz de verificar esas pruebas STARK, y en el caso de que las pruebas sean válidas, se actualiza la raíz del estado de Starknet directamente en Ethereum.
El estado de Starknet es un snapshot mantenido a través de Merkle trees. Esto establece la arquitectura de los zk rollups y las funciones de cada componente.
Okey, vimos muy por encima como funciona cada uno de los componentes, las tareas que realizan, pero es hora de profundizar en sus funciones específicas y en los detalles técnicos de todo ello.
Sequencers
Los sequencers, el primer componente de este gran sistema, son como la columna vertebral de Starknet, y su tarea es muy clara, introducir las transacciones en el sistema.
Los zk rollups, se destacan por descargar algunas tareas de la red, como agrupar y procesar las transacciones, actores especializados. Esta configuración es algo así como Bitcoin cuando delega su seguridad en los mineros, pero bueno, en la secuenciación, al igual que con la minería, se requieren de grandes recursos… ¿Y adivina quién los tiene?
Para redes como Starknet y otras plataformas que utilizan zk rollups, estos se establecen de forma paralela; ya que estas redes subcontratan el procesamiento de las transacciones a entidades especializadas y luego verifican su trabajo. Estas entidades especializadas son ni más ni menos, que los sequencers.
Es decir, en lugar de brindar seguridad, como hacen los mineros, los sequencers brindan capacidad de transacción.
Son los encargados de ordenar múltiples transacciones en un solo lote, ejecutarlas y producir un solo bloque que luego es probado por el Prover y si todo está correcto, el mismo es enviado a Ethereum Mainnet como una prueba única y compacta.
Este mecanismo permite que los zk rollups manejen un mayor volumen de transacciones mientras mantienen la seguridad subyacente de Ethereum. Mejorando la escalabilidad sin comprometer la seguridad.
El futuro de los Sequencers en Starknet
Los sequencers deben ser confiables y altamente disponibles, ya que su función es fundamental para el buen funcionamiento de la red. Para ellos, se necesitan máquinas potentes y bien conectadas para desempeñar su función de forma eficaz, ya que deben procesar las transacciones de forma rápida y continua.
Hoy en día, los sequencers de Starknet están centralizados, sin embargo, el roadmap de Starknet incluye la descentralización de ellos. Este cambio hacia la descentralización permitirá que más participantes puedan cumplir este rol, y puedan contribuir a aportar mayor solidez y descentralización a la red.
Provers
Los Provers son como los mediocampistas en un equipo de futbol, a la hora de defender, funcionan como la segunda línea de defensa. La verdad que no sé si quedo tan bien esta analogía, pero queda divertida, así que sigamos. Estos son la segunda línea de verificación de la red. Su tarea principal es validar el trabajo de los Sequencers cuando reciben el bloque producido y generar las pruebas de que los procedimientos se realizaron correctamente.
Finalmente, estos envían la prueba a la red de Ethereum para su validación final; y en el caso de ser correcta, la red acepta el bloque de manera exitosa.
Características de los Provers
Los provers necesitan incluso más potencia computacional que los sequencers, ya que tienen que calcular y generar las pruebas, lo cual es un proceso computacionalmente muy pesado. De todas maneras, el trabajo de ellos se puede dividir en varias partes, lo que permite el denominado “paralelismo” y a su vez, la generación de pruebas de una manera más eficiente y menos pesada para ellos.
El proceso de generación de pruebas es asincrónico, lo que significa que no tiene que ocurrir inmediatamente, ni tampoco en tiempo real. Esta flexibilidad permite que la carga del trabajo se distribuya entre varios provers. Así, cada uno puede trabajar en un bloque diferente, permitiendo el mecanismo de paralelismo anteriormente mencionado.
Nodos
El tercer componente, la magia detrás del número tres cada vez es más grande y única.
Cuando se trata de definir qué hacen los nodos, en Bitcoin por ejemplo, la gente comúnmente malinterpreta su función y la definen como realizar un seguimiento de cada transacción producida dentro de la red. Lo cual, no es del todo exacta…
Los nodos sirven como auditores de la red y mantienen el estado de la misma. Por ejemplo, estos conocen la cantidad de tokens que posee cada participante o el estado actual de un smart contract en específico. Todo ello, lo logran procesando las transacciones y preservando un registro de todas ellas, pero eso es un medio para un fin, no el fin en de por sí.
En los zk rollups, y específicamente en Starknet, este concepto está algo invertido. Los nodos no necesariamente tienen que procesar las transacciones para obtener el estado, ya que hay dos formas de acceder a ellos:
A través de una puerta de enlace API (gateway) o utilizando el protocolo RPC para comunicarse con un nodo. Operar tu propio nodo suele ser más rápido que usar el de alguien más, ya que como se trata de una arquitectura compartida, el tiempo de espera y otros posibles riesgos, son mayores en estos casos. Con el tiempo, Starknet planea dejar de usar las API y reemplazarlas con un estándar JSON RPC, lo que hace que sea aún más beneficioso operar un nodo propio.
Conclusiones
Starknet emerge como un catalizador clave para la escalabilidad de Ethereum. A lo largo de este artículo, profundizamos en la arquitectura de Starknet descubriendo la importancia de cada uno de sus actores; los Sequencers, los Provers y los Nodos. Cada uno desempeña un papel único como tal, pero de manera conjunta, crean una red altamente escalable, eficiente y segura.
Con Sequencers, Provers y Nodos desempeñando roles cruciales, la arquitectura de Starknet muestra un avance significativo en la eficiencia de las transacciones; y a medida que se avanza hacia la descentralización y la adopción de estándares más eficientes, Starknet representa un paso firme hacia un Ethereum más escalable y adaptable.