11 ms·
After 2 minutes at 150 kHashes on mobile, I finally see the first pixel of the progress bar filling up. Seems like it will take hours or a day to finish. Some e
by mxmlnkn 6mo ago
After 2 minutes at 150 kHashes on mobile, I finally see the first pixel of the progress bar filling up. Seems like it will take hours or a day to finish. Some estimate would have been nice.
- dheera 6mo agoI don't get this kHash thing. Do we have captchas mining bitcoin in a distributed fashion for free now?
- throw10920 6mo agoThe page says > Anubis uses a Proof-of-Work scheme in the vein of Hashcash And if you look up Hashcash on Wikipedia you get https://en.wikipedia.org/wiki/Hashcash https://en.wikipedia.org/wiki/Hashcash which explains how Hashcash works in a fairly straightforward manner (unlike most math pages).
- dheera 6mo agoOh fun so now we're effectively draining users' phone and laptop batteries now just to prove that they have batteries and somehow that's a proxy for them being human
- throw10920 6mo agoGiven that you're clearly completely ignorant of everything in the anti-spam space, you should probably do some research before making uninformed comments like this.
- drum55 6mo agoIronically I used a LLM to write a bypass for this ridiculous tool, doing hashing in a browser makes no sense, Claude's very bad implementation of it in C does tens of megahash a second and passes all of the challenges nearly instantly. It took about 5 minutes for Claude to write that, and it's not even a particularly fast implementation, but it beats the pants off doing string comparisons for every loop in JavaScript which is what the Anubis tool does. for (; ;) { const hashBuffer = await calculateSHA256(data + nonce); const hashArray = new Uint8Array(hashBuffer); let isValid = true; for (let i = 0; i < requiredZeroBytes; i++) { if (hashArray[i] !== 0) { isValid = false; break; } } It's less proof of work and just annoying to users, and feel good to whoever added it to their site, I can't wait for it to go away. As a bonus, it's based on a misunderstanding of hashcash, because it is only testing zero bytes comparison with a floating point target (as in Bitcoin for example), the difficulty isn't granular enough to make sense, only a couple of the lower ones are reasonably solvable in JavaScript and the gaps between "wait for 90 minutes" and "instantly solved" are 2 values apart.
- Retr0id 6mo agoI wrote one that uses opencl: https://github.com/DavidBuchanan314/anubis_offload https://github.com/DavidBuchanan314/anubis_offload
- bawolff 6mo agoShouldnt browser also have it implemented in c? Like i assume crypto.subtle isnt written in js.
- drum55 6mo agoIt doesn't matter if your hottest loop is using string comparisons, as another poster pointed out in C you aren't even doing the majority of the second hash because you know the result (or enough of it) before finishing it. The JavaScript version just does whole hashes and turns them into a Uint8Array, then iterates through it.
- bawolff 6mo agoI dont understand what you mean. Are you saying that in C you only calculate the first few digits of the hash? That's not how sha256 works. Edit: oh i think you mean in c the string comparison short curcuits. I would expect the same to be true in javascript too. Its true in most languages. Maybe you are just worried about general language overhead, which is a fair point. Is the anubis check even using multiple threads? For the c case, the real benefit wouldn't be if you can use C, but if you can use the GPU. The whole thing is kind of silly though. SHA256 is a terrible choice of hash for PoW. They should be using argon2 or something memory heavy.
- raincole 6mo agoAt this point I wonder if you can post a crypto miner page on HN and people will fall for it.