Actualización de Safe Network Dev 🇪🇸 24 agosto 2023

Esta es una traducción automática. El original en inglés está aquí: Update 24 August, 2023

Seguimos perfeccionando las funciones listas para la próxima red de prueba, en particular introduciendo pago por fragmento y UTXO.

Pagar por fragmento significa tratar cada fragmento individualmente en lugar de que el cliente los agrupe en un árbol merkle y solicite a los nodos una cotización sobre ese archivo. Ahora los clientes consultan a cada nodo en el grupo cercano el precio de almacenar cada fragmento antes de enviarlo (mientras que anteriormente intentábamos obtener un precio en toda la red, lo cual era bastante inexacto) y pagan a los nodos devolviendo la cotización elegida directamente. Los nodos envían su clave pública con su cotización individual y los clientes pagan por esa clave. Como se mencionó la semana pasada, con el tamaño de grupo actual de 8, el cliente debe elegir un precio que garantice que al menos 5 nodos almacenarán el fragmento.

Los detalles de pago, incluidos los DBC, ahora se envían con el fragmento, en lugar de una prueba de gasto como antes, y los fragmentos se almacenan solo si el nodo determinado ha sido pagado.

Operar a nivel por fragmento es más granular que a nivel por archivo, lo que debería suavizar las transacciones y permitir pagos más precisos a los nodos y auditorías más precisas. Esto también hace que sea más fácil comenzar a implementar recompensas, ya que simplemente debería guardar los DBC enviados con nuevos PUT en el nodo.

Lo que nos lleva claramente a UTXO (salida de transacciones no gastadas), que es un modelo un poco más parecido a bitcoin, donde el libro gastado se almacena en la red. Además, las claves únicas BLS se utilizan para desvincular al propietario de la transacción y evitar el doble gasto. La refactorización de los DBC para incorporar estas características está en curso. @anselme y @bochaco, que son los más metidos en esto, están actualmente ausentes, pero prometemos un reportaje completo cuando regresen.

Corrección de errores

Se han solucionado las conexiones lentas de los clientes, al igual que algunos problemas de prueba con el registro y la carga y descarga de archivos. Hemos solucionado el problema de las recargas que reutilizan comprobantes de pago almacenados en caché incorrectos por el momento eliminando la etapa de almacenamiento en caché; lo reintroduciremos en una fecha posterior. Y ahora estamos verificando que los datos se copien a la mayoría del grupo cercano antes de almacenarlos para reducir los errores de almacenamiento.

Progreso general

@joshuef ha estado impulsando los cambios de pago por fragmento, lo que permite adjuntar información de pago a cada fragmento. También solucionó algunos errores causados por pagos adjuntos que cambiaban el tamaño del archivo.

@Qi_ma se centra en resolver problemas molestos con las pruebas y los puntos de referencia relacionados con la carga de archivos, la comunicación de red y la confiabilidad de las pruebas.

@roland está optimizando cómo se establecen los rangos de distancia de registros durante la replicación y analiza la detección de fallas para identificar y rechazar registros no válidos.

@bzee ha estado implementando más depuración de conexiones y tratando de encontrar la fuente de la conexión retrasada (y el recibo PUT) que algunas personas vieron en la última red de prueba.

@chriso está implementando faucet como servicio para testnets como parte de su trabajo para automatizar la implementación de testnets. También amplió el informe de inventario de la red de prueba para proporcionar identificaciones de pares para ayudar a iniciar las conexiones.

Las dificultades por QUIC y libp2p continúan ocupando a @bzee, quien también ha investigado las razones por las cuales los pares no enrutables permanecen inactivos y no son marcados/agregados por otros compañeros.

Y @anselme ha estado investigando y pensando en la evolución del sistema de transacciones.


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.