Esta es una traducción automática. El original en inglés está aquí: Update 22nd July, 2021
En la actualización de esta semana, profundizaremos en el tema menos favorito de todos: los errores. Los errores no son un tema fácil de precisar porque en un sistema complejo, multifacético y de vanguardia como Safe puede ser difícil saber dónde comienza un error y dónde termina otro. ¿Este error está en nuestro código o en una biblioteca de terceros, o quizás en cómo encajan? ¿Es realmente una corrección de errores o simplemente una optimización que está esperando suceder?
Dicho esto, es algo sobre lo que nos preguntan bastante, y dado que un punto importante de las redes de prueba es permitirnos rastrear y exterminar a los pequeños tontos, al menos deberíamos intentar describir la situación. Así que esta semana echaremos un vistazo a una de las cosas que realmente tiene que estar al 100% en su lugar antes de Fleming: eliminar la pérdida de datos, y las correcciones que estamos implementando para llegar allí.
Progreso general
@Chriso ha estado trabajando en compilaciones ARM para aarch64, no ayudado por el hecho de que su nueva Raspberry Pi llegó con una tarjeta microSD duff. Un reemplazo llegó el martes, por lo que no debería esperar demasiado. Gracias a @folaht, @stout77 y otros por probar las compilaciones existentes.
DBC
Hemos progresado en transacciones anónimas utilizando compromisos de Pedersen y valores ciegos para ocultar importes. ¡Más sobre eso en una fecha posterior!
UX
@JimCollinson ha estado buscando reajustar los flujos de UX en función de la evolución de la red para incluir DBC, cargas prepagas, transacciones multifirma y capacidades en línea / fuera de línea habilitadas para CRDT.
Actualizaciones de NRS
@Anselme y @bochaco han estado actualizando la API del cliente y el sistema de resolución de nombres, ordenando el código y eliminando el antiguo tipo de datos del mapa.
Hablando de Anselme, que ya no es el chico nuevo, aquí hay un poco de él:
Viniendo de una especialización en programación de sistemas (UNIX), he ido de un campo a otro pasando de blockchain a programación de back-end, ingeniería de datos y aprendizaje automático. Me apasionan los virus informáticos, la programación de sistemas, la seguridad del software, la descentralización, el aprendizaje automático y los lenguajes de programación.
Me gusta pensar en el código como poesía, a pesar de eso, quiero codificar para un objetivo mayor, para las cosas que importan. Por eso estoy aquí en MaidSafe.
Eliminando la perdida de datos
No hace falta decir que la pérdida de datos es un absoluto no-no para Safe (la desaparición de datos de permaweb sería un aspecto particularmente malo). Los fragmentos de datos almacenados en nodos seguros en todo el mundo deben poder sobrevivir a eventos de rotación, interrupciones locales y actores bizantinos. Aquellos de ustedes que han ayudado con las pruebas (: gracias sabrán que aún no hemos logrado eliminar la pérdida de datos.
Entonces, ¿cuáles son los errores que hacen que los datos desaparezcan con el tiempo? Como insinuamos anteriormente, es probable que muchas cosas se superpongan.
Uno de los errores, corregido esta semana, ocurrió en la división de sección, donde los Adultos que intentaban replicar datos a veces se comunicaban con lo que pensaban que era otro Adulto pero que al dividirse había sido ascendido a Anciano, por lo que ignoraban el mensaje. Las pruebas sugieren que este pudo haber ido a encontrarse con su creador. Buen viaje. Este tipo de error debería ser mucho más raro cuando Anti-Entropy está completamente implementado. Y aún más raro, ahora tenemos una prueba confiable para esto.
Otras soluciones para abordar los problemas de pérdida de datos han incluido cambiar el flujo de enrutamiento entre diferentes Adultos en una sección y entre Adultos y Ancianos para garantizar que los fragmentos estén realmente donde creemos que están y no se hayan perdido debido a una lógica defectuosa.
Pero también hemos visto que el problema de la falta de memoria también fue probablemente una causa de pérdida de datos. Creemos que estamos al tanto de eso ahora, pero quedan algunas preguntas. Puede que haya más.
Como puede ver, con suerte, estos errores son difíciles de identificar. Pueden existir en varios lugares, superponerse y uno puede desencadenar otro. Pueden ser difíciles de reproducir, lo que requiere condiciones de red específicas o mensajes que se cruzan en momentos específicos.
Sin embargo, estamos llegando allí y no tendríamos la oportunidad de rastrearlos sin todas las personas que se han acercado para ayudar con las pruebas. Incluso cuando son de corta duración, la información que brindan las redes de prueba al equipo es invaluable, ¡así que gracias una vez más por toda la depuración hasta ahora!
Enlaces útiles
- Sitio web de red segura
- Introducción a la red segura
- Aspectos básicos de la red
- Hoja de ruta
- Glosario
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.