Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/anubis: Use many easy challenges instead of one hard challenge? #646

Open
Xe opened this issue Jan 19, 2025 · 1 comment
Open

cmd/anubis: Use many easy challenges instead of one hard challenge? #646

Xe opened this issue Jan 19, 2025 · 1 comment
Assignees
Labels
anubis Bugs involving Anubis

Comments

@Xe
Copy link
Owner

Xe commented Jan 19, 2025

Kinda like how Tor hidden service DDOS mitigation works.

Blocked on #645

@Xe Xe added the anubis Bugs involving Anubis label Jan 19, 2025
@Xe Xe self-assigned this Jan 19, 2025
@DarkSpir
Copy link

DarkSpir commented Jan 20, 2025

One thing I noticed this morning is that the difficulty 5 check takes about 3 seconds on an Intel Core i5-10310U laptop running Firefox on Windows 11 and 14.5 seconds on a Ryzen 7 7840HS laptop running Firefox on OpenSUSE Linux. The Ryzen 7 is in single core at least 1.5 times faster than the i5 and in multi core it's more 4.5 times faster according to benchmarks I took. I'm pretty sure this is not an Anubis issue but something on my Linux laptop I have to figure out...

(Edit: And I was right, it was an configuration issue with my Laptop.)

But that brings me to the point: There are systems out there (Smartphones, RasPis, Laptops, PCs) that are faster and chew through the difficulty like cake and there are systems that are slower (old hardware or misconfiguration as in my case) and struggle with higher difficulty settings. So the definition between "easy" and "hard" challenge diverses a bit at this point.

One approach could be to run a short benchmark for like 0.5s in the begining to get a vague baseline of the systems capabilities. But that would also mean that the javascript code needs to change the difficulty on the fly (or you need to make one extra request to the server where you send the benchmark result and receive a challenge customized to this benchmark). That means the client can (and probably will) manipulate the challenge difficulty. I'm not sure if there is even a good middle way for that...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
anubis Bugs involving Anubis
Projects
None yet
Development

No branches or pull requests

2 participants