Protocolo IPFS: O Futuro da Internet Descentralizada

O IPFS, ou Interplanetary File System, permite armazenar e acessar arquivos, websites e aplicativos de forma descentralizada, sem depender de servidores centrais.

Protocolo IPFS: O Futuro da Internet Descentralizada
Protocolo IPFS: O Futuro da Internet Descentralizada

O nome pode soar estranho e a tecnologia ainda está em seus primeiros anos, mas o IPFS pode revolucionar a Internet como a conhecemos hoje. O IPFS, ou Interplanetary File System, é uma tecnologia nova, similar ao HTTP, que permite armazenar e acessar arquivos, websites e aplicativos de forma descentralizada, sem depender de servidores centrais, como o atual Protocolo HTTP.

Nos próximos parágrafos, você vai descobrir o que é essa tecnologia, como ela funciona, alguns estudos de caso, e como ela pode ser interessante para o seu negócio.

O que é IPFS?

Inspirado no Protocolo BitTorrent, o IPFS usa "endereçamentos baseados em conteúdo". Isso significa que, em vez de procurar onde está o arquivo, você procura pelo que está no arquivo. Cada arquivo tem uma assinatura única, um hash, garantindo que o conteúdo que você acessa seja exatamente o que está procurando, sem alterações.

O Interplanetary File System (IPFS) é uma tecnologia disruptiva projetada para criar uma internet mais aberta, descentralizada e eficiente. Ao contrário da arquitetura tradicional da web, que depende de servidores centralizados, o IPFS opera em uma rede distribuída de nós, permitindo que os arquivos sejam armazenados e acessados de forma peer-to-peer (P2P), ou seja, ponto a ponto, assim como o BitTorrent. Semelhante ao HTTP (protocolo de transferência de hipertexto) e ao FTP (protocolo de transferência de arquivos), o IPFS veio para ser uma alternativa ao que é o padrão da Internet atualmente.

Dentre alguns ‘clientes’, ou softwares famosos que usaram a tecnologia BitTorrent, podemos destacar:

  • uTorrent (µTorrent);
  • BitTorrent (mesma empresa que desenvolveu o µTorrent);
  • Deluge;
  • Transmission (Mac e Linux).

Em teoria, o IPFS pode tornar a internet mais eficiente e barata, pois elimina a necessidade de duplicar arquivos em vários servidores. Com o IPFS, uma vez que um arquivo é carregado na rede, ele pode ser acessado por qualquer pessoa, em qualquer lugar, desde que saibam o hash do arquivo, por isso a semelhança com o BitTorrent.

Quem Criou a Tecnologia IPFS e Por quê?

O IPFS foi criado em 2013 por Juan Benet e desenvolvido por sua equipe na Protocol Labs, com o objetivo de superar as limitações do Protocolo de Transferência de Hipertexto (HTTP). Ao observar os desafios de escalabilidade, segurança e centralização da web, Benet vislumbrou uma nova arquitetura que poderia tornar a internet mais aberta, segura e durável, mitigando problemas como a duplicação de conteúdo e a dependência de servidores centrais.

Assista uma entrevista com Juan Benet, o criador do IPFS.

Juan Benet / Protocol Labs

Como Funciona o Protocolo IPFS

O IPFS utiliza um sistema de endereçamento baseado em conteúdo, chamado Content Identifier (CID), para acessar os dados. Em vez de localizar um arquivo por sua localização central (como em URLs), o IPFS busca pelo hash criptográfico único do conteúdo. Isso significa que se o arquivo não mudar, seu CID também não muda, permitindo um acesso mais eficiente e confiável aos dados.

Um exemplo de hash criptográfico usado no IPFS seria algo assim:

QmWmyoMoctfbAbyfmZNSikfbNjTh5z6GLSiBrTdTjbhkJ8

Este é um CID versão 0, que utiliza SHA-256, uma função de hash criptográfica, para gerar um hash único dos dados. O CID identifica de forma única um bloco de dados no IPFS, permitindo que qualquer nó na rede possa recuperar os dados usando este identificador.

