O que é um Sybil Attack e como funciona este ataque em redes blockchain?

O que é um Sybil Attack e como funciona este ataque em redes blockchain?

O que é um Sybil Attack?

Um Sybil Attack é um ataque em que uma pessoa ou grupo se faz passar por muitos participantes diferentes numa rede. O atacante cria, por exemplo, várias contas, endereços de carteira, nodes ou IDs de peer e tenta, com isso, obter mais influência do que um único participante teria normalmente.

O problema, portanto, não está apenas no número de contas. O que importa é que a rede pensa que todas essas identidades são independentes entre si, quando, na realidade, são controladas pela mesma parte. Se um sistema tratar cada identidade como um voto, peer ou participante de confiança separado, um atacante pode tirar partido disso.

O termo Sybil Attack tornou-se conhecido através de investigação de 2002 sobre redes peer-to-peer. Um Sybil Attack não foi, portanto, criado especificamente para blockchain, mas é importante no contexto de criptomoeda. Muitas blockchains e dApps são sistemas abertos em que é relativamente fácil criar novas identidades digitais ou endereços. Se a rede não controlar de outra forma quanta influência uma parte pode ter, isso pode representar um risco.

Exemplo: Imagine que uma votação numa dApp funciona segundo o princípio um endereço de carteira, um voto. Se não houver controlos adicionais, uma pessoa pode criar cem endereços e emitir cem votos. Para o sistema, parecem cem participantes diferentes, quando, na realidade, são controlados pela mesma pessoa.


Pontos principais

  • Num Sybil Attack, um único atacante faz-se passar por muitos participantes independentes.
  • O ataque funciona sobretudo contra sistemas que contam simplesmente contas, endereços ou nodes.
  • Com isto, um atacante pode, por exemplo, manipular votações, rewards, reputação ou ligações entre peers.
  • Muitas identidades extra não dão automaticamente mais poder de consenso em Proof of Work e Proof of Stake.
  • As redes limitam o risco, entre outras formas, com custos, stake, peer-scoring e controlos de acesso.

Como funciona um Sybil Attack?

Um Sybil Attack começa, normalmente, com a criação ou recolha de muitas identidades pseudónimas. Pseudónimo significa aqui que uma identidade digital, como um ID de node, conta ou endereço de carteira, não mostra automaticamente que pessoa ou organização está por trás dela.

Depois, o atacante faz com que essas identidades participem em simultâneo na rede. O objetivo é obter muita influência sobre algo que o sistema mede ou distribui por identidade. Isso pode, por exemplo, envolver ligações de rede, acesso a determinados recursos, votos ou outras formas de participação.

Na prática, isto pode acontecer, por exemplo, através de ligações entre peers. Um node liga-se frequentemente a outros nodes, também chamados peers. Se um atacante oferecer muitos peers por si controlados, um node pode acabar por ficar ligado sobretudo a esses peers. O atacante pode então, por exemplo, atrasar ou filtrar o tráfego de rede, ou fazer com que o node tenha uma visão distorcida do que acontece no resto da rede.

Isto também pode ser um problema na redundância. Redundância significa que vários participantes independentes executam o mesmo trabalho ou verificam a mesma informação para maior segurança. Se, na realidade, esses participantes forem todos controlados pelo mesmo atacante, esse controlo adicional torna-se muito menos valioso.

Um Sybil Attack não exige que cada identidade falsa esteja a correr num computador separado. Uma única parte pode controlar várias identidades a partir da mesma infraestrutura ou de diferentes ambientes técnicos. O núcleo do ataque é que a rede trate essas identidades como participantes separados e independentes.

Importa saber: um Sybil Attack não quebra automaticamente o mecanismo de consenso de uma blockchain. Isso depende da forma como a influência é distribuída dentro da rede. Em alguns sistemas, uma única identidade pode ter um peso relativamente grande, enquanto noutros a influência está, por exemplo, ligada a poder computacional, stake ou outros recursos escassos.

Que consequências tem um Sybil Attack para redes blockchain?

Um Sybil Attack bem-sucedido pode ter várias consequências. Um atacante pode, por exemplo, tentar:

  • manipular votações ou governance;
  • receber airdrops, rewards ou subsídios adicionais;
  • isolar nodes ou influenciar o tráfego de rede;
  • manipular artificialmente sistemas de reputação;
  • sobrecarregar a capacidade da rede e dificultar a participação de utilizadores normais;
  • enganar sistemas que partem do princípio de que várias identidades também significam vários participantes independentes.

