IPFS ou InterPlanetary File System, é um sistema de arquivos descentralizado que visa garantir a segurança, privacidade e resistência à censura de seus dados.

EO projeto InterPlanetary File System ou Interplanetary File System (IPFS) é um projeto curioso com um objetivo bastante claro: criar uma rede de computadores com alcance global que permita o armazenamento de informações de forma totalmente descentralizada, com alta escalabilidade e, claro, com grande resistência a censuras de qualquer natureza.

Você pode imaginá-lo como uma enorme rede que contém enormes quantidades de informações espalhadas por todo o mundo e que você pode acessar de forma totalmente transparente e segura. Sem dúvida, o complemento perfeito para a Internet cada vez maior, cujo alcance agora atinge até os menores aparelhos eletrônicos, como relógios, despertadores e até cafeteiras.

Mas o que está por trás desse projeto? Como começar? Que solução isso traz para o nosso mundo digital? Bem, você saberá as respostas para essas e outras perguntas a seguir.

IPFS, o início do projeto

IPFS é uma ideia que vem da mente de Juan Benet, um programador que fundou a empresa em 2014 Protocol Labs. No entanto, não foi até 2015, quando a Benet apresentou o IPFS ao mundo. A ideia é construir um Rede P2P que permite aos seus integrantes armazenar e distribuir informações de forma totalmente descentralizada em todo o planeta. O sistema funciona com base na conhecida tecnologia de tabela de hash distribuída ou DHT, o mesmo que é usado no Protocolo BitTorrent, do qual o IPFS obtém algumas funções para sua rede P2P.

Desde então o IPFS tem sido um projeto em constante desenvolvimento e a versão 0.7.0 deste sistema está atualmente disponível. Embora seja uma versão em desenvolvimento, o IPFS atualmente permite a implantação de muitas de suas funções finais de forma estável, e muitas delas ainda estão em constante aprimoramento, deixando claro que é um sistema que já podemos utilizar hoje.

Juan Benet criador do IPFS ou Sistema de Arquivos InterPlanetário

Um sistema de arquivos para a Internet

Contudo O que levou à criação do IPFS? Bem, basicamente a criação do IPFS vem para resolver uma necessidade de espaço de armazenamento gigantesco que está em constante expansão com a Internet atual que temos. Estima-se que um total de 2019 zetabytes de informações foram gerados em todo o mundo em 42. Ou seja, 42 bilhões de terabytes de informações adicionais a todos os dados que já foram gerados nos anos anteriores.

Mas o principal problema com esses dados é que eles acabam nas mãos de terceiros que geralmente os exploram para suas diferentes atividades econômicas. Por exemplo, não é incomum que empresas como o Facebook pegem seus dados em sua rede social e os usem para vendê-los a terceiros interessados ​​em informações que podem vir de seus gostos ou atividades, isso para criar perfis que lhes permitam oferecer outros produtos e serviços. Pode parecer inocente, mas não é. Na verdade, isso é uma violação da sua privacidade, uma vez que não apenas seus dados na rede social são utilizados, mas toda a sua atividade é rastreada dentro e até fora da rede, para que seja vendida a terceiros.

Outras empresas como o Google Drive, por sua vez, são capazes de analisar o que você escreve e salva em seus servidores e, se encontrarem algo que "viola seus regulamentos", simplesmente o excluirão de seus servidores, sem dar a você o direito de proteção dita informação em outro meio. Em suma, as grandes empresas de Internet usam seus dados para vendê-los e praticam uma censura intolerável em todos os sentidos.

Para resolver este problema, nasceu o IPFS. A ideia do IPFS é transformar a forma como os dados são armazenados, permitindo que sejam totalmente descentralizados e controlando o acesso a eles a qualquer momento. Além disso, o IPFS permite que nosso computador armazene dados de um site e os sirva a quem precisa, a quem precisa. Bom, isso é IPFS, e se não se enganam, é parecido com o que o BitTorrent faz para compartilhar arquivos, só que, neste caso, o protocolo seria integrado a aplicativos e sites como os que usamos o tempo todo, fazendo a interação com IPFS totalmente transparente.