A partir da versão 1 do CID, o IPFS começou a suportar múltiplos algoritmos de hash e codificações, tornando os identificadores mais versáteis. Um exemplo de um CID versão 1 poderia ser assim:

bafybeibwzifbarxbumlzdxgu7uiqzhpitnlti37p5fdep3k2kkdmyltuue

Este identificador inclui informações sobre o algoritmo de hash utilizado e a versão do CID, além do hash do conteúdo propriamente dito.

Sei que isso pode parecer muito técnico (e sem dúvida é), mas continue acompanhando para compreender melhor, com os exemplos à seguir.

Quais as Diferenças entre DNS e IPFS

Diferentemente do Domain Name Server (DNS), que traduz nomes de domínio fáceis de lembrar em endereços IP numéricos associados a servidores específicos, o IPFS busca o conteúdo por seu CID, independentemente de sua localização. Isso não apenas reduz a dependência de servidores centralizados, mas também melhora a eficiência ao buscar dados diretamente de seus pares mais próximos na rede.

Client-Server Model vs Peer-to-Peer Model
Client-Server Model vs Peer-to-Peer Model

Veja as diferenças entre acessar um site sob o protocolo padrão HTTP e o IPFS, clicando nos links abaixo:

Site do Protocolo em HTTP: IPFS.tech
Site do Protocolo em IPFS: IPFS.tech

⚠️
Você precisa ter um navegador compatível com essa tecnologia. No momento, somente o Brave e o Opera (de forma mais limitada) possuem compatibilidade nativa.

Vamos a um exemplo!

No protocolo IPFS, a URL de um site não segue o padrão convencional de endereçamento baseado em domínio como https://www.exemplo.com. Em vez disso, ela utiliza um identificador baseado no conteúdo do site (CID - Content Identifier) para acessar os dados. Este CID aponta para o hash criptográfico dos dados do site armazenados na rede IPFS.

Por exemplo, se o meu site https://superempreendedores.com.br fosse hospedado no IPFS, a URL poderia se parecer com uma das seguintes, dependendo de como você acessa o IPFS:

  1. Acesso Direto via Gateway Público do IPFS:
    • https://ipfs.io/ipfs/QmWmyoMoctfbAbyfmZNSikfbNjTh5z6GLSiBrTdTjbhkJ8
      Neste exemplo, QmWmyoMoctfbAbyfmZNSikfbNjTh5z6GLSiBrTdTjbhkJ8 seria o CID do conteúdo do meu site. ipfs.io é um dos gateways públicos para o IPFS, permitindo acesso via navegadores web convencionais.
  2. Acesso via Gateway Personalizado ou Subdomínio:
    • Se você tivesse um gateway IPFS configurado para seu próprio uso, a URL poderia ser algo como:
      • https://ipfs.superempreendedores.com.br/ipfs/QmWmyoMoctfbAbyfmZNSikfbNjTh5z6GLSiBrTdTjbhkJ8
    • Ou, se estivesse usando um serviço de DNSLink, que permite mapear um domínio DNS tradicional para um CID IPFS, o acesso poderia ser feito de forma ainda mais transparente:
      • https://superempreendedores.com.br
      • Nesse caso, o DNS do seu domínio teria um registro TXT que aponta para o CID IPFS do seu site, e o acesso via um navegador que suporta IPFS ou através de um gateway configurado para resolver o DNSLink, levaria diretamente ao conteúdo do IPFS.

Lembre-se de que o CID (QmWmyoMoctfbAbyfmZNSikfbNjTh5z6GLSiBrTdTjbhkJ8 no exemplo) seria diferente para o meu site, refletindo o hash único dos dados do meu site no momento em que foi adicionado ao IPFS. Para hospedar meu site no IPFS, eu precisaria adicionar os arquivos do meu site à rede IPFS e obter o CID correspondente ao conteúdo.

Realmente, isso tudo é um pouco difícil até para quem está acostumado a configurar domínios e seus registros DNS. Dei o exemplo do meu blog, mas eu não cheguei a fazer um domínio, ou um hash no protocolo IPFS.

