224 modules: -------------------------- Parallel == We can work on that in parallel from the other modules. 1) New descriptor format --> Linked to proposal 246 --> Parallel 2) New cells format [DEFINED/READY] --> Linked to proposal 246 --> Parallel 3) Key blinding [DEFINED/READY] * some of the crypto has been merged (figure it out) --> Parallel 4) Consensus version validation. [DISCUSSION] * No V3Flag, instead use Tor version check. * Version has to be the current version ABI. --> Parallel 5) New API/ABI (ex: /tor/rendezvous3/) [DISCUSSION] * Use zkey key format? - Compare our base32 scheme with zkey. (Ticket?) * Figure out what to do with the remaining 4 bit. - Keep them as RESERVED for future use. - Use it for checksum. --> Parallel 6) ntor handshake [DEFINED/READY] --> Parallel, Easy 7) Offline keys [DEFINED/READY] --> Parallel 8) Shared Randomness. [DISCUSSION] * We do not want to use the consensus as source of randomness. * Proposal #225 seems the valid solution. * Publish today's shared value and yesterday's value. * Need to write proposal for commit-and-reveal during voting --> Parallel 9) Backward compatibility. [DEFINED prop#224] * Proposal 246 will kill backwards compatibility. * How to handle TAP vs NTOR --> Will figure out as we go. 10) HS logic. [DISCUSSION] * Time periods. * Descriptor cache behavior * When/Which shared random value to use. - Use last shared random if in time-period or use the new one from the consensus. * When upload descriptor. --> Parallel 11) Access control. Authorization. [DEFINED/READY] --> Depends on cells/desc. format. 12) Link all modules together. * See edge cases. * Make sure it fits our threat model * Is the proposal #224 works with the above? 13) Onion service path selection security improvements * Layered guards - HS circuits only * Rate-limiting guards * Shorter paths?