[tor-dev] Bi-directional families in Onionoo and consensus weight as measure of relayed bandwidth

2015-07-02 Thread Karsten Loesing
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Moving this discussion here from another list with Virgil's permission.

On 02/07/15 08:42, Virgil Griffith wrote:
> Big issues right now are: * Bugs (?) in Onionoo --- Onionoo doesn't
> sanitize its data.  For example, there's a lack of bidirectionality
> between relays of many families. 
> https://drive.google.com/file/d/0Bwjagz1RgJOnSkx0YTlhMHdfMFU/view?usp=sharing
>
>  There are currently about 665 pairs of family relays without
> bidirectionality. This is caused by the .torrc of some relays not
> pointing to its family members.
> 
> I am considering doing a service on top of Onionoo that sanitizes
> the raw Tor consensus to ensure things like bidirectional families.
> It's unclear how much other data needs sanitization.

I'd rather want to fix/change Onionoo than have you write another
service that processes Tor descriptors.  There's even a ticket for
this, we're just somewhat stuck by arguing about the best fix.  Maybe
I should just fix it somehow and, if necessary, fix it more later.

https://trac.torproject.org/projects/tor/ticket/16276

Would that solve your problem?

What other problems would there be with Onionoo's data?  Can you make
a wish list?

> * A semi-reliable measure for the magnitude of traffic a relay has 
> routed.  We have confirmed instances of relays forging their 
> observed bandwidth, ergo we can't use that.  And thus far
> Consensus Weight is the best we've found, but it's unclear whether
> we can use that as a proxy of magnitude of relayed traffic. ---
> https://docs.google.com/document/d/1v1rutylD6RkBei9rEmSvsgmvQXhrIHXOr85NL3I9_q8/edit?usp=sharing
>
>  Right now the lack of a reliable measure of how much bandwidth is 
> relayed is the largest sticking point.

Actually, consensus weight (fraction) is a fine measure, and I like
how you're calling it "bandwidth points" in your prototype which
doesn't imply a bits per second or related unit.  I'd say assign
10,000 bandwidth points to all relays per day, depending on what
fraction of total consensus weight a relay had.  To me, it's fine that
this doesn't translate to bits or bytes.

How does that sound?

All the best,
Karsten

-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQEcBAEBAgAGBQJVlPKJAAoJEJD5dJfVqbCrZWQH/0lHSdgy4PF7nQ8RMZryKpnf
o3Fvw8VkcIwZgJgp0MOLIVu0fZhcD8hhvSWd9yYTSpQwGwBayUJuPE0ao4MbfZYf
mwz5hkngzq1Z7654K65m/fYLu7EIbXI86vT4/Cwwh8cnGl/ezaliFVvVMOmKTyOb
UtV7T+Lgk5IgsGJOxQbpNHCTxyAokbAygqZ9Eq/6ZWqjZFBZb1P2XjV+IaziGyJl
yuxrD66cJe4ZmcpPe9g7mTa9JyQ5kmUOWogXhKTFWDFCcPslc0M49iiYohDmiNxC
5RGKp1dMuYkL6th9b3Uuc3W4TdCMaDHV96BDUD3qdlqCWBU0fD617f31+Hsb6Bg=
=0KdX
-END PGP SIGNATURE-
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Bi-directional families in Onionoo and consensus weight as measure of relayed bandwidth

2015-07-02 Thread Aaron Gibson

On 2015-07-02 08:12, Karsten Loesing wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Moving this discussion here from another list with Virgil's permission.

On 02/07/15 08:42, Virgil Griffith wrote:

Big issues right now are: * Bugs (?) in Onionoo --- Onionoo doesn't
sanitize its data.  For example, there's a lack of bidirectionality
between relays of many families.
https://drive.google.com/file/d/0Bwjagz1RgJOnSkx0YTlhMHdfMFU/view?usp=sharing

 There are currently about 665 pairs of family relays without
bidirectionality. This is caused by the .torrc of some relays not
pointing to its family members.


Do many of these relays have ContactInfo? Are there similarities between 
the configurations or are these 'Family' members pretending in order to 
look like honest relays? Interesting find!


I am considering doing a service on top of Onionoo that sanitizes
the raw Tor consensus to ensure things like bidirectional families.
It's unclear how much other data needs sanitization.


