Esta es una traducción automática. El original en inglés está aquÃ: Update 16 February, 2023
Es hora de una revisión rápida de dónde estamos con las diversas partes móviles que componen la máquina Safe. Como de costumbre, es una mezcla de aceleración rápida en algunas áreas, mientras que otras esperan el progreso en otras partes antes de poder moverse.
En general, estamos entusiasmados con las posibilidades de simplificación que ofrece la idea del conjunto estable, muy contentos con el establecimiento de la Fundación y satisfechos con el progreso en el consenso. También es genial tener redes de prueba comunitarias de nuevo en funcionamiento, y que la gente entre en acción con sus propias GUI .
Progreso general:
Siempre estamos buscando formas de hacer que el cliente haga más trabajo y @oetyng está investigando cómo puede mantener a los ancianos sincronizados con lo que sucede en la sección (junto con AE, chismes, etc.).
@anselme ha estado refactorizando los DBC y está integrando sus cambios en el código principal, y @Chriso está finalizando la implementación de la pila de monitoreo.
@roland ha refactorizado el proceso de reubicación para que el nodo reubicado dirija el proceso.
Mostafa y @davidrusu se quedan atrapados en el conjunto estable, trabajando en un protocolo de transferencia que no requiere DKG. Mostafa también está investigando el proceso de compilación binaria para tratar de acelerarlo.
También en el conjunto estable, @joshuef confÃa en que tenemos un camino hacia el almacenamiento en niveles con algunos cambios adicionales.
Qp2p todavÃa se está sometiendo a cirugÃa con las pruebas de @bochaco para detectar anomalÃas en la lectura y escritura de flujos, mientras que @bzee pasó a analizar los registros en relación con los retrasos en la red cuando los nodos están estresados.
Finalmente, @JimCollinson ha estado trabajando en varios detalles legales para la junta, y también considerando la estrategia de lanzamiento.
Informe de progreso
Conjunto estable
Tratar a los ancianos y adultos mayores como más confiables que los nodos más jóvenes, sin exigirles que se reubiquen debido al envejecimiento de los nodos e introducir almacenamiento en niveles . Bien podrÃa eliminar la necesidad de DKG y reubicación, que son difÃciles.
Progreso: Etapa de diseño, prueba de supuestos, todavÃa experimental.
Todo: Completar las pruebas, si tiene éxito, trabajar en la implementación.
Consenso
Muchos procesos pueden ser manejados por AE y consistencia eventual (CRDT), pero en algunos casos, es probable que se requieran algunos pedidos locales, ya que las bifurcaciones podrÃan hacer posible el doble gasto mientras esperamos que se resuelvan. https://github.com/maidsafe/sn_consensus
Progreso: Se ha desarrollado y probado el algoritmo de acuerdo bizantino de valores múltiples (MVBA).
Para hacer: Aplicar a los algoritmos de membresÃa. Ensayos en entorno real.
Quicp2p
Qp2p es una biblioteca de redes basada en QUIC que permite que los pares en una red P2P se comuniquen de forma segura. https://github.com/maidsafe/qp2p
Progreso: qp2p se está refactorizando con el objetivo de llevar la mayor parte de su funcionalidad a sn_node, donde será más fácil trabajar con él. Quic es una caja negra.
Todo: Este trabajo está en curso.
Mensajes y picos de memoria
Vimos una avalancha de mensajes y un aumento en el uso de la memoria, especialmente cuando un nuevo nodo se comunicaba con los ancianos y pedÃa unirse. https://github.com/maidsafe/safe_network/tree/main/sn_comms
Progreso: En su mayorÃa, ya no vemos picos de memoria. Los mensajes son una parte central de la forma en que funciona la red, por lo que constantemente refinamos las cosas allÃ. Estamos trabajando para mejorar la contrapresión aprovechando el control de congestión de Quinn de manera más confiable.
Todo: Aplastar errores cuando los vemos, simplificación continua.
Monitoreo y observabilidad
Pasamos de la configuración de ELK que usábamos anteriormente a OpenSearch (una bifurcación de código abierto más moderna de ElasticSearch), OpenTelemetry y Data Prepper, porque podemos alojar esos servicios en ECS en lugar de usar instancias de EC2. https://github.com/maidsafe/terraform-testnet-infra
Progreso: Esto ya está prácticamente ahÃ, aunque todavÃa estamos buscando la mejor configuración.
Todo: Termine, luego ábralo a la comunidad, donde sea factible.
Manejo de datos
Manejo de datos, redistribución de fragmentos cuando un adulto se desconecta y manejo elegante de divisiones.
Progreso: Nuevamente, esta es una parte central de la funcionalidad y el trabajo está en curso, vea los conjuntos estables arriba.
Todo: Establecer datos escalonados. Se han sentado las bases, tendremos que probar las cosas además de cubrir la reubicación y el ajuste fino.
Entregar
Si un anciano se da cuenta de que los ancianos actuales no son los siete nodos más antiguos, se genera una votación para promover a los adultos mayores y degradar a los ancianos más jóvenes para dejar paso. Transferencia es el algoritmo que controla este proceso.
Progreso: Completado según lo planeado, aunque se está refinando con chismes, consenso (ver más abajo).
Todo: Introducir chismes para acelerar la comunicación entre elderes, y mirar el consenso para asegurar que los procesos terminen.
Afiliación
Esto es lo que permite a los ancianos mantener el control sobre los adultos de su sección.
Progreso: MembresÃa está integrado en sn_node pero sigue siendo el área más difÃcil de arreglar para garantizar que cada Elder converge en la misma opinión. Es un problema de coordinación.
Todo: Eliminar la vista dual de membresÃa que tenemos entre SectionPeers
y Membership
. El trabajo ha comenzado aquà para reducir esto a SectionPeers
y está progresando bien.
Chisme
Gossip es un tipo de protocolo p2p donde un nodo transmite información periódicamente a otro nodo, a menudo seleccionado al azar, y ese nodo pasa el mensaje a otro nodo, y asà sucesivamente hasta que se convierte en ‘conocimiento común’.
Progreso: Estamos introduciendo chismes en varios lugares donde los procesos a veces pueden atascarse, como rondas DKG, membresÃas y divisiones de redes. En el caso de este último, el chisme también nos permite reconstruir la red después de una falla catastrófica.
Todo: Buscar más oportunidades donde los chismes nos puedan ayudar.
NOC
La generación de claves distribuidas se usa cuando los ancianos necesitan tomar decisiones sobre la membresÃa.
Progreso: DKG se ha refactorizado pero aún sufre tiempos de espera ocasionales.
Todo: Buscando reducir la necesidad de DKG como en la toma de decisiones.
Flujo de pago
Cuando el cliente paga por una carga, obtiene un recibo y los ancianos y adultos en las secciones que almacenan los datos reciben una parte de ese pago. El flujo de pago se trata de cómo funciona esa distribución.
Progreso: El diseño básico está listo.
Todo: Diseño detallado para cubrir seguridad, UX, incentivos económicos. En espera de otros desarrollos.
Base
La Safe Network Foundation es una organización sin fines de lucro en Suiza para facilitar, apoyar, financiar y promover la investigación y el desarrollo, además de permitir la entrega, el mantenimiento y la adopción continuos de la Red y sus tecnologÃas.
Progreso: ¡Se ha establecido la Safe Network Foundation!
Todo: ¡Ponlo a trabajar!
Distribución segura de tokens de red
Después de la distribución inicial de tokens al inicio de la red (10,6 % a los titulares de MaidSafeCoin, 5 % a los accionistas, 14,4 % al grupo de regalÃas de la red), el 70 % restante del suministro máximo total se creará y distribuirá de forma segura como consecuencia de personas que suben datos a largo plazo. https://safenetforum.org/t/updated-rfc-0061-safe-network-token-distribution/37883
Progreso: Propuesta inicial redactada y enviada a FINMA para su aprobación. La mecánica de qué operadores de nodos recibirán un pago durante una transacción en particular aún se está resolviendo.
Todo: Diseño y prueba de nodos de pagos.
DBC
Los certificados digitales al portador son el vehÃculo para realizar transacciones de tokens en Safe Network.
Progreso: Los DBC se han refactorizado eliminando un elemento superfluo que supuestamente ofusca las transacciones pero con una dudosa capacidad para aumentar la seguridad y mejorar el rendimiento. Este trabajo está a punto de finalizar.
Todo: Mejorar las API y la experiencia de usuario en torno a esto. Trabaje las API de DBC en los flujos de pago y pruebe allÃ.
Refactorización de nodos
sn_node se ha refactorizado para eliminar tantas instancias de subprocesos múltiples como sea posible para simplificar el código y eliminar bloqueos no deseados. Los ancianos ahora almacenan datos para que puedan estimar los niveles de almacenamiento sin encuestar a los adultos, y hemos estado buscando tener más nodos más pequeños en una sección, lo que se probó con éxito en redes de prueba.
Progreso: Listo
Todo: Sigue monitoreando.
Refactorización de cadena de sección
La cadena de secciones, la lista enlazada segura que conecta las claves de sección hasta Génesis, se está refactorizando como Merkle DAG. Ahora se llama SectionTree.
Progreso: Listo.
*Hacer nada.
Detección de fallas (anteriormente disfunción
)
Probar periódicamente que los nodos estén en lÃnea y tomar medidas si no lo están.
Progreso: Refactorizado con su propio conjunto de pruebas, a la espera de progreso en otras áreas.
Todo: Mejore las pruebas con redes en vivo y asegúrese de que todo funcione como se espera. Agregue más rutas de detección de fallas.
Sistema de resolución de nombres y nombres de dominio
Los mapas NRS son mapas múltiples (registros bajo el capó) que contienen el mapeo de todos los subnombres a URL para un topname especÃfico. Cada topname tiene su propio mapa múltiple.
Progreso: No hay movimiento en esto.
Todo: Se implementarán cambios en el pedido de NRS.
Cliente/UX
sn_client es el conjunto de API y la interfaz de lÃnea de comandos (CLI) que permite que los dispositivos se conecten e interactúen con la red. https://github.com/maidsafe/safe_network/tree/main/sn_client
Progreso: sn_client se ha refactorizado: se corrigieron los mensajes que muestran a los usuarios si están conectados o no, especialmente durante el arranque.
Todo: Mejora continua de las API y CLI a medida que avanzamos.
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.