Status v1.2 é um marco significativo no desenvolvimento do mensageiro privado, carteira de criptomoedas integrada e navegador web3 seguro. Ele apresenta o Waku - uma bifurcação do protocolo Whisper de mensagens ponto a ponto, usado anteriormente. O Waku tem como objetivo resolver alguns dos problemas do Whisper de maneira iterativa e permitir maior escalabilidade.
Esta postagem irá explicar resumidamente alguns dos principais conceitos de mensagens ponto a ponto, as deficiências do Whisper, como o Waku aborda essas questões e as compensações feitas.
Uma visão geral de 3.000ft de mensagens ponto a ponto?
Em termos muito simples, o sistema de mensagens ponto a ponto elimina a necessidade de servidores terceirizados centralizados para transmitir mensagens por toda a rede. Em redes cliente-servidor tradicionais (em uso pela maioria dos principais aplicativos de mensagens hoje), as mensagens são enviadas da pessoa A (Alice) para um servidor central na rede para processamento e, em seguida, encaminhadas para a pessoa B (Bob). Esses servidores hospedam e processam todas as mensagens na rede e se tornam os principais riscos de privacidade e segurança, pois se tornam pontos únicos de falha e vetores de ataque centralizados. Mesmo com formas avançadas de criptografia ponta a ponta e outras medidas de privacidade, esses servidores centralizados apresentam riscos de segurança e privacidade.
No caso de redes de mensagens ponto a ponto, especificamente Whisper e agora Waku, quando Alice quer enviar uma mensagem para Bob, ela a transmite para vários nós (ou outras pessoas) na rede, e essa mensagem salta de um nó para nó, terminando com Bob.
Isso pode parecer contra-intuitivo - por que eu iria querer que muitas pessoas em uma rede tivessem acesso às minhas mensagens? Bem, apenas Bob tem acesso a mensagem, os outros nós simplesmente ajudam a rotear as mensagens. Todas as mensagens são criptografadas de ponta a ponta por padrão, de forma que apenas o destinatário pretendido, Bob, pode desbloquear e visualizar o conteúdo da mensagem.
Esta é uma visão geral, de nível extremamente alto, do modelo cliente-servidor padrão versus mensagens ponto a ponto, destinadas a ilustrar os perigos do primeiro e como os modelos ponto a ponto descentralizados visam fornecer maior privacidade e resistência à censura. Há uma série de recursos, incluindo roteamento escuro, tempo de vida, envelopes, tópicos e muito mais projetados para privacidade, segurança e “negação plausível”, que abordaremos com mais detalhes neste artigo.
Em suma, as mensagens ponto a ponto têm como objetivo fornecer:
- Remoção de intermediários que buscam aluguel centralizado
- Descentralização da rede e remoção de pontos únicos de falha
- Resistência à censura
As deficiências do Whisper
Whisper é o protocolo de mensagens original da pilha de tecnologia Ethereum. Quando a Status iniciou o desenvolvimento em 2017, ele estava sendo construído com a premissa de que o desenvolvimento do protocolo continuaria.
No entanto, com grande parte dos esforços e recursos do ecossistema Ethereum focados em Eth1.X e Eth2.0, a Status de boa vontade pegou o manto de mensagens e começou a trabalhar em nossa própria implementação do Whisper.
Whisper, sendo um protocolo um tanto esotérico com algumas questões fundamentais, não teve muito uso. A equipe de Status estava fazendo pequenas modificações para garantir que o Whisper fosse executado em dispositivos móveis. Ainda assim, existem problemas fundamentais:
Escalabilidade - o Whisper não se adapta muito bem, especificamente quando se trata de uso de banda larga em dispositivos móveis. Descobrimos que, à medida que a rede atinge cerca de 1.000 usuários ativos por dia, a maioria dos casos mostra o uso banda larga próximo à 100 MB por dia e esse número aumenta rapidamente, quanto mais usuários estão na rede. O que significa que os usuários individuais usarão muitos dados e a bateria se esgotará muito rapidamente. Quanto mais nós houver na rede, mais mensagens serão enviadas para cada nó. Por fim, resultando em mais mensagens sendo roteadas por meio de seu telefone - destinadas a você ou não.
Os nós Whisper alavancam filtros bloom que permitem que os pares do nó saibam em que tipo de informação o nó está interessado. Isso significa que o seu nó ouvirá e receberá um monte de mensagens de um determinado tópico, incluindo algumas que não são destinadas a ele. Os nós até mesmo duplicam mensagens e as encaminham para inundar a rede e ofuscar o caminho da mensagem.
Resistência a spam - a Proof of Work (PoW) requer muita bateria e capacidade de computação para a maioria dos telefones celulares, tornando-se um mecanismo ruim para nós heterogêneos. O que torna a PoW resistente ao spam é o poder extra. Os dispositivos móveis simplesmente não possuem os recursos para se manterem atualizados de forma eficiente. Na Status, o requisito de PoW foi definido como muito baixo, o que significa que qualquer um poderia inicializar um servidor e calcular o PoW rapidamente, enviando spam para toda a rede; mesmo assim, PoW cria um trabalho adicional significativo para dispositivos móveis.
Sem infraestrutura incentivada - Não há incentivo para executar um nó Whisper. Isso forçou o Status a configurar um cluster que inclui vários nós fornecidos pelo Infura, servidores de e-mail e outra infraestrutura de terceiros. Esses serviços resultam em pontos de estrangulamento centralizados na rede.
Falta de especificação formal e inequívoca - o Whisper foi originalmente projetado como a camada de comunicação do Ethereum permitindo que os Dapps (aplicativos descentralizados) se comuniquem uns com os outros. Conforme mencionado acima, o ecossistema Ethereum decidiu mudar o foco para Eth1.X e Eth2.0, deixando Whisper e sua documentação original para trás. Embora algumas equipes tenham criado implementações, a especificação formal não foi mantida, tornando-a muito difícil de analisar e implementar.
Execução na devp2p - Limita onde e como o Whisper pode ser executado. Por exemplo, ele não pode ser executado em websockets em navegadores. Ele também tem uma certa impressão digital que pode facilitar a censura ao tráfego. Discutiremos como o Waku é executado em libp2p e os benefícios associados a seguir.
Como o Waku planeja resolver esses problemas
Para tornar a Status mais escalonável, a equipe Vac bifurcou o Whisper e criou o Waku. A versão mais recente do Status, v1.2, apresenta a versão inicial do Waku e melhora a escalabilidade da rede em 10 vezes. No entanto, essa ainda é uma abordagem iterativa para a produção de um protocolo de mensagens ponto a ponto verdadeiramente privado, resistente à censura.
Aqui estão algumas das soluções postas em prática para resolver as preocupações discutidas acima:
Escalabilidade - os nós Whisper aproveitam os filtros bloom (conforme observado acima), mas os nós Waku não. Enquanto os filtros bloom permitem maior privacidade por meio de negação plausível, o Waku é baseado no interesse do tópico, pois é otimizado para melhor usabilidade. Resumindo, os tópicos são strings curtas - hashes para ser mais preciso - que são definidas pelo remetente (ou na camada do aplicativo) e ajudam a categorizar as mensagens. Portanto, em vez de receber toneladas de mensagens na rede, os nós Waku receberão apenas mensagens de um determinado tópico que assinaram. Isso reduz drasticamente a quantidade de mensagens recebidas e, portanto, reduz o consumo de banda larga.
Embora isso reduza o consumo de banda larga, tornando a Status mais escalonável, a remoção dos filtros bloom realmente faz uma troca de privacidade para os usuários finais.
Resistência a spam - Waku implementa limitação de taxa. A limitação de taxa permite que um nó controle a taxa de solicitações que recebe. Se ele receber muitas mensagens sobre um tópico específico de um IP específico, o nó pode reduzir a quantidade de solicitações permitidas. Os nós também podem, opcionalmente, bloquear outros nós. Isso vem com compensações, ou seja, um par pode pular mensagens para que eles não violem outros limites de taxa dos pares.
É importante observar que se trata de spam no nível da rede, não spam no nível do usuário, que é diretamente visível na interface de bate-papo. O spam no nível do usuário é um problema de moderação.
Sem infraestrutura incentivada - atualmente em R&D pela Vac e projetos de parceiros.
Falta de especificação formal e inequívoca - o Waku inclui especificações muito mais rigorosas que tornam mais fácil ter vários clientes e determinar o que é necessário em termos de interfaces.
Execução na libp2p - enquanto o Whisper é executado no devp2p, o Waku é executado na libp2p. O benefício mais imediato da libp2p é ser capaz de rodar em um navegador. Existem também várias extensões que podem ser implementadas, tornando o Waku um protocolo muito mais versátil e utilizável. Além disso, o Nimbus e todo o ecossistema Eth2 estão mudando para a libp2p, tornando o Waku uma opção de pensamento mais futuro do que o Whisper.
Conclusão
As mensagens ponto a ponto apresentam a oportunidade de realmente descentralizar a comunicação e devolver a soberania e a privacidade às mãos do indivíduo. Como a maioria das tecnologias de mudança de paradigma, as soluções virão de maneira iterativa - com base nas realizações e abordando as deficiências dos protocolos anteriores.
O Whisper apresentou uma nova abordagem para mensagens ponto a ponto com alguns problemas significativos em relação à escalabilidade. Esta primeira iteração do Waku resolve alguns desses problemas, tornando a rede e a Status 10x mais escalonáveis antes que o consumo de banda larga se torne um problema.
As iterações futuras do Waku continuarão a tornar o protocolo mais escalonável por meio da descoberta de nós baseada em DNS e continuarão a melhorar a privacidade dos usuários finais. Fique ligado para futuras atualizações e mais informações da Vac - a equipe por trás do Waku.
Instale o Status v1.2 agora na App Store, Play Store e via APK.