Um Longo Caminho Pela Frente

E como tudo na vida, há sempre seus prós e contras. Vamos ver a seguir, o que diferencia o IPFS do HTTP e algumas de suas principais dificuldades.

Os Prós do Protocolo IPFS

  • Descentralização: Elimina o ponto único de falha, aumentando a resiliência da rede.
  • Eficiência de Dados: O armazenamento e a recuperação de dados tornam-se mais rápidos e menos onerosos (em teoria).
  • Resistência à Censura: Difícil de censurar ou bloquear conteúdos específicos.
  • Redução de Duplicação: Armazena apenas cópias únicas de arquivos, economizando espaço.

Os Contras do Protocolo IPFS

  • Adoção: Ainda enfrenta desafios de adoção generalizada, comparado ao modelo tradicional da web. Exatamente o que comentei acima, com relação a configuração de um site em IPFS.
  • Gerenciamento de Dados Dinâmicos: Lidar com conteúdo que muda frequentemente pode ser mais complexo.
  • Curva de Aprendizado: A tecnologia pode ser desafiadora para usuários e desenvolvedores novatos na descentralização.

Outro detalhe que temos que levar em consideração, é o uso do Protocolo IPFS para ataques de pishing. Em um artigo da TrendMicro, “IPFS: Uma Nova Fronteira de Dados ou um Novo Esconderijo de Cibercriminosos?” eles detalham como o protocolo está sendo usado por criminosos para realizar fraudes. Mas calma, isso não é para jogar um balde de água fria, afinal, o HTTP é utilizado a décadas por cibercriminosos e nem por isso foi descontinuado. Na verdade, a proporção é mínima se compararmos os dois protocolos, sem contar que implantar um site em IPFS é para desenvolvedores experientes. Leia o artigo da TrendMicro, é muito interessante.

Como Empreendedores Podem Usar a Tecnologia IPFS

Empreendedores podem explorar o IPFS para desenvolver aplicativos descentralizados (DApps), sistemas de armazenamento de dados seguros, plataformas de conteúdo resistente à censura e soluções de distribuição de mídia eficientes. Além disso, a integração do IPFS com tecnologias de blockchain abre caminho para casos de uso inovadores em finanças descentralizadas (DeFi), propriedade intelectual e gerenciamento de identidade.

Blockchain: Tudo O Que Empreendedores Devem Saber
A Blockchain está abrindo novos mercados e modelos de negócios. Descubra o que a Blockchain pode fazer por sua empresa.

Projetos em Blockchain Que Já Estão Usando IPFS

Muitos projetos de blockchain reconhecem as vantagens do IPFS e o integraram para melhorar a escalabilidade, segurança e descentralização. Existem vários projetos, mas os mais conhecidos atualmente são:

  • Filecoin: Uma rede de armazenamento descentralizado que incentiva a economia de armazenamento no IPFS.
  • Ethereum: Algumas aplicações em Ethereum usam o IPFS para armazenamento de dados off-chain.
  • Audius: Uma plataforma de streaming de música que utiliza o IPFS para armazenamento descentralizado de conteúdo.
  • Fleek: Ferramenta SaaS, semelhante ao WebFlow e ao Framer, focada no desenvolvimento de sites e APPs em IPFS.

Estudos de Caso

Audius

Audius é uma plataforma de streaming de música que busca oferecer uma alternativa descentralizada aos serviços de streaming tradicionais, como Spotify e Deezer. Ao utilizar o IPFS, o Audius pode armazenar e distribuir músicas de forma descentralizada, garantindo que os arquivos de áudio estejam disponíveis globalmente, sem a necessidade de servidores centrais.

Isso não só reduz os custos associados ao armazenamento e à distribuição de conteúdo, mas também aumenta a resistência à censura e promove uma maior autonomia para os artistas sobre suas obras. Além disso, o uso do IPFS permite uma distribuição mais eficiente do conteúdo, pois os usuários podem baixar músicas de vários peers em vez de um único servidor central.

Filecoin

