Proposal 160: Authorities vote for bandwidth offsets in consensus

Nick Mathewson nickm at
Wed May 13 02:03:08 UTC 2009

On Tue, May 12, 2009 at 03:44:36PM -0700, Mike Perry wrote:
> > It makes more sense just to let bandwidth mean bandwidth.  If we want
> > to have measured bandwidth count for more than reported bandwidth,
> > let's have an optional flag on the vote line that looks like:
> > 
> >    w Bandwidth=X Measured=1
> > 
> > This way the median actually -is- the median.  See below for my
> > suggested voting algorithm.
> Ok, just FYI, the bandwidth measurements are actually computed as the
> ratio of the average stream bandwidth through a node to the average
> stream bandwidth observed for nodes of similar reported capacity (or
> the average of the network as a whole). 
> I'll be detailing the exact nature of this computation in Proposal 161
> today, but the end result of the measurement is actually just a
> floating point value that is computed independent of the reported
> bandwidth. It only becomes a bandwidth value once we multiply it
> against a reported bandwidth for a node. I'm guessing the value we
> would use for this multiplication would be the reported value we saw
> during the scan.

Hm.  Let's come back to this issue when your proposal is out.  I've
got some questions about your approach (it isn't what I thought you
were doing), but it seems stupid for me to bring them up before I've
actually seen what the approach is.

[As it is, I don't see the bandwidth values in the consensus as
bandwidths _per se_ so much as I see them as recommended weights for
node selection, that happen to be scaled the same as bandwidths.  But
that's more a matter of how to think about it than a matter of how it
actually works.]

> >   This is better than rounding to the nearest 1k, since a 1k change is
> >   very significant for low values, and relatively frequent for high
> >   values.
> Ok. If we are voting on bandwidths, should we do this in the python or
> in Tor?

It doesn't matter much to me.  Might as well do it in Tor for
consistency, since it feels more like part of "How to publish and vote
on bandwidths" than it feels like "How to estimate bandwidths."  I'd
think that the bandwidth estimator should give Tor the most accurate
estimate it can, and the authority can figure out what to do with it
from there.


More information about the tor-dev mailing list