Actualización de Safe Network Dev 🇪🇸 28 abril 2022

Esta es una traducción automática. El original en inglés está aquí: 28 April 2022

Esta semana, con algunos obstáculos importantes superados, incluida la implementación de membresía, el consenso de traspaso casi fusionado y la eliminación de los errores de picos de memoria que plagaban las redes de prueba, pensamos que sería bueno echar un vistazo a lo que hemos logrado y lo que queda por hacer.

Progreso general

La integración de DBC continúa yendo bien. Tenemos más mejoras en el lado del cliente y el inicio de algo de almacenamiento DBC del lado del nodo POC también sobre la marcha. Además de un PR de mensajería en proceso para vincularlo todo.

El trabajo de consenso de Traspaso está mayormente allí, lo que proporciona una lógica más respaldada por consenso para las divisiones de sección y las elecciones de ancianos (estamos viendo problemas esporádicos en CI, así que indaguemos allí ahora). Pero el código de transferencia, junto con algunos cambios que vinculan a DKG con generaciones específicas, parece haber mejorado bastante el inicio de la sección, lo cual es genial.

Continuamos con algunos trabajos de refactorización en curso, organizando el repositorio safe_network y comenzamos a ver cómo se ven los nodos “ligeros” y cómo se ve un nodo que ejecuta código de “sistema de red” simple. La razón de esto fue ayudar a la depuración al tener un sistema de modo modular en el que pudiéramos, por ejemplo, desactivar data y solo ejecutar el código dbc, o desactivarlo por completo. Nuestras pruebas allí fueron alentadoras: con los datos desactivados, los nodos estaban alcanzando un máximo de alrededor de ~ 45 MB de memoria, y felizmente hemos tenido ~ 90 ejecutándose en una máquina con varias divisiones de sección :tada: .

Informe de progreso

Membresía de sección
Esto es lo que permite a los ancianos mantener el control sobre los adultos de su sección.
Progreso: Ahora integrado en el código de red
Todo: Todavía estamos investigando la generación de claves distribuidas (DKG), el mecanismo por el cual los ancianos llegan a un acuerdo sobre la nueva clave de sección, para ver si quizás hay otras rutas aquí que podrían eliminar el requisito de consenso por completo.

Manejo/entrega de datos
Redistribuir trozos cuando un adulto se desconecta y manejar con gracia las divisiones.
Progreso: Mayormente hecho, pero todavía estamos viendo algunas fallas debido a que DKG no funciona como nos gustaría
Todo: Solucionar problemas de DKG; Almacenamiento en caché en ancianos

Mensajes y picos de memoria
Además de las comunicaciones entre ancianos, la mayoría de los mensajes se manejan mediante anti-entropía (respondemos con información faltante para que un nodo pueda actualizar y volver a intentar su mensaje si es necesario, eliminando la necesidad de almacenar mensajes en caché) y qp2p.
Progreso: Se corrigieron los picos de mensajes
Todo: Optimización de AE

Pruebas de vivacidad
Probar regularmente que los nodos estén en línea y tomar medidas si no lo están. Esto se ha ampliado para penalizar a los nodos no solo por descartar fragmentos, sino también por descartar conexiones y estar atrasados ​​en términos de conocimiento de la red, por lo que esperamos detectar más nodos disfuncionales antes y aumentar la salud de la red en general.
Progreso: Primera pasada: ¡Completada!
Todo: Mejorar el manejo disfuncional a través de proptesting.

Sistema de resolución de nombres y nombres de dominio
Los mapas NRS son multimapas (registros bajo el capó) que contienen el mapeo de todos los subnombres a Urls para un topname específico. Cada topname tiene su propio mapa múltiple.
Progreso: API ha sido actualizada
Todo: Todavía estoy decidiendo qué almacenar como entradas en el mapa NRS. El mapeo actual (clave - valor) es “subnombre” → Url, pero para una mejor UX podría ser útil almacenar el nombre superior junto con el subnombre como clave en el mapa, como: “subnombre.nombre superior” → Url. En segundo plano por ahora

Monitorización / visualización
La pila ELK nos permite monitorear y visualizar el rendimiento de todos los nodos en una red de prueba.
Progreso: Completado. Pruebas cerradas en curso (y ya mostrando beneficios, detectamos este error porque pudimos ver claramente un nodo girando sus ruedas.
Todo: Reforzar la implementación de los nodos ELK y la seguridad circundante para que podamos abrir esto a la comunidad.

DBC
Los DBC son el mecanismo por el cual se realizan transacciones en la red.
Progreso: Ahora se está integrando a la red
Todo: Mensajería DBC; implementar DAG ordenado con fines de auditoría; pruebas en testnet/red en vivo. Implementar flujos de pago de datos.

Cartera
La billetera es la interfaz de usuario para realizar transacciones.
Progreso: Se completó la primera y básica implementación de wallet reissue API and CLI commands
Todo: Se necesita más trabajo para que esté listo para la producción; prueba con DBC en la red

Pago a agricultores
La red pagará a los adultos y ancianos por sus servicios. Hay algunos diseños sobre la mesa, pero están a la espera de la implementación de los DBC.
Progreso: Ideas básicas de diseño
Todo: Implementación y pruebas cuando otros elementos lo permitan

Usuarios que pagan por el almacenamiento
Del mismo modo, tenemos algunos diseños listos pero estamos a la espera de los DBC. El pensamiento actual es que los clientes usen DBC para pagar el almacenamiento por adelantado, y los ancianos cotizan un precioe para firmar los nombres de esos fragmentos, convirtiéndolos en datos de red válidos. Los datos mutables deberán tratarse de manera diferente.
Progreso: Ideas de diseño
Todo: Implementación, testing, UX testing

Interfaz de usuario/UX
Hemos revelado algunos wireframes y diseños para autenticación / UX en los últimos meses, pero obviamente, esos son la guinda del pastel y el pastel aún no está horneado.
Progreso: Apariencia básica, autenticación de usuario, estrategias de pérdida de credenciales y otros diseños terminados
Todo: Backburner por el momento; implementación cuando otros elementos estén listos, pruebas de usuario

Gobernancia
La fundación se está estableciendo en Suiza como un órgano de gobierno separado de MaidSafe.
Progreso: Va sin problemas hasta ahora; autoridades han solicitado documentación
Todo: Terminar papeles blancos renovados; más discusiones sobre los detalles

Documentación
Libros blancos que cubren el proyecto desde diferentes ángulos, documentación técnica.
Progreso: Nuevos libros blancos sobre Distribución de Tokens, Diseño de Redes, Diseño de Tokens y Gobernanza de Proyectos en forma de borrador
Todo: Terminar los libros blancos; Documentos NRS, DBC, etc.

Cambios de licencia
Licencia la red principal bajo GPL3 con cajas de red no seguras bajo licencia MIT/BDS para no limitar las aplicaciones de cliente que se pueden construir en ella.
Progreso: hecho, aunque la automatización podría estar en su lugar
Todo: automatizar la gestión de licencias

eMaid
Esfuerzo de la comunidad para permitir opcionalmente la conversión de Omni Maid a ERC20 Maid.
Progreso: ¡Completado!


Enlaces útiles

No dude 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.