Um Sybil Attack pode afetar sobretudo a fiabilidade e a disponibilidade da camada peer-to-peer. A camada peer-to-peer é a parte da rede em que os nodes transmitem entre si transações, blocos e outras mensagens. Se um node estiver ligado sobretudo a peers de um atacante, informação importante pode chegar tarde, de forma incompleta ou nem sequer chegar.

Numa rede gossip, os nodes difundem mensagens sucessivamente para outros peers. Um grande grupo de peers maliciosos pode perturbar esse processo, por exemplo, ao não encaminhar mensagens, ao atrasá-las ou ao isolar um node-alvo.

Uma tentativa de isolamento destas chama-se eclipse attack. Nela, um atacante tenta rodear um node com peers que controla. O node passa, assim, a ter uma visão distorcida do que acontece na rede, porque o atacante determina em grande medida que informação chega ao node.

As identidades Sybil também podem sobrecarregar recursos da rede. Pense em grandes quantidades de ligações, pedidos ou mensagens. Isso pode tornar a rede mais lenta ou dificultar a participação de utilizadores normais. Por isso, as redes usam frequentemente limites para mensagens e pedidos e podem restringir ou bloquear peers que se comportem mal.

Também por cima de uma blockchain as coisas podem correr mal. Uma DAO, uma dApp ou outro sistema que, por exemplo, conte um endereço como um voto pode ser vulnerável a abuso Sybil. Um atacante pode então usar vários endereços para influenciar de forma injusta uma votação, uma pontuação de reputação, a distribuição de rewards ou outro mecanismo.

Um Sybil Attack não é o mesmo que um 51%-ataque. Num 51%-ataque, um atacante tenta obter controlo sobre a maioria de um recurso relevante, como hashpower ou stake. Num Sybil Attack, o foco está em usar muitas identidades que, na realidade, são controladas pela mesma parte. Criar muitos nodes ou endereços, por si só, não é suficiente para assumir a produção de blocos ou o consenso de uma blockchain.

Porque é que as redes descentralizadas são vulneráveis a Sybil Attacks?

As redes descentralizadas são especialmente vulneráveis quando tratam identidades digitais como participantes independentes sem uma barreira ou controlo adicional. Isto acontece porque as redes abertas permitem que qualquer pessoa entre sem que uma parte central tenha de confirmar quem essa pessoa realmente é.

Esse carácter aberto é precisamente uma parte importante da criptomoeda. Normalmente, é possível criar um endereço, correr um node ou ligar-se a um protocolo sem autorização. Isso reduz a barreira de entrada e ajuda a limitar a censura, mas também torna relativamente fácil para um atacante criar muitas identidades digitais extra.

Uma chave pública, um endereço ou um ID de peer pode mostrar que alguém controla a chave criptográfica associada. No entanto, isso não prova que por trás de cada chave exista uma pessoa única, uma organização separada ou um computador distinto.

Em termos simples: a rede pode ver que existem cem endereços, mas não consegue determinar automaticamente se esses cem endereços são geridos por cem participantes diferentes ou por uma única parte. É precisamente aí que um Sybil Attack tenta tirar partido.

As blockchains permissioned costumam ter uma barreira mais elevada, porque os participantes têm primeiro de ser autorizados antes de receberem determinadas funções ou direitos. Ainda assim, estas redes não estão automaticamente protegidas contra Sybil Attacks. Se o controlo de admissão for fraco, um atacante pode, mesmo assim, obter várias identidades.

Como podem as redes blockchain detetar Sybil Attacks?

As redes blockchain nem sempre conseguem reconhecer com certeza um Sybil Attack, mas podem sinalizar padrões suspeitos. Para isso, os nodes podem, por exemplo, observar o comportamento dos peers e a forma como as ligações estão distribuídas dentro da rede.

Sinais suspeitos podem ser, por exemplo:

  • enviar muitas mensagens inválidas;
  • não encaminhar mensagens com frequência invulgar;
  • violar repetidamente as regras da rede;
  • fazer um número invulgarmente elevado de pedidos num curto espaço de tempo;
  • muitos peers a ligar-se a partir do mesmo endereço IP ou da mesma infraestrutura.

Algumas redes usam, para isso, peer-scoring. Um node atribui localmente uma pontuação a outros peers com base no seu comportamento. Um peer que encaminhe mensagens válidas e cumpra as regras da rede pode receber uma pontuação melhor. Um peer que cause problemas repetidamente pode, pelo contrário, ser avaliado mais baixo. Dependendo do protocolo, um node pode decidir confiar menos nesse peer, cortar a ligação ou ignorar mensagens futuras.

