Opened 7 years ago

Closed 5 months ago

#1690 closed enhancement (fixed)

Consensus Bandwidth Lacks Indication of Type

Reported by: atagar Owned by:
Priority: Low Milestone: Tor: 0.2.4.x-final
Component: Core Tor/Tor Version:
Severity: Normal Keywords: consensus, bandwidth, tor-dirauth
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

On the client side there currently isn't a way of telling what type of measurement was used for the bandwidth value. For instance if it reads "w Bandwidth=65700" there's no way to definitively tell if this is observed, measured, or weighted measured.

Child Tickets

Change History (9)

comment:1 Changed 7 years ago by atagar

Here's the irc discussion of this topic (heavily trimmed):

07:49 < atagar> In the network status' bandwidth ('w') entry the third value is the observed bandwidth, but iirc from a past discussion it's the client side measured bandwidth for older versions of tor, right?
07:50 < karsten> there are 3 cases:
07:51 < karsten> https://trac.torproject.org/projects/tor/ticket/1566
...
08:11 < atagar> karsten: How can you tell on the client side which measurement it is? For instance if an entry is "w Bandwidth=65700" how do I tell if this is observed, measured, or weighted measured?
08:12 < karsten> observed or measured. weighting happens on client side.
08:12 < karsten> i count the votes that have Measured lines in them. if there are 3+ such votes for a consensus, values are measured. otherwise observed.
08:12 < karsten> fun, isn't it? :)
...
08:35 < Sebastian> atagar: can't you just use the value from the consensus always?
08:35 < Sebastian> What's wrong with that?
08:35 < atagar> it'll be mislabeled (I'm not sure if it's observed, measured, or weighted measured)
08:36 < Sebastian> you could call it bandwidth ;)
08:36 < Sebastian> if you don't like it, I wonder why you don't file a bug asking that there be another line added to the consensus to let the client know; and rather want to fetch all votes
...
08:37 < atagar> I don't want to fetch all the votes (that would be hideous) and putting extra information in the network status just for display purposes would also be quite foolish
08:38 < atagar> though it is a pitty the bandwidth entry doesn't have a single character flag to indicate what it represents...
08:39 < Sebastian> I think it would be easy to add a flag at the top of the consensus, and it would be useful for stats, too
08:40 < atagar> karsten: thoughts on the flag idea?
08:40 < karsten> actually, i wondered why there is no flag.
08:40 < karsten> it takes a new consensus version, though.
08:41 < Sebastian> Right
08:41 < Sebastian> but consensus versions are easy
08:41 < atagar> change log for dir-v4 - we added a single character!
08:41 < Sebastian> erm... no
08:42 < karsten> v3 dir-spec, but v9/10/? consensus version
08:43 < karsten> that requires all dir auths to upgrade
08:43 < Sebastian> it's an easy thing to merge into the next consensus version update
08:43 < karsten> that's true
08:44 < armadev> atagar: to make things even more fun, the weights in the consensus are weights, not measured bandwidth. the bwauthorities come up with numbers that overshoot, in the case of a fast relay that's not getting enough attention. so we'll publish numbers like 60MB/s when we didn't actually measure that you could do 60MB/s. what we measured is that you can do what you're currently advertising way better than the other people who advertise that same amount.
08:44 < Sebastian> (I expect there's be some more events where we need to upgrade all authorities at once before 0.2.2.x becomes stable, anyways.

comment:2 Changed 7 years ago by arma

We can't put a note at the top of the consensus to say how we derived the weights in that consensus. That's because each weight is derived based on what sorts of votes there are about that weight.

So some of the w= lines in a given consensus could be produced by looking at the descriptor (the authority doing the vote either isn't doing active measurements, or doesn't have enough data yet from its measurements), and some could be by active measurements.

comment:3 Changed 7 years ago by atagar

Of course. I think the comment about a single flag for the whole consensus was a mistake. Could we add a field to each bandwidth entry like:
w Bandwidth=65700 Type=O

to indicate the measurement type?

comment:4 Changed 7 years ago by nickm

Milestone: Tor: unspecified

Needs analysis; one problem is that there isn't necessarily any fact of the matter here. If three voters who voted on the bandwidth for a given router pick a weight based on one kind of input, and two pick a weight based on another kind, and the consensus is based on the median of these votes (which it is), what would the type be?

(Moving this to "unspecified" milestone, though it could go to 0.2.3.x or whatever if we can specify something reasonable and come up with an application for it.)

comment:5 Changed 7 years ago by arma

Component: Tor RelayTor Directory Authority

comment:6 Changed 5 years ago by nickm

Keywords: tor-auth added

comment:7 Changed 5 years ago by nickm

Component: Tor Directory AuthorityTor

comment:8 Changed 5 months ago by dgoulet

Keywords: tor-dirauth added; tor-auth removed

Turns out that tor-auth is for directory authority so make it clearer with tor-dirauth

comment:9 Changed 5 months ago by nickm

Milestone: Tor: unspecifiedTor: 0.2.4.x-final
Resolution: fixed
Severity: Normal
Status: newclosed

w lines now include an Unmeasured flag, thanks to #2286 .

Note: See TracTickets for help on using tickets.