O projeto Filecoin é um sistema de armazenamento descentralizado que tem como lema "armazenar as informações mais importantes da humanidade". Ele opera permitindo que os usuários aluguem seu espaço de armazenamento não utilizado, atuando como um mercado para armazenamento e recuperação de dados.

Ao contrário das soluções tradicionais de armazenamento em nuvem, que dependem de centros de dados centralizados, o Filecoin aproveita uma rede distribuída de indivíduos e organizações com capacidade de armazenamento para oferecer uma solução de armazenamento mais resiliente, eficiente e acessível. Esta abordagem descentralizada não apenas reduz a dependência de alguns grandes fornecedores, mas também melhora a integridade e acessibilidade dos dados, uma vez que os dados são armazenados em múltiplos locais globalmente.

Filecoin price today, FIL to USD live price, marketcap and chart | CoinMarketCap
The live Filecoin price today is $10.17 USD with a 24-hour trading volume of $1,269,792,302.52 USD. We update our FIL to USD price in real-time.

No coração da tecnologia do Filecoin está sua integração com o IPFS. Enquanto o IPFS permite o compartilhamento e acesso descentralizado de arquivos através de uma rede global, o Filecoin adiciona uma camada de incentivo a este sistema. Por meio do Filecoin, os participantes são recompensados com tokens FIL por fornecer espaço de armazenamento, garantindo que a rede permaneça robusta e os dados sejam facilmente acessíveis.

Fleek

Fleek é uma plataforma SaaS que oferece ferramentas para a construção de sites e aplicações descentralizadas (dApps) no IPFS, facilitando para os desenvolvedores a publicação de conteúdos na web descentralizada. Ao utilizar o IPFS, o Fleek permite que os usuários hospedem seus sites de forma descentralizada, melhorando a velocidade de carregamento, a segurança e a resistência à censura. Isso é interessante para projetos que buscam maior controle sobre seus dados e uma distribuição de conteúdo que não dependa de servidores centralizados.

Morpheus Network

Morpheus Network utiliza a blockchain e o IPFS para otimizar e automatizar uma cadeia de suprimentos global. Integrando o IPFS, a plataforma pode armazenar documentos, contratos e registros de transações de forma segura e imutável, facilitando o acesso e a verificação desses dados por todas as partes envolvidas na cadeia de suprimentos.

Berty

Berty Chat, é o primeiro e talvez o melhor aplicativo de mensagens distribuídas atualmente e verdadeiramente ponto a ponto. O Berty funciona como um WhatsApp ou Telegram, com a diferença de que não existe um servidor central. Como eles dizem em seu site.

O Berty é Open Source e não se destina apenas a desenvolvedores e engenheiros, mas a qualquer pessoa preocupada em proteger sua privacidade digital e proteger suas comunicações.

Assista ao vídeo de apresentação do Berty Chat.

Berty Chat

Atualmente, o IPFS é viável?

Apesar dos desafios de adoção e da necessidade de infraestrutura mais robusta, o IPFS já demonstra viabilidade em diversos setores, especialmente onde a descentralização e a segurança de dados são críticos. À medida que mais desenvolvedores e empresas exploram o IPFS, espera-se que sua aplicabilidade e adoção cresçam, pavimentando o caminho para uma internet mais descentralizada e eficiente. Estou torcendo por isso. 😉

Conclusão

Sem dúvida, o Protocolo IPFS representa uma evolução significativa na forma como os dados são armazenados e acessados na internet, oferecendo uma alternativa promissora ao modelo centralizado tradicional. Embora ainda esteja em fase de adoção inicial, com poucos representantes e usuários, seu potencial para transformar a internet em um espaço mais aberto, seguro e eficiente é inegável. À medida que a tecnologia amadurece e mais casos de uso são explorados, o IPFS pode muito bem se tornar a espinha dorsal de uma nova internet descentralizada, aquela que chamamos de Web3.

Se você chegou até aqui e já está fazendo experiências com essa tecnologia, ou já desenvolveu um site ou aplicativo com o Protocolo IPFS, deixe suas considerações nos comentários.