Tomó un año llevar WebAssembly a Anubis
Desafíos de prueba de trabajo como Anubis están surgiendo como alternativa a los CAPTCHAs para limitar el scraping abusivo de la web y el tráfico de bots, y ahora usan WebAssembly y funciones resistentes a memoria (Argon2) para alinearse mejor con los navegadores y el hardware modernos. Los comentaristas debaten si este enfoque realmente disuade a scrapers grandes y bien financiados o si principalmente penaliza a usuarios ordinarios —especialmente a quienes usan dispositivos antiguos, tienen desactivado JavaScript/WASM o cuentan con configuraciones de privacidad estrictas. El intercambio también destaca preocupaciones más amplias: costos ecológicos y económicos de la computación “desperdiciada”, compensaciones de compatibilidad entre navegadores y dispositivos, y los límites de herramientas tradicionales como el bloqueo por IP y robots.txt en una era de redes de proxy residenciales y scraping agresivo impulsado por IA.
Rol y economía de la prueba de trabajo
- La PoW se plantea como una compuerta económica: no para eliminar el scraping, sino para hacer que el tráfico abusivo sea demasiado caro.
- Algunos ven los ciclos como derrochadores, especialmente dada la preocupación climática; otros dicen que el costo se justifica si frena el scraping tipo denial-of-wallet.
- Hay debate sobre si las funciones resistentes a memoria (argon2id) realmente constriñen a scrapers de IA bien financiados o si, sobre todo, perjudican a bots “skiddy” pequeños y a usuarios normales.
Impacto en usuarios, dispositivos y privacidad
- Usuarios informan que los dispositivos móviles se calientan o tardan un tiempo notable en resolver los desafíos; los escritorios y VPS los manejan rápidamente.
- La configuración importa: una dificultad baja y la reutilización de cookies pueden hacer que la PoW sea casi invisible para la navegación normal, pero ajustes severos pueden romper dispositivos viejos o de gama baja.
- Las personas que desactivan JS, WASM o cookies por privacidad a menudo encuentran Anubis inutilizable; otros sostienen que romper las suposiciones “normales” de la web conduce a esa fricción.
- Se plantean preocupaciones de que la precalculación de service workers y el enlace a IP pueden chocar con herramientas de privacidad, IPs dinámicas y cambios de red.
Efectividad contra bots y scrapers
- Quienes lo apoyan dicen que despliegues reales muestran reducciones grandes del tráfico abusivo de bots, especialmente de scrapers con IPs rotativas que martillean la búsqueda o interfaces web de git.
- Los escépticos sostienen que el costo computacional por desafío es trivial para scrapers serios y que pueden adaptarse (reutilizar sesiones, cambiar estrategias).
- La PoW se presenta como una capa más en defensa en profundidad, complementando técnicas tradicionales cuando el bloqueo por IP falla debido a enormes redes de proxy.
Robots.txt, “buenos bots” y contenido estático
- Algunos preguntan por qué no confiar en robots.txt; otros responden que solo los bots “buenos” lo obedecen, así que las políticas restrictivas ofrecen poca protección.
- Las páginas que parecen estáticas pueden seguir imponiendo costos reales de CPU y ancho de banda, y muchos despliegues no pueden usar CDNs externos por política.
- Hay tensión entre querer bloquear bots “deshonestos” y no perjudicar indebidamente a crawlers legítimos de archivado o investigación.
Detalles de implementación: WASM, JS y herramientas Rust
- Anubis usa WASM altamente optimizado más una alternativa wasm-a-JS para entornos sin WASM, con un esfuerzo considerable dedicado a la compatibilidad hacia atrás (Chrome antiguo, Firefox ESR, smart TVs).
- Ya existen extensiones que aceleran la resolución mediante WASM o WebGPU; argon2 en sí mismo puede acelerarse con GPU, lo que complica las afirmaciones de ser “a prueba de GPU”.
- Se discuten problemas de herramientas Rust en torno a
wasm32-unknown-unknown, funciones MVP frente a no MVP, ybuild-std; algunos sugieren objetivos alternativos comowasm32v1-none.
Ideas para trabajo “útil” o monetizado
- Varios comentaristas sugieren reemplazar el puro desperdicio por:
- Micro pagos o sistemas de tokens donde los sitios ganen a partir de la PoW.
- Intercambiar créditos de PoW entre sitios (en broma, “reinventando crypto”).
- Redirigir la PoW hacia tareas socialmente útiles (por ejemplo, computación científica, fuzzing distribuido), aunque la granularidad de las tareas hace esto difícil.