Não apenas isso, com o IPFS, a capacidade de armazenamento mundial aumentaria drasticamente. E isso porque nossos computadores se tornariam parte daquele enorme disco de dados que armazenará informações de toda a Internet. Isso ajudaria a resolver (ou diminuir significativamente) a necessidade de espaço de armazenamento para atender à demanda em todo o mundo. Além disso, ajudaria a descentralizar a rede, e até permitiria manter um histórico completo daquelas informações que nos interessam em uma rede resistente e sem censura.

Como funciona o IPFS?

IPFS é um sistema que funciona sob o esquema de “busca por conteúdo”, ou seja, toda vez que realizamos uma busca no IPFS, devemos informar ao sistema “o que estamos procurando” ao invés de dizer “onde procurar” .

Vamos dar uma olhada no que tudo isso significa por um momento e usar a Internet atual como exemplo. Quando visitamos um site na Internet, o que nosso navegador faz é o seguinte:

  1. Pegue a URL ou endereço e execute uma consulta DNS, para descobrir em qual endereço IP esse servidor está localizado.
  2. Depois de ter o endereço IP, o navegador faz uma solicitação de informações ao servidor e começa a baixar as informações.
  3. Mostra-nos as informações do URL que indicamos.

Esta é uma forma bastante simplificada de tudo o que acontece toda vez que usamos nosso navegador. Este tipo de operação é denominado "pesquisa por localização", e assim é porque precisamos saber onde a informação está "localizada" para podermos acessá-la. Essa localização é o endereço IP do servidor, e a partir daí começa a situação que ninguém quer, se o servidor ficar fora do ar, você não conseguirá acessar a informação que procura, pois a localização não está disponível.

No entanto, no caso do IPFS, a “pesquisa por conteúdo” funciona de uma forma completamente diferente. Na verdade, podemos dividi-lo da seguinte forma:

  1. Você diz ao sistema qual conteúdo está procurando.
  2. O sistema recebe sua solicitação de informações e a envia para a rede, onde os nós do sistema começarão a responder a você. Além disso, essas informações são
    protegido por criptografia, um sistema de hashing de dados e assinatura digital, para evitar que alguém acesse sem permissão.
  3. Você receberá a resposta dos nós mostrando as versões do conteúdo disponíveis em toda a rede.
  4. Se você escolher uma opção, poderá acessar o conteúdo e até mesmo todo o seu histórico, pois se essa opção foi exibida é porque está ativa na rede no momento da sua solicitação.

Isso significa que o IPFS faz pesquisas que são definidas pelo conteúdo e nas quais os nós da rede respondem. Por exemplo, se quiser entrar na Bit2Me Academy em IPFS, basta escrever Bit2Me Academy, e os nós que armazenam informações deste site irão mostrar-lhe todo o conteúdo que guardaram, podendo aceder a qualquer momento.

Claro, por trás disso existe uma série de tecnologias que tornam tudo isso possível e sobre as quais você aprenderá a seguir.

DHT, o ponto de partida do IPFS

O ponto de partida para o IPFS é a tabela de hash distribuída ou DHT. Esta função é responsável por criar um hash único e irrepetível para cada um dos conteúdos do sistema. Além disso, também é responsável por criar um índice de pesquisa global para toda a rede distribuída, garantindo que o conteúdo da rede não seja duplicado e nos permitindo redirecionar as pesquisas aos nós corretos para que possamos acessar as informações sempre que quisermos. quer.

Simplificando, o DHT cria uma enorme biblioteca de hashes únicos e irrepetíveis que nos permite pesquisar rapidamente o conteúdo que desejamos. Para este sistema, o IPFS usa o conhecido hash SHA-256, o mesmo usado no Bitcoin e em muitas outras criptomoedas. A razão? É simples de implementar, seguro e o hardware atual pode realizar os cálculos permitindo que este trabalho requeira pouco poder de computação na geração dos hashes.

