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 BrandsmaAhora 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
Después de suficiente carrera:
git clone https://github.com/beakerbrowser/beaker.git cd beaker npm install npm run rebuild
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: