Pular para o conteúdo principal

Uma postagem marcadas com "Rede P2P"

Ver todas os Marcadores

Rede P2P da Ethereum: Por que um pool maior nem sempre é mais seguro

· Leitura de 5 minutos
Dora Noda
Software Engineer

Por anos, a sabedoria convencional no espaço de blockchain tem sido que maior é melhor. A Rede Global da Ethereum (EGN), a vasta camada ponto‑a‑ponto (P2P) que suporta milhares de serviços desde a mainnet da Ethereum até inúmeros outros projetos, foi construída exatamente com essa ideia[cite: 4, 25]. A teoria era simples: uma rede massiva e misturada, onde todos compartilham o mesmo espaço, aumentaria a descoberta de nós e tornaria o ecossistema mais resiliente a ataques[cite: 34, 35].

Entretanto, um artigo de pesquisa crítico, “A Place for Everyone vs Everyone in its Place: Measuring and Attacking the Ethereum Global Network”, desafia essa crença fundamental. O estudo revela que essa arquitetura de “um lugar para todos”, ao invés de ser uma fonte de força, introduz graves ineficiências e vulnerabilidades de segurança alarmantes que podem impactar serviços com um valor de mercado coletivo superior a US$ 500 bilhões[cite: 6, 24].

O Pesadelo da Ineficiência: Gritando em uma Multidão

A promessa da EGN era que os nós pudessem encontrar e conectar‑se facilmente a pares que oferecessem o mesmo serviço[cite: 34]. A realidade é exatamente o oposto. O estudo constatou que os nós lutam desesperadamente para encontrar seus contrapartes no vasto e ruidoso mar da EGN[cite: 8].

A ineficiência é impressionante:

  • Conexões Desperdiçadas: Mais de 75 % das tentativas de conexão de um nó são direcionadas a pares de serviços totalmente diferentes[cite: 8].
  • Custos de Conexão Extremamente Altos: Em um caso chocante, um nó precisou fazer, em média, 45 908 tentativas de conexão apenas para encontrar um único vizinho válido[cite: 9]. Isso contrasta fortemente com a taxa de sucesso estimada do Bitcoin, de um em quatro[cite: 54].
  • Um Passo para Trás: O protocolo de descoberta mais recente, Discv5, que deveria ser uma melhoria, apresenta desempenho ainda pior. Em um teste de 12 horas, nós usando Discv5 estabeleceram três ou menos conexões, principalmente porque um “mecanismo de descoberta de tópicos” crucial, projetado para anunciar serviços, permanece não implementado em todos os principais clientes[cite: 57, 59].

O problema central é que a grande maioria dos nós na EGN tem tabelas de roteamento (seus “catálogos de endereços”) preenchidas com pares irrelevantes. A pesquisa constatou que a maioria dos nós Discv4 mantém menos de 5 % de pares do mesmo serviço em suas DHTs (Tabelas de Hash Distribuídas)[cite: 44].

A Ilusão de Segurança: Um Gigante Vulnerável

O segundo pilar do argumento “maior é melhor” era a segurança — que o tamanho da EGN diluiria a influência de qualquer atacante[cite: 35]. O artigo desmonta essa suposição simulando um ataque de poluição de DHT, um ataque fundamental onde nós maliciosos inundam os catálogos de endereços da rede com suas próprias entradas[cite: 61, 62].

Os resultados mostram que a natureza misturada da EGN não é uma defesa, mas uma vulnerabilidade crítica[cite: 10, 65]:

  • Devastadoramente Eficaz: Com apenas 300 nós maliciosos (menos de 0,3 % da rede), um atacante pode poluir a rede de forma tão eficaz que as taxas de sucesso de conexão para a maioria dos serviços despencam para menos de 1 %[cite: 11, 63].
  • Isolamento em Massa: Após apenas 24 horas, esse ataque de pequena escala conseguiu particionar a rede com sucesso, isolando milhares de nós honestos de seus serviços[cite: 11, 64].
  • Projeto, Não um Bug: Essa vulnerabilidade não decorre de um erro de código, mas de uma consequência inerente da arquitetura misturada[cite: 65]. Quando o mesmo ataque foi simulado em redes separadas e dedicadas para cada serviço, provou‑se “largamente ineficaz”, pois as tabelas de roteamento estavam limpas e preenchidas apenas com pares relevantes[cite: 66].

O Caminho a Seguir: “Todos no Seu Lugar”

A pesquisa conclui que a arquitetura misturada da EGN é prejudicial, especialmente para serviços menores que se tornam danos colaterais nesse ambiente ineficiente e inseguro[cite: 37]. A solução não é abandonar a rede global, mas organizá‑la melhor, passando de “um lugar para todos” para garantir que “todos estejam no seu lugar”[cite: 522].

O artigo propõe duas soluções chave:

  1. DHTs Específicas por Serviço: Exigir que todos os nós incluam suas informações de serviço diretamente em seu Ethereum Node Record (ENR)[cite: 490, 491]. Essa mudança simples permitiria que os nós filtrassem e priorizassem pares do mesmo serviço, melhorando drasticamente a eficiência de descoberta e a segurança sem sacrificar a descentralização[cite: 495].
  2. Bootnodes Mais Confiáveis: As simulações destacaram o papel crítico dos bootnodes como última linha de defesa contra a partição da rede[cite: 496]. O artigo recomenda que os serviços aumentem o número de seus bootnodes e os configurem para priorizar o armazenamento de pares do mesmo serviço, criando uma espinha dorsal resiliente para a recuperação da rede[cite: 499].

Para desenvolvedores e para a saúde de todo o ecossistema, essas constatações são um chamado de atenção crucial. Uma camada P2P robusta e eficiente é a base de qualquer serviço descentralizado. Ao implementar essas correções propostas, a comunidade pode avançar rumo a uma rede mais organizada, segura e verdadeiramente global que funcione para todos.