Las cadenas de bloques tienen como objetivo lograr tres atributos principales: seguridad, descentralización y escalabilidad. Conocido como el Trilemma de la blockchain, el mismo manifiesta que es posible lograr solo dos de estos tres atributos de manera simultánea, lo que inevitablemente, requiere de un compromiso o perdida del tercero de ellos.
Entonces… ¿Cómo se logra hacer que Ethereum sea escalable sin sacrificar su seguridad o descentralización? Ahí mismo, es donde entra en juego Starknet. ¡Comencemos!
Índice
- ¿Qué es Starknet?
- ¿Cómo funciona Starknet?
- El lenguaje de programación de Starknet
- Native Account Abstraction
- Descentralización de Starknet
- Tokenomics de Starknet
- Conclusiones
¿Qué es Starknet?
Starknet es una solución de escalabilidad diseñada para ampliar las capacidades de Ethereum y brindar sus beneficios a todo el mundo. Starknet es un zk-rollup permissionless para Ethereum. Al operar como una Layer 2, permite que cualquier dApp escale ilimitadamente sin comprometer la componibilidad ni la seguridad de Ethereum. Es decir, aborda los problemas de escalabilidad que tiene Ethereum.
¿Cómo logra todo ello?
Todo ello, lo logra gracias a la adopción de la tecnología zk-STARKs, un estilo de prueba de conocimiento cero (Zero Knowledge Proof) que no solo refuerza la integridad y la privacidad de los datos, sino que también, amplifica la escalabilidad de la red.
Esto lo realiza agrupando las transacciones en una prueba STARK, que es calculada de manera off-chain; y luego es enviada a Ethereum como una sola transacción, lo que resulta en un rendimiento significativamente mayor, tiempos de procesamiento más rápidos y costos mucho más bajos. Todo ello, mientras mantiene la seguridad heredada de Ethereum Mainnet.
Con la infra de Starknet, los developers cuentan con las características necesarias para diseñar Smart Contracts de manera eficaz en un entorno descentralizado y funcional; lo cual les permite eludir los problemas asociados a las altas tarifas de gas, al mismo tiempo que mantienen la seguridad exigida por las aplicaciones como tal.
¿Cómo funciona Starknet?
Como vimos, Starknet logra escalar al trasladar el procesamiento de las transacciones fuera de Ethereum Mainnet. Es decir, Las transacciones se agrupan en lotes, se procesan de manera off-chain y luego se resumen en una única transacción que es enviada a Ethereum Mainnet.
Dado que las transacciones ocurren de manera off-chain, es vital garantizar la integridad de las mismas sin tener que volver a ejecutarlas. En este punto, Starknet lo aborda empleando las pruebas STARK que hemos mencionado. Profundicemos en ellas.
Las Pruebas STARKs, ZKSTARK
Los ZK-STARK, inventados por StarkWare, refuerzan la integridad y privacidad de los cálculos blockchains utilizando pruebas criptográficas y álgebra moderna. Estos permiten que las cadenas de bloques muevan los cálculos a un único probador STARK fuera de la cadena (off-chain) y luego verifiquen la integridad de esos cálculos utilizando un verificador STARK on-chain. Es decir, primero se hace todo off-chain y luego solamente se verifica lo más chiquito de forma on-chain.
De forma más simple, las STARKs son un sistema de prueba que permite probar y verificar. Es decir, permite procesar un cálculo grande, generar una prueba de los mismos y luego verificarlos todos con un mínimo esfuerzo computacional.
Usando las STARKs, las soluciones de capa 2 se agrupan en lotes y calculan miles de transacciones en una prueba, y luego revisan su validez en Mainnet con una prueba STARK. El costo del proceso se divide entre todas las transacciones del lote, lo que da como resultado bajísimos costos de transacción sin tener que sacrificar la seguridad en ningún momento.
A su vez, la empresa desarrolladora de Starknet, que es StarkWare, ofrece dos soluciones para escalar Ethereum con las pruebas STARKs. Una de ellas es Starknet y la otra es StarkEx, el cual es un marco que permite crear soluciones de escalabilidad.
StarkEx es como una caja de herramientas que los protocolos pueden usar para lograr computación off-chain de forma económica. Ejemplos de implementaciones de StarkEx son rhino.fi o Celer Network.
Cairo, el lenguaje de programación de Starknet
Cairo es un lenguaje de programación para escalar dApps. Sí, así de sencillo. Es un lenguaje Turing-Complete que permite a todos los desarrolladores aprovechar el poder de las pruebas STARKs.
El mismo está inspirado en Rust, lo que permite a los desarrolladores escribir Smart Contracts de una manera segura y sencilla. Es importante resaltar, que el mismo fue desarrollado por StarkWare, por ende, está diseñado para mejorar la creación de Smart Contracts y dApps con eficiencia y seguridad, es por ello, que Cairo es el lenguaje de programación de Starknet.
El mismo se actualiza y mejora de manera constante para brindarle a los desarrolladores las mejores herramientas para utilizar las pruebas de validez y la tecnología ZK-STARK.
Un alivio para los Devs, Native Account Abstraction
Starknet ofrece experiencias eficientes y fáciles de usar mediante el empleo de Account Abstraction Nativo.
Vitalik describió a la abstracción de cuentas (Account Abstraction) como la solución que representa una forma más sencilla de manejar cuentas, reduciendo o incluso eliminando la dependencia de las claves privadas.
A lo largo de los años, surgieron dos enfoques sobre ello, y ambos tienen el mismo objetivo: capacitar a los desarrolladores para diseñar sus aplicaciones y crear una forma más sencilla de manejar las cuentas al interactuar con las dApps.
En Starknet, todas las cuentas son Smart Accounts: su comportamiento lo determinan sus desarrolladores y no el nivel del protocolo. Esto significa una flexibilidad incomparable en la gestión de cuentas. Es decir, toda la infraestructura, incluidas las billeteras y los exploradores de bloques, están diseñados y construidos para utilizar Account Abstraction. Los desarrolladores pueden crear sus aplicaciones y herramientas sabiendo que Account Abstraction se aplica a todas las cuentas, lo cual ahorra la necesidad de trabajar en ello y tener que dar un servicio diferente a cuentas que no son de este estilo.
Los desarrolladores no están obligados a encontrar soluciones para prácticas complejas o que demanden mucho tiempo. En cambio, pueden crear sus dApps en un entorno diseñado para sus necesidades futuras, creado desde cero.
Descentralización de Starknet
Como vimos, Starknet fue creado por StarkWare, y a día de hoy, el funcionamiento de la red está centralizado en él y depende de él para crear bloques L2, calcular pruebas, e iniciar actualizaciones de estado en Ethereum Mainnet. Esto no es necesariamente algo malo, porque aunque StarkWare opera la red, no puede robar dinero ni hacer actualizaciones de estado inválidas, ya que requiere ejecutar el verificador en Ethereum para realizar dichas acciones. Sin embargo, la intención de Starknet es abordar estos elementos centralizados con el fin de ser resistentes a la censura y hacer que su sistema sea aún más robusto.
La descentralización significa que el funcionamiento y la evolución de la red no dependerán de una sola entidad, incluida StarkWare.
Por ello, es necesario que exista un Token para un mecanismo de Proof Of Stake y también, para el pago de tarifas. La idea es que ambos utilicen un token nativo, permitiendo así, que la red opere de manera confiable como una Layer 2 en Ethereum incluso si StarkWare dejara de existir por ejemplo.
Al tomar esta determinación, las decisiones sobre el mantenimiento continuo de Starknet pasarán de StarkWare a la comunidad. Es por ello que este token nativo es un elemento que tiene como objetivo lograr esta descentralización tan deseada.
¿Por qué más descentralización?
La tecnología STARK es segura, pero Starknet no ha alcanzado el estatus de Public Good como lo es Ethereum o Internet. Para que Starknet alcance ese objetivo, su gobernanza y desarrollo deben continuar descentralizándose. Esto, a su vez se facilitará a través de dos mecanismos: la Fundación Starknet y el Token de Starknet. Veamos como.
Starknet Foundation
La Starknet Foundation es una organización sin fines de lucro que tiene como misión mantener a Starknet como un Public Good, es decir, un servicio que esté disponible para todos los miembros de la sociedad.
Starknet tiene una infraestructura permisionless, que debería estar disponible para todos; pero a su vez, debe ser mantenida de forma segura y eficiente, para que su uso público sea el adecuado.
La fundación será financiada por una subvención de Tokens. Fomentando así, el desarrollo de mecanismos ascendentes para la toma de decisiones sobre cuestiones esenciales del protocolo, como actualizaciones, resolución de disputas y financiación de otros bienes públicos.
Starknet Tokens
¿Un token? ¿Por qué un token? Bueno, anteriormente mencionamos las utilidades que tendría el mismo, pero de todas formas, es importante remarcar varios aspectos.
Starknet siempre se concibió como un protocolo administrado por la comunidad, sin embargo, no ha habido una manera clara de definir quién comprende exactamente a la misma, ni menos recibir alguna recompensa por ello. El token permitirá a los partidarios de la comunidad que contribuyeron al éxito del ecosistema, desempeñar un papel en la gobernanza de la misma y poder así, “alzar su voz”
Este token es necesario para operar en el ecosistema, mantenerlo, asegurarlo, decidir y dirigir su evolución. Sí, realmente un token brinda una infinidad de posibilidades en los ecosistemas. De manera sencilla, el token STRK será utilizado para:
- Gobernanza
- Operar en Starknet (pago de tarifas)
- Mantener y asegurar la red (participación en el mecanismo de consenso)
Además, un servicio justo, abierto y resistente a la censura solo es posible si varias partes se presentan a competir para realizar el trabajo que impulsa el servicio descentralizado como tal; y eso solo puede garantizarse si esos mismos trabajadores son recompensados por su papel como operadores de la red.
Tokenomics de Starknet
El diseño de los tokenomics de Starknet está determinado por la necesidad de alimentar una red que está compuesta por tres agentes principales: usuarios, operadores y desarrolladores.
Los primeros todos sabemos quienes son y qué función cumplen. Ellos terminan brindando “la magia” que el ecosistema necesita.
Los operadores son quienes aseguran la vitalidad de Starknet y brindan el rendimiento de alta calidad que el protocolo exige para los usuarios.
Los desarrolladores son quienes crean y mantienen el software utilizado por los operadores para proteger la red. Es decir, son los encargados de crear las aplicaciones que mejoran la funcionalidad de la red para los usuarios que interactúan con ella.
Asignación inicial de Tokens
En primer lugar, Starkware ha acuñado 10 mil millones de tokens de manera off-chain. Estos tokens, no representan capital en StarkWare ni proporcionan ningún derecho de participación en StarkWare. El suministro circulante aumentará con el tiempo.
La asignación es la siguiente; el 17% a los inversores de StarkWare, el 32.9% a los contribuyentes principales, incluidos empleados, consultores y socios desarrolladores de StarkWare, y el 50.1% restante, a la Fundación Starknet. A su vez, la misma los repartirá de la siguiente manera:
- 9% para aquellos que realizaron trabajos para Starknet e impulsaron o desarrollaron su tecnología subyacente mediante el uso de los sistemas StarkEx.
- 9% de reembolsos en tokens para cubrir parcialmente los costos de incorporación a Starknet desde Ethereum.
- 12% para subvenciones de investigación y trabajo realizado para desarrollar, probar, implementar y mantener el protocolo.
- 10% como reserva estratégica para financiar actividades del ecosistema que estén alineadas con la misión de la fundación.
- 2% para donaciones a instituciones y organizaciones como universidades, ONG, según lo decidan los titulares de los tokens y la fundación.
- 8,1% no asignado, destinado a la tesorería de la fundación que está disponible para apoyar a la comunidad Starknet de la manera en que la comunidad lo decida.
La asignación de los tokens de Starknet y su diseño de asignación, dan prioridad a los desarrolladores de infraestructura y dApps, así como a todas las personas que contribuyen a la seguridad y la salud del ecosistema.
Conclusiones
Starknet emerge como una solución innovadora y prometedora para los desafíos fundamentales de las cadenas de bloques. Al adoptar la tecnología zk-STARKs y operar como un zk-rollup permissionless, Starknet permite a las aplicaciones descentralizadas (dApps) escalar sin comprometer la seguridad ni la componibilidad. La implementación de pruebas STARKs, el lenguaje de programación Cairo y el Account Abstraction Nativo, son elementos claves que contribuyen a la eficiencia y la seguridad del protocolo.
La descentralización, un aspecto crucial en la evolución de las blockchains, Starknet la aborda mediante la Foundation y su token nativo. La Fundación, como organización sin fines de lucro, busca mantener Starknet como un bien público (public good), mientras que el token, desempeña un papel esencial en la gobernanza, operación y seguridad de la red. La asignación cuidadosamente planificada de ellos, refleja un enfoque equitativo para recompensar tanto a los contribuyentes como a los usuarios, y seguir fomentando el desarrollo continuo.
En última instancia, Starknet no solo busca superar los límites tecnológicos, sino también fomentar una comunidad dinámica y descentralizada. A medida que la red se expande, la esperanza es que los desarrolladores aprovechen la capacidad tecnológica de Starknet para crear soluciones impactantes y transformadoras, llevando la descentralización a nuevos niveles.
Construir una red abierta significa aceptar lo desconocido. Internet, Bitcoin y Ethereum, fueron inventados por personas que creían que sus herramientas podrían cambiar el mundo, pero no sabían muy bien cómo. Starknet, espera que su capacidad para escalar cadenas de bloques sea buena para Ethereum y para el ecosistema en sí. No pueden saber qué se construirá, pero sí creen, que Starknet pone una capacidad tecnológica notable en manos de una comunidad creativa, y esperan ver que esa misma comunidad la utilice de innumerables maneras, muchas de ellas, aún impensadas…