Também a IP-colocação pode ser um sinal. Se um número invulgarmente elevado de peers vier do mesmo endereço IP ou do mesmo ambiente de rede, isso pode indicar que são menos independentes do que parecem. No entanto, isso não é prova sólida de um Sybil Attack. Participantes legítimos podem usar a mesma infraestrutura, enquanto um atacante pode, precisamente, distribuir as suas identidades por diferentes endereços IP e servidores.

Alguns sistemas analisam ainda a estrutura de uma rede de contas ou peers. Um grande grupo de identidades que está sobretudo ligado entre si ou que se comporta de forma muito semelhante pode ser suspeito. Também estes padrões não são, automaticamente, prova de um ataque.

Por isso, a deteção é, normalmente, apenas uma parte da proteção contra Sybil. Uma rede também tem de ter medidas para limitar a influência de identidades suspeitas, por exemplo, cortando ligações, escolhendo outros peers, abrandando pedidos ou tornando a participação dependente de um recurso escasso.

Como podem ser prevenidos Sybil Attacks?

Prevenir totalmente Sybil Attacks numa rede aberta não é, em geral, realista, mas é possível torná-los muito mais difíceis e menos eficazes. Isso chama-se Sybil-resistência: o desenho garante que muitas identidades extra não dão automaticamente muita influência extra.

A regra principal é simples: não ligue a influência apenas ao número de contas, endereços ou nodes. É preferível ligar essa influência a algo escasso ou difícil de falsificar. Pense em trabalho computacional, stake, admissão verificada ou reputação que tenha de ser construída ao longo do tempo.

A camada de rede também precisa de proteção. Algumas medidas possíveis são, por exemplo:

  • ligar-se a um grupo diversificado de peers;
  • avaliar peers com peer-scoring;
  • definir limites para o tamanho das mensagens e a velocidade dos pedidos;
  • verificar mensagens antes de as encaminhar;
  • cortar ligações ou atribuir pontos de penalização em caso de abuso.

Além disso, também é preciso olhar para o desenho de uma aplicação. Uma regra como um endereço de carteira, um voto é, para uma decisão importante de uma DAO, muitas vezes demasiado fraca, sobretudo quando é barato criar novos endereços. Um sistema pode então, por exemplo, usar peso de voto, admissão ou outras barreiras.

A proteção funciona, normalmente, melhor em várias camadas. Proof of Work pode, por exemplo, ajudar a proteger o consenso contra Sybil Attacks, mas não impede automaticamente que um node se ligue sobretudo a peers maliciosos. O controlo de identidade pode limitar o número de contas, mas traz consigo outros riscos e compromissos.

Que papel desempenham Proof of Work e Proof of Stake?

Proof of Work e Proof of Stake tornam um Sybil Attack contra o consenso muito mais difícil, porque a influência não depende simplesmente do número de identidades, mas de um recurso escasso e dispendioso.

Em Proof of Work, a influência depende de trabalho computacional comprovável. Na prática, isso significa que um atacante não ganha nada com mil endereços IP ou nodes extra. Para ter mais influência sobre a produção de blocos, é necessário mais hashpower, e esse poder computacional custa dinheiro e energia.

Em Proof of Stake, a influência dos validators depende da quantidade de stake que estes colocam em jogo. Na Ethereum, os validators depositam ETH num contrato de depósito para participar no consenso. Em certas formas de abuso comprovado do protocolo, parte desse stake pode ser retirada. Isso chama-se slashing.

Dividir a mesma quantidade de stake por muitas identidades de validator não dá automaticamente mais poder total de consenso. A influência económica continua ligada à quantidade total de stake. Uma parte que possua uma grande fração de todo o stake pode, naturalmente, ter muita influência.

PoW e PoS protegem, portanto, sobretudo a camada de consenso contra Sybil Attacks. Não resolvem automaticamente todos os outros riscos Sybil. A descoberta de peers, o gossip, os sistemas de reputação e as votações com uma conta por voto podem ainda precisar de proteção adicional.

Como ajudam os controlos de identidade e os sistemas de reputação?

Os controlos de identidade tornam mais difícil criar muitas identidades de forma indiscriminada. Um sistema pode, por exemplo, associar uma identidade digital a verificação, a uma determinada função ou a direitos de acesso específicos. Isto adapta-se sobretudo bem a blockchains permissioned, em que os participantes têm primeiro de ser autorizados.

