Demorou um ano para lançar o WebAssembly no Anubis
Desafios de prova de trabalho como o Anubis estão surgindo como uma alternativa aos CAPTCHAs para limitar raspagem abusiva da web e tráfego de bots, agora usando WebAssembly e funções memory-hard (Argon2) para melhor se alinhar a navegadores e hardware modernos. Os comentaristas debatem se essa abordagem realmente desencoraja raspadores grandes e bem financiados ou se apenas penaliza usuários comuns — especialmente os que usam dispositivos antigos, têm JavaScript/WASM desativados ou mantêm configurações fortes de privacidade. A discussão também destaca preocupações mais amplas: custos ecológicos e econômicos de computação “desperdiçada”, trade-offs de compatibilidade entre navegadores e dispositivos, e os limites de ferramentas tradicionais como bloqueio por IP e robots.txt numa era de redes de proxies residenciais e raspagem agressiva impulsionada por IA.
Papel e economia da prova de trabalho
- A PoW é apresentada como um acelerador econômico: não para eliminar a raspagem, mas para tornar o tráfego abusivo caro demais.
- Alguns veem os ciclos como desperdício, especialmente diante de preocupações climáticas; outros dizem que o custo se justifica se isso reduzir a raspagem no estilo denial-of-wallet.
- Há debate sobre se funções memory-hard (argon2id) realmente limitam raspadores de IA bem financiados, ou se afetam בעיקר bots “skiddy” pequenos e usuários comuns.
Impacto sobre usuários, dispositivos e privacidade
- Usuários relatam que dispositivos móveis ficam quentes ou levam um tempo perceptível para resolver desafios; desktops e VPS lidam com isso rapidamente.
- A configuração importa: dificuldade baixa e reutilização de cookies podem tornar a PoW quase invisível na navegação normal, mas configurações severas podem quebrar dispositivos antigos ou de baixo custo.
- Pessoas que desativam JS, WASM ou cookies por privacidade ხშირად acham o Anubis inutilizável; outros argumentam que quebrar suposições “normais” da web leva a esse atrito.
- Foram levantadas preocupações de que a pré-computação por service workers e a vinculação ao IP podem conflitar com ferramentas de privacidade, IPs dinâmicos e mudanças de rede.
Eficácia contra bots e raspadores
- Defensores dizem que implantações reais mostram grandes reduções no tráfego abusivo de bots, especialmente de raspadores com IP rotativo que martelam mecanismos de busca ou UIs web de git.
- Céticos argumentam que o custo computacional por desafio é trivial para raspadores sérios e que eles podem se adaptar (reutilizar sessões, mudar estratégias).
- A PoW é apresentada como uma camada em defesa em profundidade, complementando técnicas tradicionais quando o bloqueio por IP falha devido a vastas redes de proxies.
Robots.txt, “bons bots” e conteúdo estático
- Alguns perguntam por que não confiar em robots.txt; outros respondem que apenas bots “bons” o obedecem, então políticas restritivas oferecem pouca proteção.
- Páginas com aparência estática ainda podem incorrer em custos reais de CPU e largura de banda, e muitas implantações não podem usar CDNs externas por política.
- Há uma tensão entre querer bloquear bots “desonestos” e não prejudicar indevidamente crawlers legítimos de arquivamento ou pesquisa.
Detalhes de implementação: WASM, JS e tooling em Rust
- O Anubis usa WASM altamente otimizado mais um fallback de wasm-para-JS para ambientes sem WASM, com esforço substancial dedicado à compatibilidade retroativa (Chrome antigo, Firefox ESR, smart TVs).
- Já existem extensões que aceleram a resolução via WASM ou WebGPU; o argon2 em si pode ser acelerado por GPU, complicando as alegações de “à prova de GPU”.
- São discutidos problemas de tooling em Rust em torno de
wasm32-unknown-unknown, recursos MVP vs não-MVP ebuild-std; alguns sugerem alvos alternativos comowasm32v1-none.
Ideias para trabalho “útil” ou monetizado
- Vários comentadores sugerem substituir o desperdício puro por:
- Micropagamentos ou sistemas de tokens em que os sites ganhem com a PoW.
- Troca de créditos de PoW entre sites (brincando, “reinventando crypto”).
- Redirecionar a PoW para tarefas socialmente úteis (por exemplo, computação científica, fuzzing distribuído), embora a granularidade das tarefas torne isso difícil.