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: Oasis February 2023 Engineering Update
Llevamos dos meses de este nuevo año y la Ingeniería de Oasis no ha perdido el ritmo. Febrero ha supuesto un enorme progreso en diferentes frentes de la pila de Oasis. Durante este proceso, la Testnet de Sapphire experimentó un récord máximo en el número de transacciones y no se reportaron tiempos de inactividad u otros incidentes.
El resumen mensual de Febrero de Ingeniería de Oasis incluye:
- Actualizaciones de wallet y CLI
- Actualizaciones de red (Mainnet y Tesnet)
- Actualizaciones del Indexador y Explorador
- Actualizaciones de la plataforma de desarrollo y ParaTime
- Actualizaciones del Core de Oasis
¡Continua leyendo para conocer más en profundidad sobre el trabajo de Ingeniería de Oasis en Febrero!
Actualizaciones de wallet y CLI
En Febrero , la versión web de la wallet de Oasis vio un número de aumentos de dependencias de mantenimiento.
La ingeniería de Oasis está ahora mismo en mitad de unas pruebas de almacenamiento local para datos sensibles de la wallet en diferentes navegadores. Por consiguiente, no habrá nuevas releases hasta que las pruebas hayan finalizado- En total, 31 pull requests se han mergeado.
La CLI de Oasis ahora soporta el mostrar y enviar transacciones generadas offline almacenadas en un fichero (por ejemplo, generadas por la CLI de Oasis o por los comandos de oasis-node). Los nuevos comandos son “tx show” y “tx submit” (#25, #27). La integración con Ledger para firmar ParaTimes está en su estado final y se planea que sea mergeado en Marzo. En total, 17 pull requests han sido mergeadas en el repositorio CLI.
Actualizaciones de red
Las ParaTimes de Emerald, Sapphire y Cipher fueron todas estables en ambos entornos de Mainnet y Testnet en Febrero. No se han reportado tiempos de inactividad u otros incidentes.
El 7 de Febrero, el parche del core de Oasis 22.2.6 release fue propuesto para la Testnet y una semana después, el 13 de Febrero para la Mainnet.
El parche release del Core de Oasis coincidió con el upgrade de Sapphire a versión 0.4.0-tesnet en Tesnet y 0.4.0 en Mainnet respectivamente, una semana después.
Finalmente, el 27 de Febrero, Emerald 10.0.0 fue propuesto para la Mainnet.
Para descubrir más sobre los parches del Core de Oasis y las nuevas funcionalidades de las ParaTimes, lee la sección de abajo.
Resumen de Mainnet
El número promedio de transacciones diarias en Emerald vio una ligera disminución en Febrero (~14.300 transacciones comparado con 15.300 en Enero). Sin embargo, el pico de 25.358 transacciones el 8 de Febrero, fue más alto que el del mes anterior — 21.442 el 14 de Enero.
El número promedio de transacciones diarias en Sapphire ha visto un incremento constante en Febrero (1.157 transacciones compartado con 1.125 en Enero). El pico de 1.174 transacciones el 16 de Febrero fue también más alto que el del mes anterior — 1.160 transacciones el 18 de Enero.
Los nodos de Oasis en Mainnet a día 28 de Febrero de 2023 son:
- 120 nodos validadores
- 6 nodos key managers
- 32 modos de cómputo de la ParaTime de Cipher
- 52 nodos de cómputo de la Paratime de Emerald
- 24 nodos de cómputo de la Paratime de Sapphire
Resumen de Testnet
Dos eventos marcaron las estadísticas de Febrero en Testnet. Oasis ha reducido el número de las transacciones “healthcheck” en Emerald y Sapphire el 16 de Febrero y este volvió a aumentar el 28 de Febrero. Como vemos, hay una fluctuación notable de las transacciones diarias. Adicionalmente, anunció el hackathon Privacy4Web3 y después llevó a cabo el primer workshop de desarrolladores en la Oasis Privacy Layer, durante el EthDenver, el cual provocó un aumento en el número de transacciones.
En Emerald, el número promedio de transacciones diarias fue alrededor de 3.000 hasta el 16 de Febrero. Después cayó a 1.200 transacciones diarias aproximadamente. El promedio diario en todo Febrero fue más bajo que en Enero (2.271 transacciones compartado con 2.953 en Enero). El pico de 3.156 transacciones el 5 de Febrero es comparable con el del mes pasado — 3.282 el 16 de Enero.
El número de transacciones diarias en Sapphire fue muy similar a los números de Emerald, y el nivel de transacciones cayó después del 16 de Febrero. El promedio diario en Febrero fue más bajo que en Enero (2.341 transacciones frente a 2.880). Al final del mes, el número de transacciones aumentó debido a los nuevos heath check de Sapphire y la conferencia de EthDenver. El pico de 3.672 transacciones el 28 de Febrero fue el récord de Sapphire en Tesnnet. El mes anterior, el pico alcanzó las 3.069 transacciones el 11 de Enero.
Los nodos de Oasis en Tesnet a día 28 de Febrero de 2023 son:
- 47 nodos validadores
- 5 nodos key managers
- 17 modos de cómputo de la ParaTime de Cipher
- 34 nodos de cómputo de la Paratime de Emerald
- 20 nodos de cómputo de la Paratime de Sapphire
Actualizaciones del Indexador y Explorador
El equipo del Indexador de Oasis estuvo trabajando duro para traer nuevas funcionalidades este mes.
- En Enero, se introdujo una base de datos genérica para cualquier ParaTime, que se alimenta de analizadores específicos de cada ParaTime. Este mes, se han propuesto algunas mejores en el diseño incluyendo los nuevos índices (#300, #306, #320, #333).
- Se consiguió una notable subida del 70% en la velocidad del token analyser en Emerald (#123).
- Se actualizaron las métricas de Grafana para reflejar de forma más realista los eventos específicos de cada ParaTime y una nueva métrica de lacencia para el oasis-node y se introdujo el analizador (#321).
- La API del indexador se ha enriquecido con una nueva búsqueda por dirección, la cual es algo que los usuarios normalmente usan en las interfaces de los exploradores de bloques. (#314). Esto permite una búsqueda global directa entre todas las transacciones, en función de las direcciones (nativas y compatibles con Eth) y ParaTimes.
- Además, tanto en los namespaces de Oasis como Eth ahora se tiene en cuenta el hash de las transacciones.
En total, 27 pull requests se han mergeado.
El equipo del Explorador de Oasis también ha progresado a buen ritmo este mes.
- El Explorador de Oasis ahora muestra el número de nodos validadores activos e inactivos (#113).
- La vista de cuenta ahora soporta el mostrar el balance de tokens de todas las redes nativas ERC20 y ERC721 (#104).
- Se han incluido varias mejoras en las búsquedas, incluyendo la compatibilidad para búsquedas globales (#140, #126, #156).
- Se ha implementado un tratamiento y estilo correcto para errores de red, hash de transacciones inválidos y no existentes, direcciones, números de página y otros errores futuros (#118, #121, #122, #123).
- La versión móvil ha experimentado grandes cambios en la landing page, la barra de búsqueda y el mapa de ParaTimes (#92, #116, #144).
En total, se mergearon 48 pull requests.
Actualizaciones de la plataforma de desarrollo y ParaTime
La versión 10.0.0 de Emerald fue lanzada, la cual es la release de Mainnet de la versión de Tesnet de principios de Enero. Además del paquete .orc de Mainnet, los usuarios percibirán a una nueva version de Localnet de ParaTime (#27). El paquete de Localnet usa un ID de cadena separado 0xa514, el cual es práctico para desarrolladores de dApps ya que pueden tener todas las redes — Locanet, Testnet y Mainnet — configuradas al mismo tiempo y pasar fácilmente de una a otra mientras de despliegan contratos. La imagen de Docker emerald-dev también se actualizó con el sabor de Localnet.
Oasis Sapphire 0.4.0-testnet se lanzó este mes, el cual incluye compatibilidad con transacciones estándar de EVM (#1256). Esto reduce el gap de usabilidad cuando una dApp se confina usando librerías estándar de Ethereum , pero los desarrolladores preferirían la ejecución de smart contracts confidenciales en los nodos.
ADVERTENCIA: ¡ya que de esta forma no hay encriptación end-to-end, los usuarios podrían revelar datos confidenciales dentro del puerto del calldata o en la llamada de respuesta del contrato! Una semana más tarde se lanzó Oasis Sapphire 0.4.0 para tener disponibilidad de esta funcionalidad en Mainnet.
Gracias al formato estándar de transacciones EVM, Oasis Sapphire tiene compatibilidad completa con Sourcify. Antes, sólo los contratos mutables podían ser verificados basándose en el bytecode y metadata del contrato desplegado ya que Sourcify no podía decodificar el formato eth.create de transacción de Oasis. Los desarrolladores que quieran tener sus contratos inmutables verificados deberían desplegar el contrato en Sapphire usando las herramientan estándar de Ethereum. Además de comprobar el bytecode y metadata desplegados, Sourcify también encontrará la transacción de despliegue original, descodificará los argumentos del constuctor del contrato y completará la verificación.
La nueva versión de Localnet de Sapphire usa el nuevo ID de cadena 0x5afd (#102). De forma análoga a Emerald, una nueva imagen de docker de sapphire-dev permite a los desarrolladores ejecutar una pila confidencial Localnet. La pila incluye la versión estable del Core de Oasis junto con el key manager binario, la última versión de Sapphire y el gateway de Web3 de Oasis. Sin el requisito de Interl SGX, la imagen es práctica para ejecutar contratos inteligentes confidenciales de prueba en un ordenador local sin tener que exponerlo a la Testnet o como parte de un servicio de proyectos de integración continua. ¡La ingeniería de Oasis anima a los desarrolladores a probar la nueva imagen y reportar cualquier problema al equipo!
Una nueva capa de Oasis SDK se introdujo en Febrero (#117). El SDK hace que sea increíblemente fácil añadir funcionalidades de privacidad a un Dapp L1. El SDK tiene compatibilidad automática con ERC-2771, gas relaying, y el puente de parseo de mensajes. Se mostró una prueba de concepto end-to-end con el GSN (Gas relayer network) el cual permite que terceras partes paguen el gas de las transacciones (#1).
Se ha establecido el primer puente cross-chain de parseo de mensajes conectando Sapphire con otras redes EVM. Está basado en cBridge y conecta Sapphire con Ethereum, la red BNB, Polygon, Avalanche y Optimism, entre otras, así como varias testnets. El puente se puede usar a través del SDK de OPL. Oasis está actualmente trabajando en solucionar un asunto importante para los desarrolladores y la experiencia de usuario: como estimar el límite de gas óptimo para transacciones confidenciales en Sapphire. ¡Te puedes unir a la discusión en el canal de Discord #sapphire-paratime si este tema es de tu interés!
Finalmente, el contrato canónico oficial ERC-20 para wrapped ROSE ha sido desplegado en Sapphire. Los desarrollores de dApps pueden encontrarlos en las direcciones 0x8Bc2B030b299964eEfb5e1e0b36991352E56D2D3 y 0xB759a0fbc1dA517aF257D5Cf039aB4D86dFB3b94 de Mainnet and Testnet, respectivamente. ¡Ten en cuenta que estos contractos ERC-20 no son confidenciales! Por ejemplo, cuando se lleva a cabo la transferencia de tokens, el evento de transferencia se emite conteniendo el receptor y la cantidad.
Actualizaciones del Core de Oasis
La release 22.2.6 de un parche del Core de Oasis arregla un problema potencial donde algunas rondas de ParaTime podían fallar debido a propuestas de bloques válidos que se desechan de forma incorrecta (#5161). Previamente, propuestas válidas podían ser desechadas en lugar de ser enviadas vía el P2P gosip cuando la vista de consenso del nodo local estaba ligeramente atrasada aunque la propuesta fuera válida. Con comités más pequeños y ciertas topologías esto podría resultar en que algunos nodos no reciban las propuestas.
Algunas funcionalidades notables implementadas en la rama master del Core de Oasis que contienen los cambios para la próxima release 23.x fueron:
- Cambios de configuración (#5070). El nodo ahora es compatible con un fichero de configuración que contiene todos los ajustes que estaban previamente disponibles a través de las opciones de línea de comandos. Las opciones de la línea de comandos en si misma han sido eliminadas a favor del fichero de configuración, el cual también es compatible con la sustitución de variables de entorno usando el paquete envsubst.
- Actualmente, los upgrades del TEE de ParaTime requiere una época de inactividad. Esto es debido a que el nodo no puede ejecutar otra ParaTime antes de la activación, pero anunciar un nuevo TEE de ParaTime requiere una prueba de testimonio de que está corriendo correctamente. El upgrade de código del TEE mejorado hace posible que un nodo ejecute una nueva versión (todavía no activada), antes de la propia activación de la versión, se registre en paralelo con la versión antigua y entonces cuando el cambio se produzca, eliminar la versión antigua de forma que se pueda realizar el upgrade sin tener nada de tiempo de inactividad (#5188).
- Se mergeó una serie de imporantes mejoras de seguridad relacionadas con el envío secreto de keys efímeras tal y como se propuso en ADR-21. Como resultado, en caso de brecha en el Intel SGX, ya no puedes ir hacia atrás a una época anterior y comprometer las keys efímeras secretas (#5158, #5159, #5198, #5199).
- El coste del gas para las transacciones del key manager se movieron del registro al key manager donde deberían haber estado desde el principio (#5166).
- Las peticiones init del key manager ahora se verifican contra la capa de consenso (#5204).
Echa un vistazo al total de 41 pull requests que se han mergeado en Febrero, para ver la lista completa de cambios.
¡Eso es todo en Febrero! Ahora tenemos Marzo por delante. Mientras tanto,¡ puede hablar más con el equipo de Oasis uniéndote a nosotros en Discord o en el foro de Oasis! También puedes aprender más sobre la Oasis Privacy Layer aquí y registrarte para el hackaton de Oasis Privacy4Web3.