I'd rather want to fix/change Onionoo than have you write another
service that processes Tor descriptors.  There's even a ticket for
this, we're just somewhat stuck by arguing about the best fix.  Maybe
I should just fix it somehow and, if necessary, fix it more later.

https://trac.torproject.org/projects/tor/ticket/16276

Would that solve your problem?

What other problems would there be with Onionoo's data?  Can you make
a wish list?


* A semi-reliable measure for the magnitude of traffic a relay has
routed.  We have confirmed instances of relays forging their
observed bandwidth, ergo we can't use that.  And thus far
Consensus Weight is the best we've found, but it's unclear whether
we can use that as a proxy of magnitude of relayed traffic. ---
https://docs.google.com/document/d/1v1rutylD6RkBei9rEmSvsgmvQXhrIHXOr85NL3I9_q8/edit?usp=sharing

 Right now the lack of a reliable measure of how much bandwidth is
relayed is the largest sticking point.


Actually, consensus weight (fraction) is a fine measure, and I like
how you're calling it "bandwidth points" in your prototype which
doesn't imply a bits per second or related unit.  I'd say assign
10,000 bandwidth points to all relays per day, depending on what
fraction of total consensus weight a relay had.  To me, it's fine that
this doesn't translate to bits or bytes.


I'd suggest binning relays by fraction of consensus - e.g. top 10% of 
relay tier, and so on - thougths?




How does that sound?

All the best,
Karsten

-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQEcBAEBAgAGBQJVlPKJAAoJEJD5dJfVqbCrZWQH/0lHSdgy4PF7nQ8RMZryKpnf
o3Fvw8VkcIwZgJgp0MOLIVu0fZhcD8hhvSWd9yYTSpQwGwBayUJuPE0ao4MbfZYf
mwz5hkngzq1Z7654K65m/fYLu7EIbXI86vT4/Cwwh8cnGl/ezaliFVvVMOmKTyOb
UtV7T+Lgk5IgsGJOxQbpNHCTxyAokbAygqZ9Eq/6ZWqjZFBZb1P2XjV+IaziGyJl
yuxrD66cJe4ZmcpPe9g7mTa9JyQ5kmUOWogXhKTFWDFCcPslc0M49iiYohDmiNxC
5RGKp1dMuYkL6th9b3Uuc3W4TdCMaDHV96BDUD3qdlqCWBU0fD617f31+Hsb6Bg=
=0KdX
-END PGP SIGNATURE-
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Bi-directional families in Onionoo and consensus weight as measure of relayed bandwidth

2015-07-02 Thread l.m
The major problem with ticket 16276 is that it isn't a fix (as you
seek here). It just moves the current implementation into the details
document rather than being done in the node index. I don't think you
*can* fix it as you seek. Bi-directionality isn't an enforceable
property. The spec makes no guarantee. The internet makes no
guarantee. You might as well remove the family property entirely than
try to do what you suggest.

What you propose isn't possible by the properties of tor's network.
The best you can do is take a measurement and hope it applies to all
views of the network. I made some comments alluding to this in 16276.
I would happily work on the ticket if it actually presented a
solution.

Comments appreciated.
--leeroy
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Bi-directional families in Onionoo and consensus weight as measure of relayed bandwidth

2015-07-02 Thread Virgil Griffith
One proposal I've liked is to socially discourage asymmetrical families by
giving them with bad badges on Roster.  If A says B is part of their family
but B doesn't reciprocate, A gets a penalty to their bandwidth points.

I think right now the proposals are to either:

(1) move forward using Observed Bandwidth for everything.  And when it gets
spoofed we must accept it and can talk about ways of improving it.

(2) use consensus weight as a proxy for "real observed bandwidth".

Question: What is the downside (if any), of using Consensus Weight as the
sole measure of bandwidth points?

-V

On Thursday, July 2, 2015, l.m  wrote:

