What is the Status of DDOS PoW Protection Compatibility with Onionbalance?

The question essentially contains my question. What is its current status? Combining the two would be an absolute game changer! What is holding up progress?

1 Like

At the moment, I don’t think this is supported. There would need to be a way to synchronize the proof of work params across all running tor instances. Currently there isn’t really that communications between the instances of an onionbalance group, nor is there a ControlPort mechanism to set the pow params from the outside. The former as part of onionbalance, the later as part of c-tor.
The development of new features in c-tor has slowed down as work transition on Arti, which will eventually replace c-tor. I don’t see a ticket about onionbalance+pow on the tracker, so i assume this is unlikely to get worked on :-/

3 Likes

Current PoW status in Onionbalance is given here.

1 Like

Why hasn’t this crucial feature been developed further? Without it, large websites like Wikipedia and Debian’s repositories cannot succeed with Tor Onion services.

Thanks for the link! I find the situation suboptimal. One option is to scale services, which leaves them vulnerable to DDoS attacks. The other option is to prevent DDoS attacks but not be able to scale.

Assuming the issue with Onionbalance is an inability to fetch the pow-params, why not set a fixed parameter specified by an operator in the meantime? In other words, allow the operator to specify a fixed level of pow-params on all backends and hardcode it in the Onionbalance configuration.

Although it does not allow for dynamic scaling, it could greatly improve the stability of Onion services at a low cost of development since no communication is required between Onionbalance and the PoW backends. A relatively low PoW level could also provide an acceptable user experience. In particular, the PoW level might not need to be that high when Onionbalance and PoW DDoS are combined.

Yes, the situation is suboptimal.

Also, the PoW spec is being redesigned (prop362) and the implementation on Arti is being stabilized.

So it might be still early to decide the best approach for integrating PoW with Onionbalance, if we ever do it before phasing out C Tor.

Anyway, thanks for you suggestion! I have documented it here.

1 Like