Autor: David Zapata
En el sector blockchain, la innovación constante es clave para el desarrollo y la adopción masiva. Mientras que Bitcoin abrió el camino y Ethereum expandió las posibilidades con contratos inteligentes, nuevas plataformas continúan emergiendo para resolver las limitaciones presentes en estas redes pioneras. Aquí es donde aparece Avalanche como una solución a estos problemas.
El nacimiento de Avalanche
En mayo del 2018, un misterioso grupo de desarrolladores conocido como Team Rocket publicó un artículo que introducía un nuevo protocolo de consenso. Este protocolo prometía superar las deficiencias de las redes existentes al ofrecer una solución más rápida, escalable y eficiente para la verificación de transacciones.
Emin Gün Sirer, un renombrado profesor de ciencias de la computación en la Universidad de Cornell, fue una pieza clave y dirigió el desarrollo de Avalanche. Inspirado por el potencial del protocolo, Sirer fundó Ava Labs, una empresa destinada a materializar Avalanche en una blockchain funcional y robusta.
A través de su trabajo con estudiantes de doctorado y otros investigadores de Cornell, Sirer y su equipo desarrollaron y refinaron el protocolo, llevándolo a un público más amplio. En marzo de 2020, el código de base AVA se lanzó como código abierto, marcando un hito significativo en su desarrollo.
¿Cómo funciona Avalanche?
Avalanche se ha posicionado como una solución revolucionaria que intenta resolver el trilema de la escalabilidad, seguridad y descentralización que enfrentan muchas redes. Su estructura se basa en un innovador mecanismo de Proof of Stake que difiere de los modelos tradicionales de prueba de trabajo empleada por redes como Bitcoin.
La red primaria de Avalanche se compone de tres blockchains principales que cooperan entre sí para maximizar la eficiencia:
- Exchange Chain (X-Chain): Se dedica principalmente a la creación y el intercambio de activos digitales, incluyendo al token nativo de Avalanche, AVAX.
- Contract Chain (C-Chain): Está diseñada para el despliegue de contratos inteligentes, utilizando el lenguaje de programación Solidity, al ser compatible con la Ethereum Virtual Machine (EVM), lo que facilita la interoperabilidad y el desarrollo de aplicaciones descentralizadas (dApps).
- Platform Chain (P-Chain): Se encarga de la coordinación de los validadores y la gestión de las Subnets, que son esenciales para la escalabilidad de la plataforma.
Al separar las responsabilidades entre tres cadenas distintas (X-Chain, C-Chain, P-Chain) Avalanche permite que cada una se especialice en una función específica, optimizando el rendimiento general del sistema. Este diseño modular facilita a Avalanche escalar horizontalmente de manera eficaz.
Consenso de Avalanche
El corazón de Avalanche es su protocolo de consenso único, conocido como Consenso Avalanche. Este enfoque se basa en la votación submuestrada repetida, un proceso en el que los validadores toman decisiones rápidas y de bajo costo para confirmar transacciones sin la necesidad de alcanzar un acuerdo de toda la red.
Cuando un validador necesita decidir si acepta o no un bloque, no lo decide por sí mismo. En lugar de eso, pregunta a un pequeño grupo de otros validadores su opinión. La repetición de este proceso asegura que el consenso se logre de manera efectiva y eficiente, similar a cómo un pequeño copo de nieve puede desencadenar una gran avalancha.
Imagina este proceso como un juego de “teléfono roto”, donde un niño susurra un mensaje al oído del compañero más cercano, y este mensaje se pasa de un amigo a otro. Al final, el último niño dice en voz alta el mensaje, y si es correcto, el juego termina con éxito. Del mismo modo, los validadores en Avalanche “chismean” entre ellos hasta que todos están de acuerdo con la validez de una transacción.
La eficiencia del consenso se ve potenciada en situaciones cotidianas donde las transacciones no presentan conflictos, permitiendo una finalización rápida y fluida del proceso de verificación. En el caso de que si aparezcan conflictos, el sistema está diseñado para que los validadores se agrupen alrededor de la opción más popular, entrando en un bucle de retroalimentación positiva hasta que todos estén de acuerdo.
¿Realmente es tan eficiente?
Tras explorar el funcionamiento del Consenso Avalanche, surge una pregunta: ¿Realmente es tan eficiente como promete? La respuesta corta es SÍ, pero vale la pena profundizar en cómo y por qué. Hay dos métricas que podemos usar para medir el rendimiento de una blockchain:
- Throughput: Se refiere a la capacidad de manejar un alto volumen de transacciones simultáneamente, se mide en transacciones por segundo (TPS).
- Time to Finality: Se trata de la rapidez con la que las transacciones son confirmadas.
Ahora, imagina que la blockchain es como una autopista donde cada carro representa una transacción. Todos los carros viajan a la misma velocidad pero hay diferencias claves.
En este caso, el Throughput representaría el número de carriles de la autopista, cuantos más carriles, más carros pueden viajar a la vez. Mientras el Time to Finality se refiere al tiempo que tarda un carro en ir desde el punto de inicio hasta su destino.
Lo ideal es construir autopistas con muchos carriles pero que nos lleven a nuestro destino lo más rápido posible. Justo esto es lo que diferencia a Avalanche de otras redes, alcanzando 2500 TPS por Subnet y con un tiempo de finalización de 0.8 segundos, se asemejaría a una autopista de alta tecnología con muchos carriles y un viaje casi instantáneo al destino. Retomando la analogía de la autopista, estas redes se verían así:
Subnets
Antes de profundizar en las capacidades específicas de las subnets de Avalanche, es esencial entender cómo ha evolucionado la tecnología blockchain a lo largo de las generaciones:
- Blockchains de primera generación: Un único activo, una única cadena. El mejor ejemplo es Bitcoin.
- Blockchains de segunda generación: Múltiples activos, una única cadena. Acá está Ethereum.
- Blockchains de tercera generación: Múltiples activos, Múltiples cadenas. Encontramos a Avalanche, Cosmos y Polkadot.
En Avalanche, las subnets representan una evolución en la arquitectura de la blockchain, permitiendo la creación de redes con sus propias normas, tokenomics y capa de ejecución.
Los validadores de Avalanche tienen la peculiaridad de que pueden formar parte de varias subnets al mismo tiempo, pero todos deben participar en la validación de la red principal. Este requisito fortalece la seguridad, mientras se facilita la especialización y la independencia operativa de cada subnet individual.
Este sistema modular y flexible permite que las subnets se adapten específicamente a diferentes necesidades y regulaciones, como cumplimiento normativo o requisitos técnicos especiales, facilitando así la implementación de blockchains en diversos contextos industriales y geográficos.
Separar el ecosistema en diferentes subnets genera independencia entre ellas. Retomando la analogía de la autopista, es similar a un sistema de carreteras donde cada vía es independiente de las otras.
En un escenario donde una cadena experimenta congestión debido a eventos que generan un alto tráfico, como el lanzamiento de un nuevo NFT, fluctuaciones extremas en los precios de los tokens, o la inauguración de un juego, esta congestión se limita exclusivamente a esa cadena particular. Las otras cadenas permanecen sin afectarse, operando normalmente sin el lastre de la sobrecarga de la cadena congestionada.
Comunicación entre subnets
¿Tienen estas subnets independientes una manera de comunicarse entre ellas? Claro! A pesar de ser independientes, estas cadenas están interconectadas, permitiendo la comunicación e interacción entre ellas.
Esta interoperabilidad se logra permitiendo que las cadenas se pasen mensajes entre sí, los cuales codifican datos arbitrarios que pueden dar fé de algún evento en la cadena de origen, y ocasionando una acción en la cadena de destino.
Aquí es donde viene Teleporter, una herramienta que actúa como una interfaz intuitiva para desarrolladores, diseñada para facilitar la interacción fluida entre varias cadenas. Permitiendo que tokens, NFTs, oráculos, o cualquier tipo de dato, se comunique de manera efectiva entre subnets.
Imagina que estás conduciendo en una carretera y deseas cambiar rápidamente a otra para evitar un tráfico denso o simplemente para llegar a otro destino que se encuentra en una ruta diferente. Teleporter permite este tipo de movilidad rápida y eficiente entre subnets, facilitando el tránsito de activos de una cadena a otra sin complicaciones ni demoras significativas.
Subnets personalizables
El creador de una subnet puede personalizarla a su antojo para satisfacer las necesidades de su proyecto. Son muchas las posibilidades, desde poder incluir un token nativo personalizado, el uso de una máquina virtual diferente, lo que permitiría poder leer contratos inteligentes escritos en Rust (en caso de WASM) o Move (en caso de Move VM), o incluso limitar el acceso a la subnet.
Volvamos al ejemplo de la autopista, imagina que estás cansado de tener que viajar en carro, ahora quisieras viajar en barco y sentir la brisa del mar. Al crear una subnet en Avalanche, es como construir tu propio canal especializado que permite el paso de barcos en lugar de carros. Este canal, diseñado específicamente para tus necesidades de navegación, puede ser tan único como lo desees. Podrías establecer reglas especiales para quién puede navegar en él, qué tipo de barcos son permitidos, o incluso diseñar un sistema de peajes único para diferentes tipos de embarcaciones.
De este modo, la personalización de una subnet en Avalanche ofrece la flexibilidad de adaptar completamente la infraestructura y las reglas a las necesidades específicas de tu proyecto, asegurando que la cadena sea óptima para el propósito que buscas.
Subnets vs Layer 2
Más allá de las subnets y los enfoques multi-chain, las soluciones de escalabilidad blockchain abarcan diversas tecnologías, siendo las Layer 2 una de las más prominentes. Pero, ¿realmente superan estas a las subnets en eficacia y funcionalidad?
Las soluciones Layer 2, son esenciales en el ecosistema de Ethereum, cómo el modelo rollups, diseñado para mejorar la escalabilidad y el rendimiento al realizar cálculos fuera de la cadena principal y sólo registrar los resultados finales en Ethereum. Esta metodología reduce significativamente la carga computacional en Ethereum, buscando acelerar transacciones y disminuir costos
En términos de rendimiento y costos, tanto las soluciones de Layer 2 como las subnets de Avalanche buscan optimizar las transacciones y reducir tarifas. Sin embargo, las subnets permiten el procesamiento paralelo, lo que potencialmente aumenta aún más el rendimiento y la eficiencia. Los rollups, a pesar de ser efectivos en desplazar parte de la carga computacional, pueden enfrentar demoras cuando los activos son transferidos de vuelta a la cadena principal. Además, los costos de transacción en las soluciones de Layer 2 están indirectamente vinculados a los precios del gas en Ethereum, mientras que en Avalanche, los costos de gas dentro de una subnet son completamente independientes.
Esta comparación revela que, aunque ambos métodos intentan mejorar la escalabilidad y el rendimiento, lo hacen usando estrategias diferentes que muestran lo distintos que son sus diseños y enfoques. Aquí, Avalanche se destaca por ofrecer mayor independencia y flexibilidad.
Conclusión
A lo largo de esta guía, hemos explorado cómo Avalanche se distingue del resto de blockchains gracias a su enfoque único en resolver problemas de escalabilidad, seguridad e interoperabilidad. Con su estructura innovadora basada en subnets, Avalanche no solo supera muchas de las limitaciones de las redes anteriores sino que también establece un nuevo estándar para el rendimiento y la flexibilidad de las redes blockchain.
La capacidad de Avalanche para permitir la personalización extrema de subnets y su mecanismo de consenso rápido y eficiente proporcionan a los desarrolladores las herramientas necesarias para construir soluciones adaptadas a necesidades específicas sin comprometer la velocidad o la seguridad. Comparado con otras tecnologías como las soluciones Layer 2, Avalanche ofrece una independencia operativa y una flexibilidad que es esencial para una gama más amplia de aplicaciones, desde finanzas descentralizadas (DeFi) hasta soluciones empresariales.
En conclusión, mientras que el panorama de las blockchains sigue evolucionando, Avalanche se posiciona como una plataforma clave que no sólo enfrenta los desafíos actuales sino que también anticipa las necesidades futuras de la tecnología blockchain, demostrando ser una solución verdaderamente revolucionaria y adaptativa en el mundo digital.