> The major problem with ticket 16276 is that it isn't a fix (as you seek
> here). It just moves the current implementation into the details document
> rather than being done in the node index. I don't think you *can* fix it as
> you seek. Bi-directionality isn't an enforceable property. The spec makes
> no guarantee. The internet makes no guarantee. You might as well remove the
> family property entirely than try to do what you suggest.
>
> What you propose isn't possible by the properties of tor's network. The
> best you can do is take a measurement and hope it applies to all views of
> the network. I made some comments alluding to this in 16276. I would
> happily work on the ticket if it actually presented a solution.
>
> Comments appreciated.
> --leeroy
>
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Bi-directional families in Onionoo and consensus weight as measure of relayed bandwidth

2015-07-02 Thread Karsten Loesing
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi leeroy and Virgil,

I'm replying inline.

On 02/07/15 14:06, Virgil Griffith wrote:
> One proposal I've liked is to socially discourage asymmetrical
> families by giving them with bad badges on Roster.  If A says B is
> part of their family but B doesn't reciprocate, A gets a penalty to
> their bandwidth points.

Maybe don't go as far as penalizing relay operators for attempting to
configure a relay family and not succeeding at it.  Keeping family
configurations updated is not exactly trivial.  And if the effect is
that relay operators stop configuring families at all, that's not what
we wanted, either.

It would be good to point out configuration problems with family
settings and help operators debug them easily.

> I think right now the proposals are to either:
> 
> (1) move forward using Observed Bandwidth for everything.  And when
> it gets spoofed we must accept it and can talk about ways of
> improving it.
> 
> (2) use consensus weight as a proxy for "real observed bandwidth".
> 
> Question: What is the downside (if any), of using Consensus Weight
> as the sole measure of bandwidth points?

I still think it's a good idea, but I'm curious what others think.

> -V
> 
> On Thursday, July 2, 2015, l.m  wrote:
> 
>> The major problem with ticket 16276 is that it isn't a fix (as
>> you seek here). It just moves the current implementation into the
>> details document rather than being done in the node index. I
>> don't think you *can* fix it as you seek. Bi-directionality isn't
>> an enforceable property. The spec makes no guarantee. The
>> internet makes no guarantee. You might as well remove the family
>> property entirely than try to do what you suggest.
>> 
>> What you propose isn't possible by the properties of tor's
>> network. The best you can do is take a measurement and hope it
>> applies to all views of the network. I made some comments
>> alluding to this in 16276. I would happily work on the ticket if
>> it actually presented a solution.

I started implementing something here and will report back on the
ticket as soon as I'm more convinced that it works.

Thanks, everyone!

All the best,
Karsten



>> 
>> Comments appreciated. --leeroy
>> 
> 
> 
> 
> ___ tor-dev mailing
> list tor-dev@lists.torproject.org 
> https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
> 

-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQEcBAEBAgAGBQJVlS7lAAoJEJD5dJfVqbCrwp0H/itg2dLrD+SEMKerI5B5g9Ai
LFgLJ5HDGsiByiQJi0tDvl2uNv7UA4veZMlumxdHb2BM4DY+FXufVURQaUuPyllr
hXv0gtof6ca3zHdPXNvgU+D6aZezOlxKmxZuyJXRb9nV3MeDvv+i+ZT/a3LfbecN
ypWRMO0eCznS5LfulWLwFfhPOQC+Ng014WezKf/L6h0Sf6Yt+mWWKWrEgd/TGv4l
P6mrOrv0Qt5YdmeaQjsjQ3XEl3eU8cNnhlo+URYnUKGgwo108OEm+dMF1duScQJh
YUUsRUu1yJUsBtq/jxkFXh3qqWGUAbNAvKVvFojnFh/nNJqhzuGkzkjjf8qr030=
=JwjG
-END PGP SIGNATURE-
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Bi-directional families in Onionoo and consensus weight as measure of relayed bandwidth

2015-07-02 Thread l.m

>> One proposal I've liked is to socially discourage asymmetrical
>> families by giving them with bad badges on Roster.  If A says B is
>> part of their family but B doesn't reciprocate, A gets a penalty to
>> their bandwidth points.

> Maybe don't go as far as penalizing relay operators for attempting
to
> configure a relay family and not succeeding at it.  Keeping family
> configurations updated is not exactly trivial.  And if the effect is
> that relay operators stop configuring families at all, that's not
what
> we wanted, either.

> It would be good to point out configuration problems with family
> settings and help operators debug them easily.

