Emerald ParaTime- actualizaciones febrero 2022

sd
Oasis Network en español
7 min readFeb 14, 2022

Aviso legal: Esta publicación es una traducción comunitaria hecha por un miembro de la comunidad de Oasis Network. Se hacen rigurosas comprobaciones para proporcionar traducciones precisas pero pueden estar sujetas a errores y omisiones. Oasis Network no se hace responsable de la precisión, confiabilidad o actualidad de la información traducida.

Publicación original en Inglés: https://medium.com/oasis-protocol-project/emerald-paratime-updates-february-2022-3581844651e1

Emerald, el ParaTime compatible con el EVM oficial de Oasis, lanzado en noviembre del 2021. Esta ha aportado una gran cantidad de capacidades a la red de Oasis, incluyendo una fácil integración con las DApps basadas en EVM y el lanzamiento del primer proyecto DeFi en la Red de Oasis en enero del 2022. Estos lanzamientos generaron un gran interés, lo cual provoco un gran crecimiento del uso de Emerald. Para seguir el ritmo de este rápido crecimiento, el equipo de Oasis lanzo una serie de actualizaciones para asegurar una buena experiencia de los usuarios de Emerald.

A partir de hoy, la versión 6.2.0 de Emerald ha estado funcionando correctamente en la Mainnet durante más de una semana después de su lanzamiento el 28 de enero. Cincuenta y cinco validadores de la red de Oasis estuvieron corriendo en los nodos de Emerald, y Emerald está procesando aproximadamente 200 mil transacciones por día. En este blog, nosotros proveemos más detalles sobre el rápido crecimiento que Emerald genero en enero y como el equipo de Oasis resolvió los problemas que aparecieron como resultado de este crecimiento.

CRECIMIENTO DE USO SIGNIFICATIVO

El volumen de transacción en Emerald incremento rápidamente durante enero después del lanzamiento inicial. Esto empezó con solo unas pocas docenas de transacciones por día hasta el 5 de enero, aumentando a más de 18 mil por día el 10 de enero. El primer aumento significativo del volumen de transacciones ocurrió el 11 de enero, cuando el número de transacciones supero las 150 mil por día. Esto coincidió con los lanzamientos de la integración de Wormhole Bridge y YuzuSwap, el primer DEX construido en la red de Oasis, que superó los $100 millones de TVL en las 12 horas posteriores a su lanzamiento.

El rápido crecimiento continuo, llegando finalmente a un máximo de 950 mil transacciones por día el 19 de enero, momento en el que establecimos un precio de gas mínimo distinto de cero en las puertas de enlace del web3 alojadas en Oasis. Después de eso, se estabilizó en alrededor de las 200 mil transacciones por día hasta el final del mes.

Garantizar la salud y la escalabilidad de la red.

El equipo de Oasis está constantemente monitoreando el estado de Emerald para asegurarse de que siempre que surjan problemas, las soluciones se desarrollen e implementen rápidamente. En respuesta al significativo crecimiento del volumen de las transacciones, Oasis y los operantes de la red de nodos tomaron medidas inmediatas para satisfacer la demanda y asegurar la salud de la ParaTime.

Cuando surgió el primer gran aumento de uso el 11 de enero, el equipo inmediatamente incremento la capacidad de hardware de los servidores que existía en la puerta de enlace de la web3 y proveyó nuevas instancias. Esta rápida acción tanto de la red como de sus socios comunitarios permitió que los terminales se escalaran para satisfacer la mayor demanda, la cual actualmente tiene un promedio de alrededor de 23 millones de solicitudes por día.

Compatibilidad con la alta demanda con Emerald 6.1.0

Spam de transacciones sin cargo

Para permitir que los usuarios inicien en Emerald sin tener que pagar tarifas de transacciones, lanzamos Emerald en la Mainnet sin establecer un mínimo explícito de gas de transacción. Cuando el uso de Emerald comenzó a despegar, algunos usuarios comenzaron a aprovechar esta política y configuraron bots que spamearon la red con transacciones sin costo de tarifa. Un posible objetivo de esta actividad es el intentar obtener ganancias colocando órdenes comerciales especulativas en las plataformas DEX.

