Saltar al contenido

Eth2 Interop en revisión

La semana pasada, siete de los ocho clientes de Eth2 en desarrollo activo lograron marcar el hito principal de pasar de redes de prueba de un solo cliente a múltiples clientes en el "Interop Lock-in". Con este emocionante éxito en el desarrollo de Eth2, queríamos reflexionar sobre cómo se alcanzó este punto y sobre lo que significa para la red y el ecosistema Ethereum.

Cualquiera que haya seguido a Ethereum en los últimos años probablemente se haya familiarizado con términos como "Ethereum 2.0", "Eth2" o "Serenity". Cada uno de estos se refiere a actualizaciones sustanciales programadas para el protocolo Ethereum que se han previsto de alguna forma desde antes de que la red comenzara a funcionar en 2015.

En los primeros años de Ethereum, la investigación innovadora se realizó en paralelo al lanzamiento de la cadena original (Eth1), mientras que el crecimiento masivo de la comunidad de Ethereum que siguió ayudó a la adopción inicial de aplicaciones descentralizadas. Aún así, el camino desde estos primeros avances hasta una cadena de bloques de prueba de participación altamente descentralizada y escalable ha sido largo. Sin embargo, en los últimos 18 meses, la investigación finalmente se ha estabilizado en una visión coherente y completa para las próximas actualizaciones importantes conocidas como Eth2.

A medida que la investigación avanzó hacia las especificaciones hacia fines de 2018, muchos equipos (equipos de clientes) de toda la comunidad se intensificaron para desarrollar implementaciones centrales del protocolo (clientes). Desde entonces, ha habido un juego dinámico entre la especificación y la implementación. Llamadas quincenales y un común repositorio de especificaciones organizan la comunicación y el intercambio de ideas, pero los equipos de clientes han trabajado principalmente en un relativo aislamiento, construyendo y probando sus implementaciones del protocolo.

Si bien la especificación era un objetivo móvil, los clientes solo podían profundizar en la interoperabilidad y las optimizaciones, pero una vez que se consideró la especificación de la fase 0 de Eth2 "congelado" El 1 de julio de 2019, los clientes hicieron grandes progresos y comenzaron a dar pasos concretos hacia la producción.

Interoperabilidad

Joseph Delong de Pegasys Tuve la loca idea de reunir miembros de cada uno de los equipos de ingeniería del cliente en una ubicación remota para una semana de trabajo de interoperabilidad. El evento se consideró el "Bloqueo de interoperabilidad" o, como generalmente se lo denominó, "Interoperabilidad". Con las especificaciones congeladas a la vista y DevEn el horizonte, Interop en septiembre fue una oportunidad para que todos estos interesados ​​trabajen a través de los problemas iniciales de interoperabilidad en persona.

los propósito primario del evento fue tener cada cliente participante para lograr la interoperabilidad por pares con otro cliente en pequeñas redes de prueba – Faro <-> Artemisa, Estrella polar <-> Faro, Estrella polar <-> Artemisaetc.

Los equipos de clientes participantes incluyeron:

Los objetivos adicionales incluían probar (1) redes más grandes en el recuento de nodos y (2) el recuento de validadores, (3) redes con más de 3 clientes, (4) mejorar las herramientas para monitorear y depurar redes Eth2 y (5) otras cosas divertidas como obtener raspberry pis corriendo y construyendo visualizadores de horquilla.

Antes del evento, algunos objetivos parecían exagerados, pero los equipos trabajaron diligentemente hasta la fecha límite y lograron un progreso sorprendente. Al final de la semana, los equipos de clientes superaron con creces las expectativas originales de tener unas pocas redes por pares, en lugar de completar todas las pruebas por pares, creando una pequeña red de todas 7 clientes participantes y más.

Lo siguiente representa un vistazo a los aspectos más destacados del éxito del cliente, pero ciertamente no es exhaustivo:

Redes de prueba multicliente

  • Los 7 clientes participantes lograron interoperabilidad por pares, y aunque un octavo, Shasper, no pudieron asistir, tienen empezado para trabajar a través de este hito también.
  • Muchas redes de prueba más grandes se formaron entre más de 3 clientes, más de 3 nodos y recuentos de validadores superiores al mínimo.
  • Los 7 clientes en asistencia se ejecutaron con éxito en una sola red.
  • Todas las implementaciones libp2p de los idiomas participantes ahora son interoperables después de depurar algunos problemas menores.

Depuración de red y herramientas

  • Algunos errores de consenso entre los clientes se identificaron, depuraron y registraron como partes de la transición estatal que requieren una mayor cobertura de prueba.
  • Las herramientas de línea de comandos se crearon para depurar mejor los objetos ssz y las transiciones de estado (zcli, pycliy herramientas similares integradas en los clientes).
  • Progresos realizados en paneles de métricas, un visualizador de horquillas y otras herramientas para comprender mejor a clientes y redes
  • Los clientes se empaquetaron en contenedores para realizar pruebas de red a gran escala dentro del Bloque blanco plataforma de génesis.

Y algo más

  • Los equipos de clientes sirvieron como los primeros usuarios alfa de los demás, lo que resultó en una amplia construir / ejecutar scripts y documentación relacionada.
  • Las pruebas de carga aisladas con Nimbus y Lighthouse manejaron más de 2000 validadores en una sola máquina emparejada con nodos completos similares a través de LAN.
  • Se crearon y probaron varios clientes en un pequeña red de frambuesa pi.

Y más allá

Interop marcó un importante punto de inflexión para Eth2. Todavía queda mucho trabajo por realizar antes del lanzamiento, pero los esfuerzos de ingeniería se orientarán cada vez más hacia las redes de prueba, las optimizaciones y la usabilidad, trabajo que comienza a poner este software en manos de los usuarios.

Entonces, ¿qué sigue para los equipos de clientes y el desarrollo de eth2?

  • Benchmarks y optimizaciones
  • Prueba de sincronización, prueba de estrés de redes, etc.
  • Testnets públicos e incentivados
  • Auditorias de terceros
  • Pulir la experiencia del usuario validador

Finalmente, le debemos un agradecimiento especial al Consensos equipo para ayudar a organizar, alojar y proporcionar recursos que hicieron posible Interop.

Fuente: https://blog.ethereum.org/2019/09/19/eth2-interop-in-review/