Um DAG para gerenciar a rede

Outra parte importante de como o IPFS funciona é que sua rede está estruturada em um grande DAG ou Grafo Acíclico Direcionado. Este é um tópico que já discutimos aqui na Bit2Me Academy. Agora, o DAG IPFS é especificamente um DAG Merkle, ou seja, um DAG em que cada nó tem um identificador exclusivo que é um hash do conteúdo do nó.

O Merkle DAG usado é apenas uma ligeira modificação do que seria um blockchain, onde cada bloco tem uma raiz Merke e os dados desse bloco são resumidos. Nesse sentido, a construção DAG foi escolhida em vez do blockchain por um motivo técnico muito poderoso: o IPFS é executado de forma assíncrona e é mais escalonável. Além disso, é um projeto onde a imutabilidade total não é sua finalidade (embora seja possível configurar o sistema para ser imutável) e, claro, não há necessidade de proteção contra ataques como gasto em dobro, ataque de 51%, entre outros .

Neste contexto técnico, o IPFS DAG foi projetado para permitir conteúdo mais eficiente e redirecionamento de pesquisa entre nós. Além disso, um Merkle DAG permite a criação de "históricos de alterações" que nos permitem rastrear a alteração individual de arquivos em momentos diferentes, permitindo-nos navegar por eles sem problemas. Desta forma, podemos preservar não apenas a última versão de um site, mas sua história completa desde o início até o momento mais atual. Além disso, esse recurso permite a aplicação de três funções importantes:

  1. A primeira é a conhecida "desduplicação" que nos impede de ter conteúdo duplicado no nó e em toda a rede.
  2. O segundo é conhecido como "armazenamento delta", no qual são criados pequenos arquivos que nos permitem saber exatamente qual conteúdo foi alterado entre as diferentes versões. Assim, tomando um determinado conteúdo de base e adicionando os respectivos deltas, podemos recriar um conteúdo mais atual (ou mais antigo) do que o conteúdo de base que foi obtido.
  3. Por fim, a terceira função é que este DAG permite que a rede participe do acesso do usuário a determinadas informações. Assim, por exemplo, se um dado está em 2 ou mais nós, o usuário pode iniciar o download das informações de todos esses locais, melhorando o tempo de download e a resposta geral da rede.

Privacidade em IPFS

No entanto, a ideia de armazenar nossos dados em computadores espalhados pelo mundo não é algo que muitos gostam. O perigo que isso pode representar para a nossa privacidade é imenso, então: Como o IPFS resolve esse problema?

Bem, em primeiro lugar, você deve saber que tudo no IPFS está dentro de uma rede pública. Assim, qualquer pessoa pode acessá-lo tendo um cliente para ele. Portanto, cada dado que você colocar no IPFS fará parte do DHT e do Merkle DAG da rede, deixando claro que tudo está acessível.

Isso, no entanto, é algo que pode ser resolvido graças ao fato de que o IPFS é um sistema de software livre e qualquer pessoa ou grupo de desenvolvedores pode adicionar esta função à rede, permitindo o anonimato dos dados e até mesmo adicionando criptografia avançada para protegê-los. acesso não autorizado. Na verdade, é o caso de vários projetos que utilizam o IPFS para sua operação.

Quanto você sabe, cryptonuta?

O IPFS pode contornar a censura e a falta de acesso a sites?

VERDADEIRO!

Uma das grandes características do IPFS é que ele pode fornecer acesso a sites que foram censurados por uma empresa ou nação. Um bom exemplo é a versão turca da Wikipedia, que foi duplicada usando IPFS.

Casos de uso IPFS

Agora, vamos conhecer alguns casos de uso bastante marcantes dessa tecnologia:

o FileCode