A medida que esta actividad aumentaba, trabajamos en evitar que esto afectara la experiencia de los usuarios legítimos de la red que no eran bots. En primer lugar, aumentamos el precio mínimo del gas en los extremos de la puerta de enlace de web3 alojada en Oasis y luego implementamos una actualización que permitía a los operadores de los nodos de Emerald ParaTime establecer un precio mínimo de gas distinto de cero en su nodo. Esto significaba que todos los nodos que participaban en el comité de trabajadores de Emerald ParaTime que se actualizaron a la nueva versión podrían imponer un precio mínimo de gasolina y rechazar transacciones sin cargo.

Programación incorrecta de transacciones más allá del límite de gas del bloque

Como el aumento de la demanda condujo a un mayor volumen de transacciones, descubrimos un problema con los límites de gas de transacción que no se consideraban adecuadamente al programar lotes de transacciones. Como resultado, el programador de transacciones de Emerald podía programar lotes que usaban más gas que el límite de gas del bloque. Dichos lotes podrían programarse pero no podrían ejecutarse con éxito ya que tanto los límites de gas de transacción como de bloque se verifican correctamente durante la ejecución.

Esto resultó en que algunas transacciones fallaran incorrectamente con errores de “lote sin gasolina”, por ejemplo:

A los usuarios todavía se les cobraban tarifas de gas a pesar de que sus transacciones no se procesaban debido a que el lote excedía el límite máximo permitido de gas por bloque. Al igual que con todas las tarifas de gas de Emerald, esas tarifas se distribuyeron entre los nodos que estaban programados para el comité de Emerald durante ese tiempo.

El lanzamiento de Emerald ParaTime 6.1.0 abordó tanto el spam de transacciones de tarifa sin costo como los problemas de errores de límite de gas de bloque con:

1. Permitir que los nodos Emerald establezcan un precio mínimo de gas distinto de cero.

2. Una consideración adecuada de los límites de gas de transacción al programar lotes.

La prueba de la actualización comenzó en la Testnet el 19 de enero y se implementó en la Mainnet el 26 de enero.

Programación de transacciones mejorada en Emerald 6.2.0

Después de abordar el spam de transacciones de tarifa sin costo y el problema del límite de gas de bloque con el lanzamiento de Emerald 6.1.0, el equipo se centró en otro problema con el programador de transacciones de Emerald que surgió debido a la forma en que Ethereum maneja las tarifas de gas no utilizadas. En Ethereum (y Emerald), un usuario puede establecer el límite de gas de una transacción en una gran cantidad, por ejemplo, 5 millones de unidades de gas, y si la transacción solo usa 100 000 unidades de gas, el usuario recupera la tarifa de gas no gastada. Sin embargo, debido a que el programador de transacciones ParaTime utilizado por Emerald solo consideraba el límite de gas solicitado por una transacción, era posible un ataque de denegación de servicio en el que un atacante podía consumir grandes cantidades de capacidad disponible en los bloques de Emerald declarando límites de gas de transacción muy grandes mientras que en realidad utilizaba y pagaba cantidades mucho menores.

La solución a este problema fue aumentar el SDK de ParaTime con un nuevo programador de transacciones que sabe cuánto gas consumen realmente las transacciones. Al considerar la cantidad de gas que las transacciones usan realmente al construir lotes, el nuevo programador de transacciones garantiza que los ParaTimes que adoptan la semántica de gas de Ethereum puedan empaquetar bloques de manera eficiente.

Emerald 6.2.0, que cambia al nuevo programador de transacciones, se implementó en Testnet el 27 de enero y el equipo de Oasis lo propuso para Mainnet solo un día después, el 28 de enero.

Las versiones Emerald 6.1.0 y 6.2.0 eran compatibles con versiones anteriores, lo que permitía que ParaTime permaneciera en funcionamiento mientras los nodos participantes realizaban las actualizaciones. Esto permitió que ambas actualizaciones se completaran sin causar ningún tiempo de inactividad.

Respuesta rápida de los operadores de nodos de Emerald

A pesar del anuncio de Emerald 6.2.0 el viernes por la noche en las zonas horarias de Asia y Europa, los operadores de nodos respondieron rápidamente para actualizar sus versiones de nodos Emerald ParaTime y Oasis. En menos de cuatro horas después del anuncio oficial de la versión 6.2.0, mas de la mitad delos 65 nodos de Emerald fueron actualizados, y 56 de los 65 fueron actualizados en menos de 24 horas.

¡Estamos muy agradecidos por nuestra increíble comunidad de dedicados y apasionados operadores de nodos que se ejecutan en la red de Oasis!

--

--