Actualizaci贸n de Safe Network Dev 馃嚜馃嚫 26 de enero de 2023

Esta es una traducci贸n autom谩tica. El original en ingl茅s est谩 aqu铆: Update 26 January, 2023

Esta semana revisamos la antig眉edad de los nodos y observamos algunos ajustes para aprovecharla para m谩s operaciones de red. Para evitar cualquier llanto y crujir de dientes, no se preocupe, no es el tipo de renovaci贸n arquitect贸nica que llevar谩 meses. Se basa en lo que ya existe en t茅rminos de nuevos nodos que tienen que demostrar su val铆a y moverse por la red, pero elimina las tareas cr铆ticas de manejo de datos de esos nodos j贸venes y las restringe a aquellos que ya han demostrado su val铆a.

Progreso general

Despu茅s de debates comunitarios prolongados y ocasionalmente acalorados, @JimCollinson y @andrew volvieron a sacar las hojas de c谩lculo y trabajaron en las diversas opciones para la distribuci贸n de tokens. Esperamos sinceramente que esto proporcione la base para avanzar ahora.

@joshuef ha estado experimentando con redes de prueba con m谩quinas virtuales a煤n m谩s peque帽as y nodos peque帽os. Ha ido bastante bien, pero ha habido algunos errores que parecen estar en el proceso de DKG (votaci贸n de ancianos) donde a veces no se reciben los votos. En relaci贸n con eso, @anselme, @maqi y @davidrusu est谩n analizando de cerca DKG, qu茅 es exactamente lo que lo desencadena, incluida la investigaci贸n de la generaci贸n de SAP ( un nuevo registro de ancianos que se crea cada vez que hay abandono) y exactamente d贸nde desencadena una ronda DKG.

@oetyng ha simplificado el proceso de uni贸n, movi茅ndolo a los flujos de mensajes regulares. Despu茅s de eso, el flujo de reubicaci贸n se simplific贸 al hacer que tambi茅n fuera una uni贸n, pero a otra secci贸n e incluyendo una prueba de reubicaci贸n. @davidrusu encontr贸 una posible necesidad de afirmar que se us贸 un evento de abandono v谩lido, este trabajo est谩 por venir.

@bochaco ha estado depurando y finalizando sn_comms, el m贸dulo de comunicaciones, que contin煤a refactorizando.

Y Mostafa termin贸 de probar el algoritmo de consenso y lo agreg贸 al repositorio principal.

Gracias a @southside por sugerir la iniciativa de comentarios de c贸digo de ChatGTP. Cualquiera que quiera ayudar (no se requieren habilidades tecnol贸gicas) debe consultar esta publicaci贸n.

Edad y datos del nodo

Las responsabilidades en la red se basan en la noci贸n de edad del nodo.

La edad del nodo no aumenta linealmente, sino exponencialmente, lo que significa que cada aumento de edad se basa en 2x de lo que se bas贸 el incremento anterior.
El tiempo en la red se mide en n煤mero de eventos, y la medida es aproximada ya que estamos haciendo una evaluaci贸n probabil铆stica.
Entonces, la edad 鈥楢鈥 ocurre despu茅s de los eventos 鈥榽n鈥, y la edad 鈥楢+1鈥 ocurre despu茅s de los eventos 鈥榽2n鈥.

La raz贸n por la que la edad del nodo se mide de esta manera proviene de la observaci贸n emp铆rica de que los nodos que han permanecido en l铆nea x tiempo, probablemente permanezcan en l铆nea durante al menos otro x tiempo. Por lo tanto, si ha pasado tiempo t en la red, es probable que su tiempo total en la red al final sea al menos 2t.

Lo que esto significa es simplemente que cuanto m谩s joven es el nodo, m谩s probable es que se desconecte, y cuanto m谩s antiguo, m谩s probable es que permanezca en l铆nea.

Tener nodos muy estables y muy inestables que almacenan datos en vivo, como lo hacemos ahora, es dif铆cil de manejar cuando hay mucha rotaci贸n. Si un nodo se desconecta, sus datos deben transferirse al siguiente candidato XOR m谩s cercano, lo que lleva tiempo. Los nuevos nodos no son confiables y pueden desconectarse r谩pidamente, lo que significa mucho movimiento de datos y un dolor de cabeza para los mayores que tienen que administrarlo.

Almacenamiento primario y secundario

Estamos viendo conceptos en torno a un 鈥渃onjunto estable鈥 de nodos (m谩s sobre eso m谩s adelante). Pero una idea que esto nos da es separar los nodos en dos niveles de almacenamiento en funci贸n de la edad y (por lo tanto) la probabilidad de rotaci贸n, y as铆 asignarles funciones diferentes.

Por ejemplo, nos gustar铆a que los nodos m谩s estables (digamos, mayores de 10 a帽os) sean responsables del almacenamiento de datos principal. Estos nodos cuidan los datos y se los entregan a un cliente que lo solicita. No es probable que se agiten en el corto plazo.

Los nodos fuera de un conjunto estable, aquellos que todav铆a est谩n trabajando para aumentar la antig眉edad de sus nodos, tienen copias adicionales de datos (almacenamiento secundario). Al hacerlo, proporcionan redundancia para admitir el conjunto estable.

Su comportamiento en el manejo de estos datos tambi茅n se utiliza para evaluar su calidad de la forma habitual. Pero dado que solo tienen copias adicionales, no necesitan ser rastreados tan de cerca por los mayores y pueden fallar sin causar problemas serios a la red o requerir una migraci贸n masiva de datos.

Esto nos permitir铆a tener un mayor recuento de replicaci贸n de datos, mientras probamos los nodos entrantes m谩s a fondo, sin sacrificar la estabilidad de los datos para hacerlo. Todo aprovechando nuestro sistema de antig眉edad de nodos existente. :tada:


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.