Proof-of-work client
This is currently basically a rebase and squash of !2026 (closed) onto the current main branch, and some cleanup of that MR. Putting it up now, so that @Diziet and @nickm (who reviewed the previous incarnation of this MR) can let me know if there are things I'm missing here. @Diziet I'm assigning this to you since you reviewed the previous version of this, but no worries if you don't have time for it, or need to wait a little bit to take a look at it.
Open items that were mentioned in !2026 (closed):
-
LGPL: I think we are good on this front, we include a copy of LGPL in tree now and have a warning about this in the root README.md, with a link to a more detailed explanation. -
Put this behind a experimental feature flag in arti
, instead of enabling by default. -
Make a ticket for limiting the number of threads spawned, using a threadpool, whatever. (#1676) -
Make a ticket for passing errors through more thoroughly. (Particularly, report when pow requested but couldn't be provided, as per !2026 (comment 3005922)) (#1677) -
Make a ticket for unit tests for tor_cell::relaycell::pow::ProofOfWork
encoding/decoding. (#1679)
I would also like to do a bit of manual testing of this that I haven't done yet. Will comment on this MR when I've done that.
Edited by wesleyac