Actualización de Safe Network Dev 🇪🇸 9 junio 2022

Esta es una traducción automática. El original en inglés está aquí: Update 09 June, 2022

Habíamos planeado profundizar en los problemas de gobernanza que discutimos la semana pasada, pero lamentablemente no hemos podido hacerlo debido a que un par de miembros clave del equipo necesitaban tomarse un tiempo libre no planificado. Si todo va bien, volveremos a esto la próxima semana.

Mientras tanto, lea la publicación de @jimcollinson sobre nuestros objetivos estratégicos, y tenga en cuenta que nuestros objetivos y visión no han cambiado ni un poco . Y recuerde mantener las discusiones, aunque sean apasionadas y acaloradas, siempre respetuosas. Tenemos un código de conducta del foro que se espera que todos los miembros respeten.

Esta semana veremos los datos en la red y lo que significa que los archivos sean públicos o privados.

Progreso general

Yogesh ha estado buscando bases de datos para reemplazar sled db, que tiene errores y no parece tener un mantenimiento activo. Hasta ahora, los principales candidatos parecen ser Persy, una base de datos transaccional que optimiza la coherencia, y Cacache que @yogesh dice “parece ofrecer la mejor velocidad del lote con creación y manejo de metadatos integrados”. Ninguno es perfecto, pero ambos probablemente harían el trabajo. Las pruebas continúan.

Gracias a @josh por organizar el DBC comnet la semana pasada. Como mencionó @Chriso, el depósito de DBC propios aún no funciona, pero en esto ha estado trabajando esta semana, y @Qi_ma está investigando un error de reemisión de DBC y también está trabajando en la integración del libro de gastos.

Mientras tanto, @davidrusu continúa trabajando para hacer llegar la información de membresía a los adultos a fin de garantizar que la membresía y el conocimiento de la red (a través del Proveedor de autoridad de la sección firmado) estén sincronizados en toda la sección.

Datos públicos y privados en la Red Segura

¿Qué es un archivo en Safe Network? Pregunta bastante simple, pero la respuesta es un poco más complicada. La respuesta básica es “contenido + metadatos + mapa de datos”, pero ¿qué significa eso?

Contenido

El contenido es la materia prima del archivo, la información binaria básica. Una vez que llega a más de 1 MB, se autocifra automáticamente para producir fragmentos y un mapa de datos. Debido a la forma en que funciona el autocifrado, esto es determinista, es decir, autocifra el mismo contenido cualquier cantidad de veces y obtendrá los mismos fragmentos. Su seguridad es en gran medida independiente del algoritmo de encriptación (usamos AES256), lo que significa que si el algoritmo se descifra, los fragmentos siguen siendo seguros.

OK, entonces, ¿qué es un trozo? A menos que tenga el mapa de datos, un fragmento es una masa de bits sin sentido, en su mayoría de alrededor de 1 MB de tamaño con un nombre que también es su hash. Esto significa que podemos verificar si es válido, si el nombre coincide con el hash, pero no podemos decir nada más al respecto. Podemos verlo pero no podemos leerlo, o saber de dónde viene.

Mapa de datos

Correcto, entonces, ¿qué es un mapa de datos? El mapa de datos es un archivo simple que contiene el nombre sin cifrar del contenido y los nombres de todos los fragmentos cifrados que lo componen, por lo que sabemos dónde encontrarlos (nombre del fragmento == dirección Xor). Si se almacena sin cifrar en la red, cualquiera puede usarlo para recrear el contenido. Si está encriptado o almacenado en nuestro cliente privado, solo nosotros podemos hacerlo. Volveremos a encriptar el mapa de datos en un segundo.

Metadatos

Y lo último que debemos mencionar son los metadatos, información sobre el contenido. Esto incluye opcionalmente su tamaño, su nombre, el tipo de archivo y potencialmente la fecha de creación, acceso, etc. Pero espere un segundo, ¡Safe no hace tiempo! Cierto, pero eso no tiene por qué ser una limitación.

La razón por la que no incluimos metadatos con el contenido es que arruinaría la deduplicación. Digamos que alguien subió la canción de Sex Pistols GodSaveTheQueen.mp3, y otra persona subió exactamente el mismo MP3 pero lo llamó GSTQ.mp3. Si el nombre fuera parte del contenido, los fragmentos serían completamente diferentes, por lo que no habría deduplicación. Esto significa que almacenamos los metadatos por separado de los fragmentos. Podemos almacenarlo en un mapa de datos en la red o en nuestro cliente, lo que nos permite organizar estos blobs aparentemente sin sentido a nuestro gusto, nombrarlos y etiquetarlos como deseemos, incluido el tiempo creado y el tiempo de acceso, y organizarlos en nuestro propio estructuras de directorios.

Los directorios también pueden tener contenido, encriptarse, fragmentarse y almacenarse como archivos con su propio mapa de datos (es por eso que los archivos pequeños que no pasan por el autoencriptado son ilegibles; todo el contenido se almacena en un directorio, pero eso es otro día). ).

Datos públicos y privados

La forma en que funciona Safe es que los datos que son válidos deben almacenarse. Esto significa que no podemos eliminar fragmentos. Pero recuerde que los archivos son contenido más un mapa de datos.

El contenido son solo blobs sin sentido sin un mapa de datos, y esos blobs son tan seguros e incognoscibles como es posible con la tecnología actual. Para hacer que GodSaveTheQueen.mp3 esté disponible públicamente, lo cargamos, publicamos su mapa de datos en la red sin cifrar y lo vinculamos. Lo más probable es que, con una canción tan conocida como esa, los fragmentos ya estén allí, pero el cargador original,quien lo llamó GSTQ.mp3 eligió cifrar el mapa de datos o mantenerlo en su cliente y, por lo tanto, privado.

Esa es la diferencia básica entre datos públicos y privados.

Si encriptamos el mapa de datos con una clave BLS, esto también nos permite crear recursos compartidos de claves que luego podemos enviar a otras personas, lo que significa que hemos compartido datos privados. BLS nos da esta magia de forma gratuita. Esto significa que los datos públicos/privados y compartidos son todas acciones del lado del cliente. La red almacena datos para siempre y los clientes usan el mapa de datos (raíz) y el cifrado para hacer que los datos sean públicos, privados o privados compartidos.


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.