Dat: qué protocolo es y quién lo usa

Estamos hablando de los principios de funcionamiento de este protocolo P2P y los proyectos construidos sobre esta base.


/ Unsplash / Alina Grubnyak

¿Qué es eso?


Dat (transporte descentralizado de archivos) es un protocolo abierto para el intercambio de datos y mensajes dentro de una red distribuida (punto a punto). Tiene funciones integradas de control de versiones y le permite monitorear los cambios en los conjuntos de datos. Dat fue desarrollado por el ingeniero Max Ogden. Introdujo el protocolo en 2013 como parte del proyecto Code for America .

Sus participantes desarrollan servicios que contribuyen a la mejora de los servicios municipales. Dat fue creado como una herramienta para transferir datos personales de ciudadanos entre el estado. organizaciones. Pero más tarde, el enfoque del proyecto cambió hacia la información científica.

Se ha formado una gran comunidad alrededor de Dat (7 mil estrellas en GitHub ). La organización sin fines de lucro Dat Foundation promueve el protocolo y las aplicaciones creadas sobre esta base. Está respaldado por Mozilla, la fundación de código abierto de Code for Science & Society y Wireline, un desarrollador de redes P2P.

Como trabaja


Para cargar un archivo a la red Dat, debe especificar su URL. Aquí hay un ejemplo:

dat://778f8d955175c92e4ced5e4f5563f69bfec0c86cc6f670352c457943666fe639/dat_intro.gif 

Para encontrar el enlace de dirección, los clientes Dat usan DNS de multidifusión . Los pares transmiten su solicitud a la red local con la esperanza de que uno de los participantes "escuche" y comparta información. Los clientes también pueden acceder al servidor en Internet. El servidor principal se encuentra en discovery1.datprotocol.com . Si no está disponible, puede consultar su espejo: discovery2.datprotocol.com .

Sobre otros protocolos y estándares en nuestro blog sobre Habré:


Cuando el par aprende la dirección IP y el número de puerto de otro par, establece una conexión TCP. Todos los datos transmitidos están encriptados: para esto se utiliza el sistema de encriptación de flujo XSalsa20 . El algoritmo utiliza una función hash de veinte ciclos. Las operaciones de conversión recuerdan a las personas involucradas en AES.

Los datos en la red Dat se transmiten en fragmentos separados (fragmentos), cuyos tamaños pueden variar. El sistema le permite agregar nuevos fragmentos al archivo Dat, pero no le permite modificar o eliminar los existentes. Según los desarrolladores, este enfoque le permite guardar todo el historial de cambios en el documento. El sistema puede funcionar libremente en un entorno con una conexión inestable.


/ Unsplash / Sven Brandsma

Ahora los miembros de la Fundación Dat están mejorando el protocolo para que pueda trabajar con grandes cantidades de datos. En particular, planean reelaborar el sistema de archivos (llamado Hyperdrive ) para hacer frente a millones de archivos e introducir nuevos motores de búsqueda de pares ( Hyperswarm ).

Quien usa


Un ejemplo sería un proyecto abierto de ScienceFair . Esta es una aplicación de escritorio para navegar y buscar literatura científica. En esta plataforma, los científicos e investigadores pueden trabajar con notas personales, revistas o extractos de ellos. Para mostrar contenido de la literatura científica, ScienceFair utiliza un lector de lentes : es responsable de representar el formato XML de JATS .

Aunque Dat fue concebido originalmente como un protocolo para el intercambio de información científica, la comunidad lo utiliza para crear sitios web, chats y otras aplicaciones.

Un ejemplo reciente es el navegador Beaker P2P, que se desarrolló en colaboración con el equipo de desarrollo de Dat. Su propósito es brindar a los usuarios la capacidad de alojar sitios web "directamente en el navegador". Los autores de Beaker lanzaron el servicio en la nube Hashbase, que proporciona acceso constante a sitios de datos cuyas copias locales no están disponibles.

El proyecto está completamente abierto, y su fuente se puede encontrar en GitHub . Si desea evaluar las capacidades del navegador usted mismo, para ejecutarlo en Linux necesitará instalar libtool, m4 y autoconf:

 sudo apt-get install libtool m4 make g++ autoconf # debian/ubuntu sudo dnf install libtool m4 make gcc-c++ libXScrnSaver # fedora 

Después de suficiente carrera:

 git clone https://github.com/beakerbrowser/beaker.git cd beaker npm install npm run rebuild # see https://github.com/electron/electron/issues/5851 npm start 

Se pueden encontrar más aplicaciones de muestra en el sitio web del proyecto.

Análogo


Por supuesto, Dat no es el único protocolo P2P que se ha desarrollado activamente recientemente. Una alternativa es el proyecto IPFS (InterPlanetary File System). Este es un sistema de archivos distribuido punto a punto. La diferencia con otras redes descentralizadas es que funciona con bloques. Pueden contener parte del archivo y enlaces a otros bloques. A partir de estos bloques se forma un gráfico dirigido en forma de árbol generalizado que forma un directorio o archivo. IPFS funciona con tablas hash distribuidas y admite intercambios de bloques descentralizados. IPFS no tiene puntos de falla, y los hosts no están obligados a confiar entre sí. El acceso al sistema de archivos se puede obtener usando FUSE o HTTP.

La solución ya utiliza el alojamiento Neocities y el mercado OpenBazaar . Los desarrolladores de protocolos como IPFS y Dat esperan que sus proyectos den a los usuarios de Internet más control sobre sus datos.

Sobre lo que escribimos en el blog corporativo VAS Experts:

Source: https://habr.com/ru/post/462359/


All Articles