3 pontos por GN⁺ 2024-01-18 | 1 comentários | Compartilhar no WhatsApp

Protocolo para um armazenamento de dados P2P

  • Controle de permissões granular: é possível restringir o acesso de leitura e escrita aos dados com base em escopos ou janelas de tempo significativos
  • Abordagem focada em privacidade: outros usuários não devem conseguir saber o conteúdo de interesse e, mesmo que saibam, não devem ser capazes de descriptografar os dados sincronizados
  • Edições destrutivas: ao atualizar um valor, o valor anterior e os metadados relacionados são sobrescritos
  • Baixo uso de largura de banda e memória: os dados podem ser sincronizados seletivamente, e até dispositivos com memória limitada conseguem sincronizar

Motivos para criar o Willow

  • Armazenamento de dados que não fica offline: fornece um repositório sempre disponível para dados arbitrários, como texto e mídia
  • Privacidade e criptografia de ponta a ponta: outros usuários não devem conseguir saber o conteúdo de interesse e, mesmo que saibam, devem ser incapazes de descriptografar os dados sincronizados
  • Exclusão completa dos dados: sistemas distribuídos usam tombstones para sinalizar exclusões, mas os metadados permanecem. Com prefix pruning, é possível excluir completamente muitos itens e todos os metadados, deixando no lugar apenas um único tombstone

Recursos adicionais

  • Sincronização parcial: quando há muitos dados, mas você não quer sincronizar tudo com um dispositivo específico, é possível escolher quais dados replicar, quando e por quem eles foram criados
  • Edições destrutivas: ao atualizar um valor, o valor anterior e os metadados relacionados são sobrescritos
  • Exclusão local de dados: é possível excluir localmente dados indesejados, mesmo que tenham sido escritos por outra pessoa
  • Comunicação com orçamento de recursos: é possível comunicar entre pares o orçamento de recursos para que até dispositivos com memória muito limitada consigam sincronizar
  • Transporte e primitivas criptográficas personalizados: é possível escolher o transporte e as primitivas criptográficas adequados ao caso de uso
  • Escrita simultânea em vários dispositivos: o autor pode escrever simultaneamente a partir de vários dispositivos

Apoio ao projeto

  • Este projeto recebeu financiamento por meio do NGI Assure Fund, criado pela NLnet com o patrocínio da DG Communications Networks, Content and Technology, no âmbito do programa Next Generation Internet da Comissão Europeia.
  • Também expressam agradecimento a outros patrocinadores pelo apoio.

Opinião do GN⁺

  • Sincronização de dados inovadora: o Willow oferece uma abordagem inovadora para sincronização de dados e privacidade, permitindo que os usuários gerenciem seus dados de forma mais segura e eficiente.
  • Apoio da Comissão Europeia: como projeto apoiado pela Comissão Europeia, mostra como a importância da proteção de dados e da privacidade vem sendo enfatizada na Europa.
  • Aplicável a diversos casos de uso: foi projetado para uso em diferentes dispositivos e ambientes, podendo ser aplicado em uma ampla variedade de áreas, de dispositivos IoT a aplicativos móveis.

1 comentários

 
GN⁺ 2024-01-18
Comentários do Hacker News
  • No design de protocolos, existem perguntas para as quais não há respostas claras.

    • Por exemplo, se um namespace deve ser identificado por uma string legível por humanos ou pela chave pública de um esquema de assinatura digital depende inteiramente do caso de uso.
    • Para evitar essas perguntas, o modelo de dados do Willow é genérico em relação à escolha de parâmetros específicos.
    • Com o Willow, é possível usar strings, inteiros de 256 bits, URLs, exames de íris etc. como identificadores de namespace.
    • Willow é um protocolo de ordem superior: ao fornecer escolhas concretas para os parâmetros, obtém-se um protocolo concreto correspondente.
    • Se sistemas diferentes implementarem o Willow com parâmetros diferentes, ambos podem afirmar que usam Willow, embora não sejam interoperáveis entre si.
  • Comparação entre Willow e outros protocolos, por exemplo o IPFS:

    • No IPFS, os dados são imutáveis, sem estado e têm um namespace global.
    • Já no Willow, os dados são mutáveis, com estado e têm namespaces condicionais.
    • O Willow é interpretado como um sistema de banco de dados distribuído autenticado, com permissão, baseado em conteúdo e endereçado globalmente.
    • Os endereços têm a hierarquia e a expressividade de URLs.
    • Uma das características do documento é que, ao passar o mouse sobre palavras sublinhadas, uma caixa pop-up fornece definições ou explicações.
    • Alguns termos dentro do pop-up também aparecem sublinhados, o que facilita obter uma compreensão mais profunda dos termos.
  • Comparação com o IPFS:

    • Pessoalmente, o IPFS foi decepcionante no uso real, então há grande expectativa em relação a sucessores.
    • A promessa do IPFS é grande, mas ele é muito lento, incômodo de usar e cheio de bugs.
    • Tem uma grande ideia, mas falta o acabamento cuidadoso que poderia aumentar a usabilidade.
    • Quando a coleção de arquivos cresce, o sistema não consegue sustentar o próprio peso e desmorona.
    • Mesmo colocando mais recursos, depois de certo ponto o sistema entra em colapso total.
  • Há confusão sobre quais aplicações concretas atenderiam de forma ideal às necessidades reais dos usuários com o Willow.

  • Em outros comentários foram citados IPFS, Dropbox e Syncthing, mas o Willow é mais parecido com o Upspin, exceto pelo fato de o Willow usar P2P e o Upspin usar um servidor de chaves centralizado.

  • Já tentaram trabalhar com libp2p, e o Willow parece muito promissor para lidar com detalhes de baixo nível.

    • Não examinaram a documentação em profundidade, mas parece possível modelar várias aplicações imediatamente.
  • Pergunta sobre se o Willow é uma especificação pura ou se não há nenhuma implementação.

  • Pergunta sobre qual é o propósito dos subspaces se namespaces já existem, e por que há delimitadores nas chaves.

  • Gostaram muito das ilustrações do documento.

  • É descentralizado e não precisa de ICO.