Estamos falando dos princípios de operação deste protocolo P2P e de projetos construídos com base em ele.
/ Unsplash / Alina GrubnyakO 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 BrandsmaAgora, 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
Depois de executar o suficiente:
git clone https://github.com/beakerbrowser/beaker.git cd beaker npm install npm run rebuild
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: