5 ms·
I implemented a proof of work system to protect access to a large number of webpages before. The problem is that a native implementation is an order of magnitu
by mtourne 12y ago
I implemented a proof of work system to protect access to a large number of webpages before.
The problem is that a native implementation is an order of magnitude faster than the best JS interpreter, and it can be 2 or 3 orders faster than an old browser, or on mobile. It would leave IE7 hanging actually.
I concluded that the only way to use a proof of work system effectively would be native crypto primitives in the browser itself.
Another way we explored was making a very simple challenge (not computationally intensive), that yet you can only realistically solve with a JS interpreter. The goal shifted to "spend cpu time", to "raise the difficulty of programming a bot".
I know there are lots of ways to include a decent JS interpreter in a headless program, but it seems this hasn't caught on with bot makers yet.