4 ms·
The problem is that the server also has to do the work. Fine for an infrequent auth challenge. Not so fine for every single data request.
by kevin_thibedeau 2y ago
The problem is that the server also has to do the work. Fine for an infrequent auth challenge. Not so fine for every single data request.
- emseetech 2y agoRight it would need an algorithm with widely different encryption speeds vs decryption speeds. Lattice-based cryptography maybe?
- Retr0id 2y agoHash functions are all you need.
- Dylan16807 2y agoYeah, searching for hashes with some prefix is easy to set up.
- saganus 2y agoMaybe there is a way for the server to ask the client to do the work? Something similar to proof-of-work but on a much smaller scale than Bitcoin.
- mrheosuper 2y agojust add some delay to your response, we don't have to waste any more energy on meaningless calculation.
- 01HNNWZ0MV43FF 2y agoAdding delay means you have to keep more connections open at a single time. Parallelism doesn't favor a server if your problem is already a small server getting hit by a big scraper
- Ma8ee 2y agoHow expensive is it to just keep a connection open?
- swiftcoder 2y agoAbout 20 kilobytes of socket + TLS state, if you've really optimised it down to the minimum. Most server software isn't that lean, of course, so pick a framework designed for running a million or so concurrent connections on a single server (i.e. something like Nginx)
- tedunangst 2y agoTons of problems are easier to verify than to solve.