Actualizaci贸n de Safe Network Dev 馃嚜馃嚫 22 de julio de 2021

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 :slight_smile: 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


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.