Fase 5 de Apricot: P<>C Tranferencias Atomicas, Procesamiento Atómico de Transacciones, y Optimizaciones del Algoritmo de la Cadena C

Luis Alberto Leon
Avalanche en español
7 min readFeb 28, 2022

--

La quinta fase de Apricot se activará en la red principal de Avalanche a la 1 p.m. EST (6 p.m. UTC) el jueves 2 de diciembre.

Actualización: Luego de una activación exitosa de AP5 en Fuji Testnet, la activación de AP5 en Avalanche Mainnet se programó para el jueves 2 de diciembre a la 1 p.m. EST (6 p. m. UTC). El código (AvalancheGo@v1.7.0) para la activación de Avalanche Mainnet se puede encontrar aquí.

Debido a que esta actualización incluye optimizaciones de protocolo que no son compatibles con las versiones de AvalancheGo < v1.7.0, su nodo se marcará como desconectado si no se actualiza en el momento de la activación. Si tu nodo es un validador, eso significa que otros nodos informarán de que tu nodo tiene un tiempo de actividad menor, lo que puede poner en peligro tus recompensas de staking.

Como recordatorio, puedes verificar que tu validador esté en línea y en buen estado con la herramienta de estadísticas de participación (https://stats.avax.network/dashboard/staking/) y registrarte para recibir notificaciones de actualización mediante la herramienta de notificación (https://notify.avax.network/).

Esta noche, se publicó el código de prelanzamiento para la Fase Cinco de Apricot Upgrade (“AP5”), que se activará a las 10 a. m. EST (3 p. m. UTC) el miércoles 24 de noviembre en Fuji Testnet. Tenga en cuenta que este código de versión preliminar solo funciona en Fuji. Si lo ejecuta en Mainnet, se cerrará al iniciar.

A la espera de una activación exitosa de AP5 en Fuji, se anunciará la hora de activación de AP5 en Avalanche Mainnet y se publicará la versión oficial de AP5 AvalancheGo (v1.7.0).

Esta actualización incluye optimizaciones de protocolo que no son compatibles con las versiones de AvalancheGo inferiores a v1.7.0. Si ejecutas un nodo en Fuji Testnet, se recomienda que actualices tu software a AvalancheGo >= v1.7.0 antes de la hora de activación en Fuji. Si eres un operador de nodo de Mainnet, no requieres ninguna acción hasta que se publique el código oficial AvalancheGo@v1.7.0.

P<>C Atomic Transfers

Paso de la cadena C a la cadena X en https://wallet.avax.network

Avalanche utiliza una abstracción llamada Memoria Compartida para facilitar el movimiento de AVAX y ANT (Tokens Nativos de Avalanche) entre la cadena C, la cadena P y la cadena X. En la Memoria Compartida, todas las transferencias en vuelo se representan como UTXOs que pueden ser consumidas de forma asíncrona por cualquier cadena en la que el propietario del UTXO llame a `ImportTx`. Sin embargo, hay una GRAN excepción, los usuarios sólo pueden ir entre X<>C y X<>P. Esto significa que alguien que intenta apostar AVAX que recibió en la cadena C tiene que viajar a través de la cadena X para llegar a la cadena P. Este paso adicional añade tasas, complejidad y latencia al proceso de transferencia C<>P (uno de los flujos más comunes en la Red Primaria).

A partir de AP5, los usuarios pueden consumir UTXOs en Memoria Compartida en CUALQUIER Cadena. Esto significa que ahora se pueden exportar fondos desde C e importarlos directamente a P, o viceversa. Esta nueva funcionalidad facilita la construcción de interesantes mecanismos de cadena cruzada en la Red Primaria y facilita a los integradores que no pueden indexar el DAG de la X-Chain el soporte de estacas.

Procesamiento atómico de transacciones

Número de transacciones atómicas de la cadena C por día

Cuando se lanzó la red Avalanche, el número de transacciones atómicas que podían procesarse en cualquier bloque (tanto en la cadena C como en la cadena P) estaba limitado a 1. Cuando hay más de una transacción pendiente en el mempool, los usuarios pueden encontrar retrasos inusuales mientras esperan que su transacción sea finalmente priorizada (ordenada por AVAX burned) e incluida en un bloque. Este rendimiento fue suficiente durante el primer año de existencia de la red, pero ha empezado a convertirse en un cuello de botella. Desde el inicio de Avalanche Rush, el número de transacciones atómicas en la red primaria ha aumentado entre 7 y 8 veces cada día (a menudo en oleadas).

A partir de AP5, los bloques de C-Chain y P-Chain contendrán múltiples transacciones atómicas. Para el lanzamiento inicial, esto está limitado a ~10 Transacciones Atómicas por bloque, pero podría incrementarse en actualizaciones posteriores a medida que aumente el uso. Junto con la compatibilidad con las transacciones atómicas de P<>C, esta actualización mejorará enormemente la experiencia de las transferencias entre cadenas.

Optimizaciones del algoritmo de la cadena C

En la fase 3 de Apricot, se añadieron tarifas dinámicas a la cadena C utilizando un algoritmo llamado “Moderato” (que tiene como objetivo una utilización específica de la red en el tiempo). Este algoritmo se parametrizó para que tuviera como objetivo el consumo de 10 millones de unidades de gas cada 10 segundos. La fase 4 de Apricot introdujo Snowman++ y tasas basadas en bloques para reducir la cantidad de contención en la red y animar a los validadores a agrupar las transacciones en menos bloques, pero dejó sin modificar el objetivo de consumo de gas y la tasa de producción de bloques. Hemos realizado un gran número de simulaciones para generar el conjunto de parámetros utilizados en AP4 y AP5, pero no hay nada como el mundo real.

Variación porcentual del precio del gas desde el precio mínimo del gas del minuto anterior hasta el precio máximo del gas del minuto siguiente

Aunque AP4 consiguió reducir en gran medida la contención en la cadena C, vimos que el precio mínimo del gas oscilaba a un ritmo mayor que en nuestras simulaciones. De un minuto a otro, observamos cambios del 20 al 50%. Esto afectó directamente a la experiencia de algunos usuarios, que vieron cómo sus transacciones se “atascaban” cuando el precio mínimo del gas subía en el momento en que su transacción llegaba al mempool. Esos usuarios tenían que esperar a que el precio mínimo del gas bajara antes de ver su transacción incluida en un bloque (a menos que “aceleraran” su transacción utilizando su monedero).

A partir de AP5, Moderato está ahora parametrizado para ser ~66% más estable, tener como objetivo 15M unidades de consumo de gas por 10 segundos, y regular mejor la dosificación de bloques (menos bloques que estén más llenos). La estabilidad adicional del precio del gas debería hacer más fiable la construcción de transacciones, el aumento del consumo de gas objetivo debería reducir el precio medio del gas, y el aumento de la dosificación de bloques debería aumentar el número de transacciones que se procesan a un precio del gas determinado. En los próximos meses, seguiremos buscando optimizaciones de la EVM que justifiquen un mayor aumento del consumo de gas objetivo.

Links de Utilidad

  • El código de actualización de la quinta fase de Albaricoque se puede encontrar aquí.
  • Un tutorial para actualizar su nodo está disponible aquí.
  • Si tiene alguna pregunta, póngase en contacto con el equipo de desarrolladores de Ava Labs aquí.

Preguntas Frecuentes

¿Cómo puedo actualizar mi nodo?

El proceso para actualizar a AvalancheGo v1.7.0 es el mismo que cualquier otra actualización. Si construyes desde el código fuente, ejecuta el script de construcción como antes. Si usas los binarios precompilados, invócalos como antes. Si utiliza el script de instalación, utilícelo como antes.

Una vez que inicie AvalancheGo v1.7.0, no necesita hacer nada más. Puede encontrar más información sobre cómo actualizar un nodo aquí. Como recordatorio, es una buena práctica tener una copia de seguridad de su clave/certificado de staking.

Utilizo Metamask. ¿Tengo que cambiar algo?

No.

¿Tengo que actualizar mi nodo?

Si no actualizas tu validador a la v1.7.0 antes de la fecha de activación de la Mainnet de Avalanche (que se compartirá en los próximos días), tu nodo se marcará como desconectado y otros nodos informarán de que tu nodo tiene un tiempo de actividad menor, lo que puede poner en peligro tus recompensas de staking.

¿Hay algún cambio en los requisitos de hardware?

No.

¿La actualización disminuirá el tiempo de funcionamiento de mi validador?

No. Como recordatorio, puede comprobar el tiempo de actividad estimado de su validador utilizando la función `info.uptime` API call:

Creo que algo va mal. ¿Qué debo hacer?

Primero, asegúrese de haber leído la documentación a fondo y buscar en las Preguntas Frecuentes. Es posible que responda a su pregunta en alguna parte. Si no ve la respuesta, vaya a nuestro Discord y busque su pregunta. Si no se ha planteado ya, publíquela en el canal más adecuado.

Acerca de Avalanche

Avalanche es la plataforma de contratos inteligentes más rápida en la industria de la cadena de bloques, según lo medido por el tiempo hasta la finalización. Avalanche es increíblemente rápido, de bajo costo y ecológico. Cualquier aplicación habilitada para contratos inteligentes puede superar a su competencia si se implementa en Avalanche. ¿No lo crees? Pruebe una aplicación en Avalanche hoy.

Website | Whitepapers | Twitter en Español | Discord | GitHub | Documentos | Explorer | Telegram en Español | Facebook en Español | LinkedIn | Reddit | YouTube

--

--