Opened 6 weeks ago

Last modified 3 weeks ago

#29004 needs_revision enhancement

PrivCount proof of concept: implement check counters

Reported by: teor Owned by: teor
Priority: Medium Milestone: Tor: 0.4.1.x-final
Component: Core Tor/Tor Version:
Severity: Normal Keywords: privcount, 040-unreached-20190109, 041-accepted-20190115
Cc: Actual Points: 0.4
Parent ID: #27908 Points: 1
Reviewer: asn Sponsor: SponsorV

Description

We can start building a PrivCount proof of concept with 3 check counters:

  • ZeroCount - all Data Collectors (DCs) store zero in this counter. If aggregation succeeds, the result is zero. Otherwise, all aggregated results for this round are meaningless.
  • DataCollectorCount - all Data Collectors (DCs) store one in this counter. If aggregation succeeds, the result is the number of DCs that reported results.
  • SampledNoiseAmount - all Data Collectors (DCs) store some noise in this counter, using their standard processes for generating noise, including noise weighting, sampling, and rounding (if needed). If aggregation succeeds, and the standard deviation is large enough, the result will almost always be non-zero, and almost always be within a few standard deviations of zero. We need this counter, because bugs in noise generation may not be obvious in the results.

Child Tickets

TicketTypeStatusOwnerSummary
#29027enhancementassignedteorPrivCount proof of concept: put the PrivCount statistics in a stats/ file

Change History (11)

comment:1 Changed 6 weeks ago by teor

Type: defectenhancement

These should all be enhancements

comment:2 Changed 6 weeks ago by teor

Points: 1

If we hard-code a lot of things, this should not take more than a day or so.

comment:3 Changed 6 weeks ago by teor

Actual Points: 0.4
Status: assignedneeds_review

I have a proof-of-concept for PrivCount in extra-info descriptors in https://github.com/torproject/tor/pull/640

Here's what it looks like in chutney:

extra-info test000a C83D24A1EC44B1D48089CEBD7E31CB4611775027
...
pc-zero 0
pc-dc-count 1
pc-noise-sample TODO
pc-rw-bytes 0
pc-g-rw-bytes TODO
pc-e-rw-bytes TODO
pc-ge-rw-bytes TODO
pc-m-rw-bytes TODO
pc-stats-end
router-sig-ed25519 ...

comment:4 Changed 6 weeks ago by dgoulet

Reviewer: nickm

comment:5 Changed 6 weeks ago by dgoulet

Reviewer: nickmasn

comment:6 Changed 6 weeks ago by teor

Keywords: 040-unreached-20190109 041-proposed added
Milestone: Tor: 0.4.0.x-finalTor: unspecified

These tasks are on the 0.4.1 roadmap for PrivCount and Sponsor V.

comment:7 Changed 6 weeks ago by teor

Keywords: 041-proposed-on-roadmap added; 041-proposed removed
Milestone: Tor: unspecifiedTor: 0.4.1.x-final

Let's review these tickets at the next meeting using our 041-proposed process.

They're on the roadmap, so the review should focus on ticket size and team capacity (and sponsor expectations).

comment:8 Changed 5 weeks ago by asn

Status: needs_reviewmerge_ready

Patch looks really nice and tidy!

Not sure how the TODOs are meant to be addressed, but what I'm seeing looks good!

comment:9 Changed 5 weeks ago by teor

Status: merge_readyneeds_revision

Thanks for the review!

I talked to nickm about the names, we're going to go for something between pc-ge-rw-bytes and privcount-guard-and-exit-read-and-write-byte-count.

I will look at the TODOs. Maybe I should have flagged this as a work in progress.

comment:10 Changed 5 weeks ago by teor

Keywords: 041-accepted-20190115 added; 041-proposed-on-roadmap removed

These PrivCount tickets are on the 041 roadmap, we accepted their points estimates in 041 without discussion.

comment:11 Changed 3 weeks ago by nickm

Sponsor: SponsorV
Note: See TracTickets for help on using tickets.