INFORMACIÓN
Para que el contenido de esta página sea correcto y esté actualizado, las contribuciones son bienvenidas.
Tanto Polkadot como Avalanche tienen una arquitectura que permite diseñar blockchains para aplicaciones específicas y conectarlas a una red primaria. En Polkadot, la red primaria es la Relay Chain y Avalanche lo hace con 3 cadenas principales – la P-chain, la X-chain y la C-chain. Al igual que Polkadot tiene sus Parachains que se conectan a la Relay Chain, Avalanche tiene lo que se llama subnets (subredes). Al igual que Polkadot, Avalanche también utiliza un mecanismo PoS para lograr el consenso. Los validadores hacen staking de sus tokens AVAX para participar en el sistema PoS y asegurar la red.
Arquitectura
La arquitectura de Avalanche separa la responsabilidad de una plataforma de smart contracts (contratos inteligentes) de capa 1 en tres cadenas. Esto permite separar la preocupación por los validadores y el consenso, las transacciones y la ejecución de los smart contracts. Avalanche utiliza una estructura DAG (Directed Acyclic Graph) para una de sus cadenas, que no es lineal. Polkadot utiliza la estructura de cadena lineal similar a Bitcoin y Ethereum. Los smart contracts en Polkadot se implementan en parachains. Polkadot al ser una blockchain de capa 0, no es una plataforma de smart contracts y no tiene planes de soportarlos nativamente.
Fuente de la imagen: Avalanche docs.
P-chain (Plataforma)
La P-chain es responsable de mantener el conjunto de validadores y asegurar la red. Los poseedores de tokens AVAX pueden crear sus propios nodos y convertirse en validadores haciendo staking de sus tokens. Al igual que el sistema NPoS que utiliza Polkadot, Avalanche utiliza un PoS delegado que permite a los poseedores de tokens delegar su stake de tokens en los validadores existentes en lugar de ejecutar sus propios nodos.
X-chain (Intercambio)
La X-chain es responsable de la capa de transacciones de la blockchain de Avalanche. Utiliza un modelo UTXO como Bitcoin mientras que Polkadot utiliza un modelo de cuenta como Ethereum. Es la única cadena que implementa el modelo DAG (Directed Acyclic Graph) para su blockchain, lo que la convierte en la cadena más rápida de la red Avalanche. Esta cadena no soporta la ejecución de smart contracts.
C-chain (Contratos)
La C-chain es la más activa de la red Avalanche. Permite que diferentes máquinas virtuales ejecuten el código de los smart contracts. De inmediato, tiene soporte para EVM y AVM (Avalanche VM). C-Chain ejecuta un fork (bifurcación) de go-ethereum llamada coreth que tiene las porciones de red y consenso reemplazadas con equivalentes de Avalanche.
Como Polkadot no tiene una capa de smart contract listos para usar, las habilidades de smart contract EVM y WASM se encuentran en las capas de Parachain. Esta es la diferencia más importante entre Polkadot y Avalanche. Las capacidades de los smart contracts de Avalanche están incorporadas en su modelo de tres cadenas.
Subnets o sub-networks
Avalanche define una subnet como un conjunto dinámico de validadores que logran el consenso en un conjunto de blockchains. En la terminología de Polkadot, las subnets pueden verse como runtimes de blockchains públicas o privadas que pueden construirse sobre la network primaria y permiten que un subset de validadores valide estos runtimes. Al igual que las Parachains en Polkadot, las Subnets proporcionan la libertad de elegir el modelo de tarifas de transacción, tokenomics y reglas de compilación personalizadas. Uno o varios validadores pueden empezar a validar un runtime de la subnet, convirtiéndose efectivamente en un subset del conjunto de validadores de la Network Primaria.
Consenso
Fuente de la imagen: gyuho.dev.
El consenso de Avalanche utiliza una familia de protocolos para lograr la seguridad, la capacidad de respuesta y la finalidad. Se conocen como los protocolos Snow*. Este grupo de protocolos compuesto en conjunto utiliza tanto el consenso clásico como el de Nakamoto, así como un sistema de Proof-of-Stake delegado para sus creadores de bloques.
La familia Snow es una colección jerárquica de sistemas utilizados para alcanzar la finalidad en Avalanche:
Slush
Snowflake
Snowball
Avalanche
Snowman
Slushie
En comparación con Polkadot, Avalanche utiliza un sistema híbrido asincrónico que se basa en un enfoque clásico y de Nakomoto. Polkadot utiliza un modelo híbrido sincrónico que combina BABE and GRANDPA, donde BABE es el algoritmo utilizado para construir bloques de forma probabilística, y GRANDPA es un mecanismo de finalidad que utiliza un enfoque determinista para añadir bloques a la cadena más larga. Al final, los validadores se ponen de acuerdo en cadenas enteras, en lugar de nuevos bloques individuales.
Snowball
El protocolo Snowball es un algoritmo que los nodos utilizan para llegar a un consenso. Cada nodo consulta continuamente a un número x de validadores y toma el consenso mayoritario y lo adopta como propio. Este método, en circunstancias normales, hará que la red llegue a un consenso. La escalabilidad de Snowball es prometedora, ya que a medida que aumenta el número de participantes en la red, el número de mensajes de consenso que se transmiten sigue siendo el mismo. Los nodos no consultarán más de 20 nodos a la vez.
DAG (Directed Acyclic Graph)
Los DAG son grafos formados por vértices y bordes. En Avalanche se utilizan para ordenar parcialmente las decisiones, como las transacciones. Los vértices apuntan unos a otros mediante bordes, y cuando se ordenan topológicamente los vértices y los bordes crean una secuencia. Los bordes en el caso de Avalanche pueden ser conflictivos, y los nodos utilizarán el algoritmo de snowball para tomar decisiones sobre qué bordes mantener y cuáles no.
Mecanismo de Staking
Avalanche utiliza un mecanismo de Proof-of-Stake delegado, sin ningún tipo de slashing (recorte). La barrera de entrada para staking como validador de un nodo completo es de 2500 AVAX, y de 25 AVAX para convertirse en delegador. El periodo mínimo de stake es de dos semanas y el máximo de un año, tanto para los validadores como para los delegadores. La documentación de Avalanche no aclara qué sucede después de un año, pero es probable que los validadores tengan que volver hacer stake y comenzar un nuevo periodo. Los validadores adquieren puntos por el tiempo de actividad y la corrección de su trabajo, y la remuneración de las recompensas depende de ello.
En Polkadot el stake mínimo para ser validador es variable, lo mismo para ser nominador aunque se necesitan 10 DOT para configurar una cuenta de stash y controller para empezar a nominar. El verdadero mínimo necesario para ser lo suficientemente competitivo como para ser incluido en el conjunto activo de validadores, o ser elegido con éxito como nominador depende de las cantidades mínimas en stake en la red en un momento dado. Lee más sobre esto en la página de staking.
Paso de mensajes
Avalanche no tiene un mecanismo nativo de paso de mensajes sin confianza. En su lugar, se basa en puentes. Aunque, como es un protocolo compatible con EVM, es capaz de interoperar a nivel de token. Sin embargo, las subnets no disponen de una capa de mensajería con soporte inmediato. Polkadot, con sus protocolos de mensajería XCM y XCMP, permite un esquema de mensajería nativo y sin confianza, apoyando así la componibilidad de las cadenas y permitiendo el desarrollo de potentes aplicaciones cross-chain (entre cadenas).
Gobernanza
Según su whitepaper, Avalanche tiene previsto contar con un mecanismo de gobernanza on-chain. En la actualidad, no dispone de un sistema on-chain u off-chain en producción. Su sistema de gobernanza se limitará a actualizar sólo unos pocos parámetros clave del protocolo, que incluyen:
Monto de Staking: Este valor define el stake mínimo requerido para ser colocado como fianza antes de participar en el sistema.
Tiempo mínimo de staking para un nodo: La cantidad mínima de tiempo requerida para que un nodo participe en el sistema.
Tiempo máximo de stking para un nodo: La cantidad máxima de tiempo que un nodo puede hacer stake.
Tasa de minteo: La función de tasa de recompensa, también denominada tasa de minteo, determina la recompensa que un participante puede reclamar en función de su cantidad de staking dado un cierto número de x nodos divulgados públicamente bajo su propiedad, durante un período de t plazos mínimos consecutivos de tiempo de staking, tal que tiempo mínimo de staking ≤ tiempo máximo de staking.
Importe de la tasa de transacción: La estructura de tarifas, que es un conjunto de parámetros de tarifas gobernables que especifican los costos de varias transacciones.
La limitación de la funcionalidad de gobernanza es una elección de diseño para aumentar la previsibilidad y la seguridad.
El mecanismo de gobernanza de Polkadot ha estado en producción desde el principio y se utilizó para liberar lentamente la funcionalidad y descentralizar la red inicial. Tampoco se limita a unos pocos parámetros y, de hecho, todo el runtime está sujeto a cambios a través del protocolo, lo que convierte a Polkadot en un meta-protocolo.
Actualizaciones
Las actualizaciones de Avalanche son administradas por los desarrolladores del protocolo en Ava Labs. En Polkadot, las actualizaciones forkless se administran y desployan a través de la gobernanza on-chain. Al realizar las actualizaciones, cada validador de la Subnet deberá realizar la misma actualización. Esto requiere un esfuerzo de coordinación entre los validadores de la Subnet. En Polkadot, las actualizaciones de Parachains pueden deployarse automáticamente sin ninguna coordinación con los validadores en la Relay Chain.
Conclusión
Avalanche ha tomado algunas decisiones de diseño que permiten un entorno mejorado de desarrollo de smart contracts en el que los ingenieros de protocolo pueden tener la libertad de crear sus propias blockchains e incluirlas en el ecosistema de Avalanche a través de subnets. Las contrapartidas son que la autonomía de diseño es limitada y las blockchains tienen que comprar las decisiones de diseño de las cadenas principales de Avalanche. A diferencia de las parachains en Polkadot, las subnets no pueden compartir la seguridad de las cadenas principales. Además de utilizar la finalidad de los bloques y la seguridad de la Relay Chain, las parachains en Polkadot utilizan XCM para pasar mensajes nativos sin confianza, en lugar de tener que depender de múltiples soluciones de puente. Sin embargo, las subnets son fáciles de lanzar en comparación con las parachains, dado que sólo necesitan un mínimo recomendado de 5 validadores, lo que hace que los costos de lanzamiento sean predecibles. Avalanche tiene planes para implementar características de seguridad compartida, interoperabilidad, componibilidad y gobernanza on-chain que ya ofrece Polkadot.
Referencias
The Avalanche Platform Whitepaper
The Avalanche Consensus Whitepaper
The AVAX Token Dynamics Paper
Nakomoto vs Snow consensus