Opened 6 years ago

Closed 6 years ago

#13509 closed task (implemented)

Write Tor proposal for hidden-service statistics

Reported by: karsten Owned by:
Priority: Medium Milestone:
Component: Archived/general Version:
Severity: Keywords: SponsorR, tor-hs
Cc: asn, dgoulet Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


We should write a Tor proposal for the various hidden-service statistics that we're considering to add to relays' extra-info descriptors. That proposal will facilitate public discussion on tor-dev@, because we'll have a single document that we can edit and improve. Primary focus will be to say whether the suggested new statistics are safe enough to gather.

Examples (from Roger's recent post to tor-dev@):

  • How many intro points were established at my relay over the past 24 hours?
  • How many rendezvous points?
  • How many of those rendezvous points got used?
  • What were the various usage stats of the intro points?

Suggested next steps:

  1. Make a list of suggested statistics. This tor-dev@ thread already contains plenty of suggestions that we need to extract. Should we add more suggestions as comments to this ticket?
  2. Translate that list into the proposal format with concrete data formats that can later be merged into the extra-info descriptor section of dir-spec.txt. We'll want to keep this document in a torspec Git repo.
  3. Do a first evaluation whether statistics are safe enough or not, and add those assessments to the document. This also ties well with (4) from the end of Roger's tor-dev@ post.
  4. Polish the document and send it to tor-dev@.

dgoulet, asn, and I agreed to co-author this proposal. asn suggests to aim for mid-November for sending it to tor-dev@.

Child Tickets

Attachments (2)

hs_stats.txt (4.3 KB) - added by asn 6 years ago.
HS stats.txt (2.5 KB) - added by amj703 6 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 6 years ago by dgoulet

Here is a list of measurement proposed during the IRC meeting:

  • How many HS desc fetch failures do we get everytime we connect to an HS? (and that's #13208)
  • How many IPs do we try before succeeding at an introduction?
  • How many RPs do we try before suceeding at connecting?
  • What fraction of HS fetches here succeed?
  • What fraction of INTRODUCE1 attempts connect to a real INTRO circuit?
  • How often do we change our IPs from service-side? How long do we keep a typical IP?
  • What fraction of INTRODUCE2 cells do we decline to answer?
  • How often do we re-upload?
  • How often do we use preemptive circuits?
  • How often do we cannibalize circuits?

comment:2 Changed 6 years ago by dgoulet

Keywords: SponsorR tor-hs added

comment:3 Changed 6 years ago by asn

During the IRC meeting we enumerated some HS-related stats that can be collected by relays:

Now we need to analyze the stats to figure out which ones are a good idea to collect.

comment:4 Changed 6 years ago by asn

I attached my notes. They are not ready to be included in a formal proposal, but there you go.

Changed 6 years ago by asn

Attachment: hs_stats.txt added

comment:5 Changed 6 years ago by asn

I pushed an initial draft of a proposal at branch hs_stats in my torspec repo

The proposal only handles the "How many HSes are there"/"How much HS traffic is there" statistics, which are the ones we really want to do. In the future, we can incorporate any other statistics in this proposal.

comment:6 Changed 6 years ago by asn

FWIW, I will use #13192 for the implementation for now.

Changed 6 years ago by amj703

Attachment: HS stats.txt added

comment:7 Changed 6 years ago by amj703

I have attached a document that syverson and I created describing how to infer network-wide values from individual statistics.

Last edited 6 years ago by amj703 (previous) (diff)

comment:8 Changed 6 years ago by asn

FWIW, the code has been merged to tor.git (#13192), but the proposal not. We should probably merge it soon. The last version of the proposal is the one from comment:5 .

comment:9 Changed 6 years ago by nickm

Resolution: implemented
Status: newclosed


Note: See TracTickets for help on using tickets.