Dat - que protocolo é e quem o utiliza

Estamos falando dos princípios de operação deste protocolo P2P e de projetos construídos com base em ele.


/ Unsplash / Alina Grubnyak

O que é dat


Dat (Transporte de arquivo descentralizado) é um protocolo aberto para troca de dados e mensagens em uma rede distribuída (ponto a ponto). Possui recursos de controle de versão integrados e permite monitorar alterações nos conjuntos de dados. Dat foi desenvolvido pelo engenheiro Max Ogden. Ele introduziu o protocolo em 2013 como parte do projeto Code for America .

Seus participantes desenvolvem serviços que contribuem para a melhoria dos serviços municipais. O Dat foi criado como uma ferramenta para transferir dados pessoais dos cidadãos entre o estado. organizações. Mais tarde, porém, o foco do projeto mudou para a informação científica.

Uma grande comunidade se formou em torno de Dat (7 mil estrelas no GitHub ). O protocolo e os aplicativos criados com base nisso são promovidos pela organização sem fins lucrativos Dat Foundation . É suportado pela Mozilla, a fundação de código aberto do Code for Science & Society e pela Wireline, uma desenvolvedora de redes P2P.

Como ele trabalha


Para fazer upload de um arquivo para a rede Dat, você deve especificar seu URL. Aqui está um exemplo:

dat://778f8d955175c92e4ced5e4f5563f69bfec0c86cc6f670352c457943666fe639/dat_intro.gif 

Para encontrar o link do endereço, os clientes Dat usam DNS multicast . Os colegas transmitem sua solicitação à rede local na esperança de que um dos participantes “ouça” e compartilhe informações. Os clientes também podem acessar o servidor na Internet. O servidor principal está localizado em discovery1.datprotocol.com . Se não estiver disponível, você poderá consultar seu mirror - discovery2.datprotocol.com .

Sobre outros protocolos e padrões em nosso blog sobre Habré:


Quando o par descobre o endereço IP e o número da porta de outro par, eles estabelecem uma conexão TCP. Todos os dados transmitidos são criptografados - o sistema de criptografia de fluxo XSalsa20 é usado para isso. O algoritmo usa uma função hash de vinte ciclos. As operações de conversão são uma reminiscência dos envolvidos na AES.

Os dados na rede Dat são transmitidos em fragmentos separados (pedaços), cujos tamanhos podem variar. O sistema permite adicionar novos fragmentos ao arquivo Dat, mas não permite modificar ou excluir os existentes. Segundo os desenvolvedores, essa abordagem permite salvar todo o histórico de alterações de documentos. O sistema é capaz de funcionar livremente em um ambiente com uma conexão instável.


/ Unsplash / Sven Brandsma

Agora, os membros da Dat Foundation estão aprimorando o protocolo para que ele possa trabalhar com grandes quantidades de dados. Em particular, eles planejam refazer o sistema de arquivos (chamado Hyperdrive ) para lidar com milhões de arquivos e introduzir novos mecanismos de pesquisa por pares ( Hyperswarm ).

Quem usa


Um exemplo seria um projeto aberto da ScienceFair . Este é um aplicativo de desktop para navegar e pesquisar literatura científica. Nesta plataforma, cientistas e pesquisadores podem trabalhar com notas pessoais, revistas ou extratos deles. Para exibir o conteúdo da literatura científica, o ScienceFair usa um leitor de lentes - ele é responsável por renderizar o formato XML do JATS .

Embora o Dat tenha sido originalmente concebido como um protocolo para a troca de informações científicas, a comunidade o utiliza para criar sites, chats e outros aplicativos.

Um exemplo recente é o navegador Beaker P2P, desenvolvido em parceria com a equipe de desenvolvimento do Dat. Seu objetivo é oferecer aos usuários a capacidade de hospedar sites "diretamente no navegador". Os autores da Beaker lançaram o serviço em nuvem Hashbase, que fornece acesso constante a sites de dados cujas cópias locais não estão disponíveis.

O projeto é completamente aberto e sua fonte pode ser encontrada no GitHub . Se você quiser avaliar os recursos do navegador, para executá-lo no Linux, será necessário instalar o libtool, m4 e autoconf:

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

Depois de executar o suficiente:

 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 

Mais exemplos de aplicativos podem ser encontrados no site do projeto.

Analogue


Obviamente, o Dat não é o único protocolo P2P que foi desenvolvido ativamente recentemente. Uma alternativa é o projeto IPFS (Sistema de Arquivos InterPlanetário). Este é um sistema de arquivos distribuído ponto a ponto. A diferença de outras redes descentralizadas é que ela trabalha com blocos. Eles podem conter parte do arquivo e links para outros blocos. A partir desses blocos, é formado um gráfico direcionado generalizado semelhante a uma árvore que forma um diretório ou arquivo. O IPFS trabalha com tabelas de hash distribuídas e suporta trocas de blocos descentralizadas. O IPFS não possui pontos de falha e os hosts não precisam confiar um no outro. O acesso ao sistema de arquivos pode ser obtido usando FUSE ou HTTP.

A solução já usa o Neocities hosting e o mercado OpenBazaar . Os desenvolvedores de protocolos como IPFS e Dat esperam que seus projetos dêem aos usuários da Internet mais controle sobre seus dados.

Sobre o que escrevemos no blog corporativo do VAS Experts:

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


All Articles