[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-relays] Re: Proxy fairness improvements in Snowflake



On 10/22/26 4:32 PM, Cecylia Bocovich via tor-relays wrote:
TL;DR: We're deploying a proxy rate-limiting feature to defend against blocking attacks. No changes to proxy configurations are necessary. Make sure your Snowflake proxy is up to date. If you run multiple proxies behind the same IP address, you may see some rejected polls or a small decrease in the number of connected clients. This is expected and your proxy will continue to poll the broker and collect clients.

[snip]
We are planning a short 2 hour trial deployment of this new broker feature on Tuesday, October 27th at 15 UTC[6]. During this time you may see the above described changes take effect for your proxies. I will post an update to this thread with metrics and the outcome of this trial. If the trial goes smoothly, we will schedule a more permanent deployment of this feature.

The trial just ended and I've redeployed the old broker version. I've posted a writeup of our broker metrics in the corresponding issue[0] that I'll repost here. Because this trial deployment was a success, I am planning a persistent deployment of this new feature tomorrow at 17 UTC.

The trial broker deployment went really well. While the number of available proxies dropped, as expected, we had a sufficient number of available proxies in all three proxy pools. I was able to run Snowflake clients and proxies, as expected, and experienced not trouble matching or being matched during this time.

A graphana graph of available snowflake proxies during the trial period. The number of proxies drops, but remains stable from 15 to 17 UTC.


We saw the largest decrease in standalone Snowflake proxy polls. That matches with our awareness that many standalone snowflake operators run multiple snowflakes on the same IP address. There was less of an impact on web and mobile proxies, but still a slight one. This isn't suprising as it's likely for multiple people in the same household or workplace to run a Snowflake proxy, but not at the same scale as standalone proxy operators.

That we saw a decrease at all is a sign that the rate limiting feature is working.

A grafana graph of restricted client polls during the trail period. It shows that the number of idle proxies drops, but remains higher than the number of matched proxies, and no clients were denied.

Our smallest proxy pool, snowflakes for clients with restricted NATs, still had plenty of idle proxies during the trial period. This is a good sign. It means that this proxy pool has plenty of diversity in proxy IP addresses and this rate limiting feature won't place a strain on our system or impact proxy availability for clients.

A grafana graph of the status of all client requests during the trial. It shows that the number of matched proxies remains stable, the number of denied clients remains at zero, and a drop in the number of timed out requests.

No clients were turned away for lack of proxies during this trial. We did however, see a drop in the number of client timeouts. I didn't expect this feature to have an impact on the client timeouts that we're tracking client-proxy timeouts in https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/work_items/40447.

[0] https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/work_items/40573

_______________________________________________
tor-relays mailing list -- tor-relays@xxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to tor-relays-leave@xxxxxxxxxxxxxxxxxxxx