25 lines
919 B
Markdown
25 lines
919 B
Markdown
|
# tor-hspow
|
||
|
|
||
|
Tor supports optional proof-of-work client puzzles, for mitigating denial of
|
||
|
service attacks on onion services. This crate implements the specific puzzle
|
||
|
algorithms we use, and infrastructure for solving puzzles asynchronously.
|
||
|
|
||
|
[Proposal 327] introduced our first algorithm variant, named `v1`.
|
||
|
It is based on the Equi-X asymmetric puzzle and an adjustable effort check
|
||
|
using a Blake2b hash of the proof. The underlying algorithm is provided by
|
||
|
the [`equix`] crate.
|
||
|
|
||
|
[Proposal 327]: https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/proposals/327-pow-over-intro.txt
|
||
|
|
||
|
## EXPERIMENTAL DRAFT
|
||
|
|
||
|
Just here as a proof-of-concept and to test the algorithms.
|
||
|
None of the API here is final, the current status is that lower layers are
|
||
|
exposed unnecessarily and upper layers are unwritten.
|
||
|
|
||
|
For Tor client puzzle support in Arti. ([#889])
|
||
|
|
||
|
[#889]: https://gitlab.torproject.org/tpo/core/arti/-/issues/889
|
||
|
|
||
|
|