summaryrefslogtreecommitdiff
path: root/doc/dev/notes/service-side-pow.md
Commit message (Collapse)AuthorAgeFilesLines
* tor-hsservice: Initial parts of PowManager.Wesley Aptekar-Cassels2025-05-271-10/+5
| | | | | | | This adds PowManager, as described in doc/dev/notes/service-side-pow.md, hooks it into IptManager and Publisher, and adds code to publish and rotate seeds, and to keep a updated list of Verifier instances for currently active seeds.
* tor-hsservice: Add more notes about publisher_update_tx.Wesley Aptekar-Cassels2025-01-161-1/+3
|
* tor-hsservice: Clarify PowManager publisher_update_tx.Wesley Aptekar-Cassels2025-01-161-0/+2
|
* tor-hsservice: Remove impl Clone for PowManager.Wesley Aptekar-Cassels2025-01-161-2/+0
| | | | Now that it's not in a Arc internally it shouldn't have this.
* tor-hsservice: Update PowManager persistence plan.Wesley Aptekar-Cassels2025-01-161-7/+19
|
* tor-hsservice: Make PowManager not use internal Arc.Wesley Aptekar-Cassels2025-01-161-4/+4
| | | | | | | | | | Per review feedback: > We have discovered that as a general rule of thumb, it is a good idea > to expose the `Arc`. This has a number of advantages; for example, if a > caller wants a `Weak` for any reason, that's right there. The typical > pattern is for the constructor to return `Arc<Self>` and methods to take > `self: &Arc<Self>`.
* tor-hsservice: Make PoW seed expiration be per-TP.Wesley Aptekar-Cassels2025-01-161-7/+6
| | | | | | This is something we wanted to do in general for security reasons, and ad I was implementing I discovered that it actually makes the code simpler, rather than more complicated.
* tor-hsservice: Update notes about PowManager persistence.Wesley Aptekar-Cassels2025-01-161-1/+1
|
* tor-hsservice: Add KeyMgr and HsNickname to PowManager.Wesley Aptekar-Cassels2025-01-161-0/+6
| | | | | These are needed to allow the PowManager to get the blinded ID needed to construct a PoW verifier.
* tor-hsservice: Give PowManager its own update loop.Wesley Aptekar-Cassels2025-01-161-14/+19
|
* tor-hsservice: Make PowManager use Arc internally.Wesley Aptekar-Cassels2025-01-161-1/+3
| | | | It is cleaner to not force callers to wrap it.
* fix: fix typosDimitris Apostolou2025-01-061-1/+1
|
* docs: Update PoW proposal with lock hierarchy.Wesley Aptekar-Cassels2024-12-171-0/+4
|
* docs: Fix proposed PoW struct visibility.Wesley Aptekar-Cassels2024-12-171-1/+1
|
* docs: Update proposed PoW locking and add explanation.Wesley Aptekar-Cassels2024-12-171-10/+56
|
* docs: Move PoW next_expiration_time into PowVerifiers.Wesley Aptekar-Cassels2024-12-171-1/+1
|
* docs: Add note about ReplayLog cleanup.Wesley Aptekar-Cassels2024-12-171-1/+10
|
* docs: Update PoW replay log type.Wesley Aptekar-Cassels2024-12-171-1/+1
|
* docs: Put all datastructures for PoW seeds in the same struct.Wesley Aptekar-Cassels2024-12-171-5/+7
| | | | | This will prevent problems when trying to acquire multiple locks to update this data in a consistent way.
* docs: s/replay_log_dir/pow_replay_log_dir/ for clarity.Wesley Aptekar-Cassels2024-12-171-1/+1
|
* docs: Add note about ReplayLog rotation.Wesley Aptekar-Cassels2024-12-171-0/+1
|
* docs: Add note about PowManagerRecord and StateRecord.Wesley Aptekar-Cassels2024-12-171-0/+1
|
* docs: Adjust check_solve visibility.Wesley Aptekar-Cassels2024-12-171-1/+1
|
* docs: We want nonces to be unique, not solution bytes.Wesley Aptekar-Cassels2024-12-171-1/+1
|
* docs: Add details of ReplayLog to service side PoW notes.Wesley Aptekar-Cassels2024-12-171-3/+29
|
* docs: Update notes on service-side PoWWesley Aptekar-Cassels2024-12-171-22/+24
| | | | | | | | | | | This makes a few major changes: * Removes the IptPowInstance type, instead moving that functionality to PowManager, using a RwLock. * Adds detail about the priority queue types / APIs * Makes all members of PowManager wrapped by a Mutex/RwLock, so that the caller doesn't need to worry about that. The caller will still likely need to put it in a Arc, though.
* docs: Rework service side PoW draft.Wesley Aptekar-Cassels2024-12-171-74/+93
|
* docs: Add note on plan for service side PoW.Wesley Aptekar-Cassels2024-12-171-0/+107