If my understanding of this is correct, doesn't this also have
problems with proof-of-operator? That is, exactly as the current case,
there's no inherently reliable way to prove that if A declares B and B
doesn't declare A, that there *should* be a bi-directional relation.
Other properties of a node/relay only go so far in proof-of-relation.
The existence of a bi-directional relation is only taken as a hint for
path selection. Given X and Y are chosen and have a bi-directional
relation, discard one based on the first chosen.

> I started implementing something here and will report back on the
> ticket as soon as I'm more convinced that it works.

No hints?

Regards
--leeroy
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Bi-directional families in Onionoo and consensus weight as measure of relayed bandwidth

2015-07-02 Thread Karsten Loesing
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 02/07/15 15:07, l.m wrote:
> 
>>> One proposal I've liked is to socially discourage asymmetrical 
>>> families by giving them with bad badges on Roster.  If A says B
>>> is part of their family but B doesn't reciprocate, A gets a
>>> penalty to their bandwidth points.
> 
>> Maybe don't go as far as penalizing relay operators for
>> attempting
> to
>> configure a relay family and not succeeding at it.  Keeping
>> family configurations updated is not exactly trivial.  And if the
>> effect is that relay operators stop configuring families at all,
>> that's not
> what
>> we wanted, either.
> 
>> It would be good to point out configuration problems with family 
>> settings and help operators debug them easily.
> 
> If my understanding of this is correct, doesn't this also have 
> problems with proof-of-operator? That is, exactly as the current
> case, there's no inherently reliable way to prove that if A
> declares B and B doesn't declare A, that there *should* be a
> bi-directional relation.

Good point.  I guess you shouldn't penalize B at all here, because
anyone could set up a family and declare unidirectional family
relations with all or many other relays to have them penalized.  The
only actor you could penalize would be A, because either she's lying
about being in a family with other relays, or she forgot to also
configure the family settings on B correctly.

All in all, doesn't sound too useful to rank down relays because of
that.  Having a notification of some kind would be nice though.

> Other properties of a node/relay only go so far in
> proof-of-relation. The existence of a bi-directional relation is
> only taken as a hint for path selection. Given X and Y are chosen
> and have a bi-directional relation, discard one based on the first
> chosen.
> 
>> I started implementing something here and will report back on
>> the ticket as soon as I'm more convinced that it works.
> 
> No hints?

I'm coding the "effective_family" field discussed on that ticket.
I'll post a branch once it runs successfully locally (the first
attempt had a bug or two, which is not surprising).  But that doesn't
mean that this code will be merged as is, it's just supposed to be a
better basis for further discussions.  More on the ticket once I have
more to say.

All the best,
Karsten

-BEGIN PGP SIGNATURE-
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQEcBAEBAgAGBQJVlWwfAAoJEJD5dJfVqbCryhAIAIVVDsze8vovtA6PPwnuzjNE
sYHjQhyS5G+rV6zRf2gSQSCVzno5aUqh+WTAOWiPyJwmeii43ZZT8IrJ9e+zauxV
6p40slKfKzP/qJjYy+8JCir6ew/3nnjvnKu7cSbVpLBtK1MY/AiX3W+XHMj/eWoR
5Z1yiqN/Wax+stwhUoryThqD1iBWc5HwC7lmwOcwbRof/OGtQhVhgzzAIx88LKof
KvmFCWIn1yvruwTyOmibBreUbzGebxTbnEqzidZ6eM2DQIB6xEoup5lQdZcfVp7K
VFeGf57CzTMj/+nBp37Eux2ZOsVd+5/GyYuekfUqdkh40fGb2sQjf3NNEt/xfN8=
=ayLq
-END PGP SIGNATURE-
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Bi-directional families in Onionoo and consensus weight as measure of relayed bandwidth

2015-07-02 Thread l.m
So I guess I should go back to the original issue posted in this
thread. It hasn't been addressed if the (bi-directional family)
concern is actually data from Onionoo or operators that just don't
declare families. The view from Onionoo--based on consensus, taking
into consideration caching and other network reliability factors
affecting a view of tor. The view from tor--which is far more
difficult to prove. Currently tor will automatically reject implied
family relations based on ip block similarity.

Regards
--leeroy
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev