estás en la clearnet. las direcciones listadas aquí solo se abren dentro de la red tor - descarga el navegador tor aquí »
AlphaBay.Market
ES
última comprobación: hace 1 min 260 onions monitoreados
inicio / noticias / red tor
29 octubre 2026 red tor 6 min de lectura

La defensa de proof-of-work de Tor: encarecer la denegación de servicio contra los onion services

Un onion service bajo un ataque de inundación no puede hacer lo que hace un sitio web normal: no hay direcciones IP a las que aplicar límites de tasa, porque ni los visitantes ni los atacantes revelan una. La respuesta de Tor, incluida en Tor 0.4.8 y anunciada en el blog del proyecto en agosto de 2023, es ponerle precio en tiempo de procesador al paso de introducción. El diseño desciende del proposal 327, redactado en abril de 2020 por George Kadianakis, Mike Perry, David Goulet y tevador, que planteó el problema de raíz sin rodeos: construir circuitos de rendezvous es caro para el servicio y para la red, y el límite de tasas por sí solo nunca cambió eso.

Un puzle que solo aparece bajo carga

El esquema es transparente en el sentido protocolar: no hay un viaje de ida y vuelta extra de desafío. Los parámetros del puzle viven dentro del descriptor del onion service que los clientes descargan de todos modos: una etiqueta de versión, una semilla de 32 bytes, un nivel de esfuerzo sugerido y una fecha de caducidad. Mientras el esfuerzo sugerido se mantenga en cero, la defensa duerme y las introducciones proceden exactamente igual que antes. Cuando el servicio detecta sobrecarga, sube el esfuerzo sugerido. Los clientes resuelven entonces Equi-X, la función de puzle especificada en el proposal, sobre un desafío construido con una cadena de personalización, el ID de servicio cegado, la semilla, un nonce aleatorio de 16 bytes y el esfuerzo elegido. La solución, de unos 43 bytes, viaja dentro de la celda INTRODUCE1 como una extensión. Según el blog de Tor, una primera resolución cuesta alrededor de 5 milisegundos en una máquina rápida y hasta unos 30 en hardware más lento; bajo un ataque sostenido, el trabajo necesario puede acercarse a un minuto de cómputo.

La cola cobra por esfuerzo

Verificar una solución es deliberadamente barato; la parte cara -construir el circuito de rendezvous- se aplaza. Las solicitudes verificadas entran en una cola de prioridad ordenada por el esfuerzo declarado, con las entradas más antiguas ganando los empates, y un planificador la drena a ritmo controlado. La dificultad sigue un ciclo de aumento-adición y reducción-multiplicación en ventanas de 300 segundos: mientras la cola siga saturada, el servicio sube el esfuerzo al valor anterior más uno o al esfuerzo promedio de las introducciones atendidas, lo que sea mayor; cuando la presión baja, el esfuerzo decae cerca de un tercio. Los clientes reintentan con esfuerzo creciente -duplicándolo por debajo de 1.000 y luego multiplicándolo por 1,5- entre los límites que la especificación fija en 8 y 10.000. Las semillas rotan cada dos horas aproximadamente, y la semilla anterior se acepta por un tiempo para evitar condiciones de carrera.

Por qué los usuarios normales casi no lo notan

Como el puzle solo existe mientras el servicio está estresado, el tráfico ordinario con poca carga no paga nada. Una persona que abre unas cuantas páginas durante un ataque gasta milisegundos, una experiencia que el blog compara con esperar en una conexión lenta, mientras un atacante que lanza millones de introducciones paga por cada una. El resumen del Tor Project:
"Blocks attackers while giving real users a chance to reach their destination" - blog del Tor Project, agosto de 2023

Cómo optan los servicios

Los operadores controlan la defensa mediante torrc. Los interruptores documentados en la guía de mitigación de DoS para onion services del proyecto:
  • HiddenServicePoWDefensesEnabled - publica el puzle en el descriptor y activa la cola ordenada por esfuerzo
  • HiddenServicePoWQueueRate y HiddenServicePoWQueueBurst - a qué velocidad drenan de la cola las solicitudes verificadas
  • CompiledProofOfWorkHash - opción global que elige la función hash usada en los puzles
El módulo de proof-of-work viene compilado y activado por defecto desde C tor 0.4.8.1-alpha, salvo que la compilación usara --disable-module-pow; se puede comprobar con tor --list-modules, y se necesita una compilación GPL (--enable-gpl) porque las bibliotecas Equi-X y HashX usan licencia LGPL-3.0. La defensa se apila con las capas anteriores: límites de tasa en los puntos de introducción, límites de streams en rendezvous y escalado horizontal con Onionbalance.

El problema de los atacantes con recursos

El proposal admite con franqueza que el esquema disuade a script kiddies y botnets pequeños, no a los grandes. Con alrededor de mil máquinas resolviendo un puzle por segundo cada una, un atacante supera a cualquier cliente de escritorio; inundar pasa a ser una cuestión de presupuesto y no técnica, y el proposal deja fuera de alcance explícitamente a los botnets de decenas de miles de máquinas. También hay estrategias híbridas documentadas: como una solicitud válida de alto esfuerzo cuesta unos 0,3 milisegundos en resolverse mientras que una inválida cuesta unos 5,5 milisegundos en verificarse, un atacante que mezcle unas 91 introducciones válidas y 1.520 falsas por segundo puede saturar el bucle principal de un servicio. Las soluciones incluso pueden precalcularse a lo largo de la vida aproximada de cuatro horas de una semilla. La evaluación independiente llegó después. Un grupo de KAIST presentó en la USENIX Security 2025 una familia de ataques llamada OnionFlation, que empuja a un servicio a inflar la dificultad del puzle para todos sin producir congestión visible - a un coste que los autores cifran en unos pocos dólares por hora. Su conclusión: el diseño actual canjea resistencia a la inflación por resistencia a la congestión y no puede ofrecer ambas por completo; los hallazgos se comunicaron al Tor Project y este los reconoció. La adopción ya no es hipotética: el artículo señala que grandes onion services han adoptado el mecanismo, y este sigue formando parte de las versiones actuales de tor. El proof-of-work no acaba con la denegación de servicio en Tor; le cambia el precio a un paso estrecho del proceso, de modo que las inundaciones baratas dejen de serlo. Si eso aguanta frente a un adversario con buen financiamiento es una cuestión de recursos, no de protocolo. Para el arco más largo -las guerras de DDoS entre marketplaces que empujaron a existir a estas defensas- vea nuestra historia del DDoS en Tor.