No auge da febre da OIC de 2017, e procurando uma forma de financiar sua ideia, foi lançado o Filecoin ICO, um projeto irmão criado por Juan Benet e sua empresa Protocol Labs. A ideia do Filecoin é criar um incentivo sistema pelo qual os usuários IPFS são encorajados a armazenar os arquivos que outros desejam armazenar. O Filecoin permite que as pessoas aluguem espaço de armazenamento que pode ser pago com o token FIL.

A história do Filecoin começou em 2017, e só neste dia 29 de outubro de 2020 é que finalmente saiu a sua rede. O lançamento do projeto gerou muita atenção e neste momento a rede já armazena cerca de 1,4 Exabytes de informação. Além de uma capitalização de mercado que excede $ 1200 bilhão e um custo de mais de $ 29 por token FIL.

Filecoin usa IPFS para seu armazenamento de dados

Audius

Audius é uma plataforma de compartilhamento de música e áudio projetada para fornecer aos artistas um link direto com seus ouvintes. Usando tecnologia descentralizada, Audius pode garantir os direitos dos artistas e o controle de suas próprias músicas. Tudo isso por meio de uma plataforma resistente à censura para a expressão e distribuição de obras e composições artísticas. Para criar uma plataforma operada e pertencente ao usuário, ter uma rede de armazenamento em nuvem distribuída como base para o sistema foi fundamental. Audius usa IPFS como o componente central de armazenamento descentralizado em sua missão de dar a todos a liberdade de compartilhar, monetizar e ouvir qualquer áudio.

OpenBazaar

O OpenBazaar é uma plataforma de e-commerce ponto a ponto na qual compradores e vendedores podem participar anonimamente e de forma privada, sem coleta de dados por provedores ou qualquer outra autoridade central. A plataforma OpenBazaar é desenvolvida pela OB1, que também criou o Haven, uma versão móvel do OpenBazaar que oferece compras, bate-papo e a capacidade de enviar criptomoedas de forma privada.

IPFS serve como camada de armazenamento de dados para OpenBazaar e Haven. Na rede, comerciantes e compradores podem executar nós de armazenamento, eliminando a necessidade de um servidor central. Ao usar o IPFS para criar esta rede colaborativa, o OpenBazaar permite que compradores e vendedores negociem sem risco. Riscos como coleta de dados centralizada ou ameaça de invasão de suas informações pessoais.

OB1 tem sido construído com sucesso no IPFS desde 2015. A rede ponto a ponto que o IPFS habilita permite que a equipe forneça uma plataforma onde as pessoas trocam mercadorias livremente. Além de permitir que a OB1 seja apenas uma fornecedora de tecnologia. Isso significa que você não é um fornecedor de produto, "proprietário" da rede ou empresa ponto a ponto.

Prós e contras do IPFS

Entre os prós do IPFS podemos citar:

  1. O sistema de armazenamento é totalmente descentralizado.
  2. A rede é construída para ser altamente escalonável.
  3. A rede pode resistir a ataques de negação de serviço, entre outros, porque é totalmente descentralizada. Desta forma, o acesso oportuno às informações é garantido em todos os momentos.
  4. Seu uso é totalmente gratuito, e o código-fonte está disponível sob licença de software livre.
  5. É extensível, o que permite a qualquer pessoa adaptar novas funções sem maiores problemas. Por exemplo, podem ser adicionados módulos de privacidade, conexão a TOR, I2P, entre outros.

Por seus contras, podemos citar:

  1. É um desenvolvimento ainda em evolução, por isso a sua utilização na produção ainda não é muito extensa.
  2. É complexo de usar para usuários inexperientes neste tipo de sistema.
  3. Ele não tem extensões de privacidade por padrão.
  4. Ao contrário de projetos como o SIA, o IPFS não foi projetado com um modelo de incentivo em seu núcleo. Por causa disso, eles tiveram que desenvolver projetos separados como o Filecoin, que são limitados em sua integração.