Esse controlo tem, no entanto, um reverso. Os sistemas também têm de se proteger contra inscrições automatizadas em massa, documentos falsificados, identidades sintéticas, roubo de identidade e material de imagem manipulado. Além disso, controlos de identidade rigorosos podem reduzir a privacidade, a acessibilidade e a resistência à censura.

Um sistema de reputação funciona de forma diferente. Nesse caso, uma conta não recebe logo muita influência, mas vai construindo-a através de bom comportamento verificável e prolongado. Uma conta nova tem, então, menos peso do que um participante que já se comporta de forma fiável há mais tempo.

Isso só ajuda se alguém não puder simplesmente recomeçar com uma nova conta após mau comportamento. Isso chama-se whitewashing. Um sistema de reputação pode dificultar isso com, por exemplo, uma caução, um período de espera, um histórico acumulado ou outros sinais que não possam ser recriados de imediato.

A reputação e as relações entre contas podem fornecer sinais úteis, mas não são uma solução completa. A proteção depende da qualidade dos dados utilizados e da facilidade com que um atacante consegue manipular esses sinais.

Exemplos de Sybil Attacks em criptomoeda

Sybil Attacks e abuso Sybil surgem com frequência na criptomoeda, sobretudo em sistemas em que várias contas podem trazer vantagens adicionais. Isso vê-se, por exemplo, em airdrops, rewards e mecanismos de votação ou financiamento.

Um exemplo conhecido é o Gitcoin Grants. O Gitcoin usa quadratic funding, em que o número de doadores distintos pode influenciar a quantidade de matching funds que um projeto recebe. Os atacantes podem tentar usar várias contas para fazer parecer que um projeto é apoiado por mais pessoas únicas. Em várias rondas de grants, o Gitcoin detetou atividade Sybil suspeita e introduziu medidas para dar menos influência a essas contas.

Também nos airdrops o comportamento Sybil é muito comum. Para a distribuição de tokens da LayerZero, em 2024 foi procurado ativamente por wallets que eram controladas pela mesma pessoa ou organização. O objetivo era evitar que um único utilizador recebesse uma parte desproporcionadamente grande da distribuição de tokens através de um grande número de wallets.

Um exemplo concreto vem da CyberConnect. Aí foi encontrado um grupo de mais de 1.700 endereços cujas taxas de transação tinham sido financiadas a partir de um único endereço. Os endereços puderam, depois, participar individualmente num programa de rewards. Para o sistema, pareciam muitos participantes diferentes, quando a atividade indicava que os endereços eram controlados em conjunto.

Estes exemplos mostram que um Sybil Attack nem sempre tem como objetivo assumir o consenso de uma blockchain. Muitas vezes, o atacante tenta antes abusar das regras económicas de uma aplicação, fazendo com que uma única parte pareça ser muitos utilizadores diferentes.

Conclusão

Um Sybil Attack gira em torno de um problema simples, mas importante: uma rede vê muitas identidades digitais, quando, na realidade, pode haver apenas um atacante por trás delas. Isto é especialmente perigoso quando uma rede blockchain, uma dApp ou uma DAO conta identidades de forma simples e as trata automaticamente como independentes.

Para o consenso, Proof of Work e Proof of Stake oferecem Sybil-resistência, porque a influência depende aí de hashpower ou stake, e não do número de nodes ou contas. Para a camada peer-to-peer e para as aplicações, são ainda necessárias outras medidas, como ligações diversificadas entre peers, peer-scoring, limites e boas regras em torno de votações e reputação.

Em suma: a participação aberta continua a ser valiosa para a criptomoeda, mas exige um desenho em que identidades extra não tragam automaticamente influência extra. Quanto mais difícil for obter mais poder com novas contas, endereços ou nodes baratos, mais resistente estará uma rede a um Sybil Attack.

Sobre a Finst

A Finst é uma plataforma de criptomoedas líder nos Países Baixos que oferece taxas de transação bastante reduzidas, segurança de nível institucional e um conjunto abrangente de serviços de criptomoedas, como negociação, custódia, staking e rampas de entrada e saída de moeda fiduciária. Fundada pelo antigo núcleo da equipa da DEGIRO, a Finst está autorizada como prestador de serviços de criptoativos pela Autoridade Holandesa para os Mercados Financeiros (AFM) e serve clientes privados e institucionais em 30 países europeus.

A plataforma de criptomoedas para todos os investidores

Quer seja um investidor ativo ou de longo prazo, a Finst permite-lhe aumentar o seu património de criptomoedas com confiança e tranquilidade.

Criar conta gratuita