Actualización de Safe Network Dev 🇪🇸 10 de diciembre de 2020

Esta es una traducción automática. El original en inglés está aquí: Safe Network Dev Update - December 10, 2020

Resumen

Estas son algunas de las cosas principales a destacar desde la última actualización de desarrollo:

  • sn_client v0.44.0 ha sido lanzado esta semana, el primer lanzamiento del cliente desde julio.
  • Hemos completado y combinado la implementación de la duplicación de bloques de Blob cuando un adulto abandona la red; ahora se publica en sn_node v0.25.9.
  • Nuestro consultor ha creado un algoritmo codificado, probado y de trabajo para la membresía dinámica.

Actualización general

Una actualización general rápida de nuestro progreso hacia la próxima red de pruebas.

Todos estamos con la cabeza gacha juntando todas las piezas para la próxima red de prueba. Como era de esperar, hay algo de búsqueda de errores y algunas adiciones de última hora. Una cosa que no tendremos tiempo de incluir en esta red de prueba es la nueva membresía de BRB (Byzantine Reliable Broadcast). La membresía de BRB es un paso realmente importante, pero por ahora estamos buscando probar tantas otras partes móviles que hemos acordado que el enfoque debería ser lanzar esta fase I lo antes posible, entonces podemos enfocarnos completamente en BRB.

Cliente seguro, nodos y qp2p

Plan del proyecto Safe Network Transfers
Plan de proyecto de cliente seguro
Plan de proyecto de nodo de red segura

Esta semana vio el primer lanzamiento y publicación de sn_client desde julio. Este repositorio anteriormente consistía en varias cajas juntas bajo el banner Safe Client Libs, pero como los lectores habituales sin duda sabrán, lo refactorizamos en gran medida, lo que nos llevó a eliminar muchos miles de líneas de código que consideramos ineficientes, con errores o innecesario. Esta es ahora una única caja sn_client, lanzada con este nombre por primera vez. Esto une a sn_node y sn_routing en nuevos lanzamientos de cajas importantes durante las últimas 2 semanas, por lo que esperamos que demuestre el progreso que estamos logrando a medida que las piezas principales comienzan a encajar en su lugar. Esta versión no significa que hayamos terminado con sn_client, solo significa que lo consideramos lo suficientemente estable como para introducir una canalización de entrega continua. El desarrollo continúa al ritmo, y ahora cada RP fusionado dará como resultado una nueva versión generada automáticamente.

Esta semana hemos estado tratando de rastrear la fuente de un problema de desbordamiento de pila que ha surgido ensn_node. Al principio, parece que no hay una fuente específica, pero el uso de la pila simplemente ha aumentado con el tiempo. Esto solo sucedía originalmente en Windows, donde descubrimos que el tamaño de pila predeterminado es de 1 megabyte, que es bajo en comparación con Ubuntu, que tiene 8 MB. Reducir el tamaño de la pila en Ubuntu nos permite replicar esto, lo cual es bueno. Entonces, con eso, hemos estado investigando esto más a fondo y las opciones para evitar que esto suceda.

Hemos completado la implementación de la duplicación de fragmentos de Blob cuando un adulto abandona la red. Esta característica, que se deshabilitó temporalmente durante algunos de los refactores en el repositorio sn_node para traer agricultura y recompensas, ahora es compatible con la nueva estructura del código, probado y combinado. Esta implementación también sienta las bases para las próximas tareas en nuestras tarjetas: distribución de datos sobre abandono de ancianos, eventos de promoción y divisiones de red. Ya tenemos algunas ideas en mente y pronto comenzaremos a implementarlas.

BRB - Difusión confiable bizantina

¡Buenas noticias! Nuestro consultor ha creado un algoritmo de trabajo para la membresía dinámica. Este es un trabajo original que utiliza un reloj de generación con una operación de unión o salida permitida por actor, por generación. Este algoritmo ya se ha codificado junto con un conjunto de pruebas, y todas las pruebas están pasando.

El siguiente paso será integrarlo con la implementación de DSB existente. Así que al final tendremos un protocolo para negociar la membresía dinámica que es distinto pero complementario al protocolo DSB para la transmisión BFT de operaciones / datos regulares.

Enrutamiento

Plan del proyecto

Esta semana, para reforzar nuestro registro y ayudar con la depuración, decidimos cambiar el enrutamiento para usar tracing, en lugar de la caja log . Esto nos permite utilizar registros y intervalos estructurados. El PR para este conmutador ahora se ha fusionado. Nuestra intención es cambiar para usar “rastreo” en otras cajas durante las próximas semanas.

Después de una discusión más profunda sobre cómo y cuándo se usa la prueba de recursos, decidimos que los nodos reubicados deben ser confiables y, por lo tanto, no sería necesario que se sometan a la resolución de problemas.rce procedimiento de prueba de nuevo. El PR No requiere prueba de recursos de nodos reubicados ahora se ha fusionado para refactorizar dicho comportamiento. En el mismo PR, también arreglamos un par de errores y fallas de prueba que rastreamos gracias al registro mejorado proporcionado por la caja de “rastreo” antes mencionada.

Enlaces útiles


No dudes en responder a continuación con enlaces a las traducciones de esta actualización para desarrolladores y los moderadores las agregarán aquí.

Como proyecto de código abierto, siempre estamos buscando retroalimentación, comentarios y contribuciones de la comunidad, así que no sea tímido, únase y creemos la red segura juntos.

1 me gusta