#25544 closed defect (fixed)

Complete vanguard specification

Reported by: asn Owned by:
Priority: Medium Milestone: Tor: 0.3.4.x-final
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-guard, torspec, guard-discovery, 034-roadmap-master, 034-triage-20180328, 034-included-20180328
Cc: mikeperry Actual Points:
Parent ID: Points:
Reviewer: asn Sponsor: SponsorV

Description

We should revise the vanguard proposal (prop247) to be less ambitious and more down-to-earth and closer to what mike's vanguard script is going to be doing.

Child Tickets

Change History (13)

comment:1 Changed 13 months ago by nickm

Keywords: 034-roadmap-master added

comment:2 Changed 13 months ago by nickm

Milestone: Tor: 0.3.4.x-final

comment:3 Changed 13 months ago by nickm

Keywords: 034-triage-20180328 added

comment:4 Changed 13 months ago by nickm

Keywords: 034-included-20180328 added

comment:5 Changed 11 months ago by asn

Mike, how should we do this? Should we edit prop#247? Or should we edit tor-spec.txt (or some other spec file) to specify how HS_VANGUARD circuits currently work and how the vanguard script uses them? What do you think?

comment:6 Changed 11 months ago by mikeperry

Status: newneeds_review

After sitting down to work on this, I decided we should supersede proposal 247 with a new proposal for mesh-based vanguards, so we can keep the old proposal text around.

https://gitweb.torproject.org/user/mikeperry/torspec.git/tree/proposals/xxx-mesh-vanguards.txt?h=mesh-vanguards&id=d588585d1cb37d5f8f0002692ba6dcb0bd0f552e

I based that branch off of some notes I took from mailinglist discussion on prop247 that never got merged. Figure why not keep that for the archives, too.

comment:7 in reply to:  6 Changed 11 months ago by asn

Replying to mikeperry:

After sitting down to work on this, I decided we should supersede proposal 247 with a new proposal for mesh-based vanguards, so we can keep the old proposal text around.

https://gitweb.torproject.org/user/mikeperry/torspec.git/tree/proposals/xxx-mesh-vanguards.txt?h=mesh-vanguards&id=d588585d1cb37d5f8f0002692ba6dcb0bd0f552e

I based that branch off of some notes I took from mailinglist discussion on prop247 that never got merged. Figure why not keep that for the archives, too.

Good stuff. I agree with the new proposal idea.

I was not sure where to comment, so I started a new PR and commented within: https://github.com/torproject/torspec/pull/9/files

Things look pretty good and as expected.

I was mainly surprised about the introduction of the max(X,X) distribution which was not discussed in the past months. I wonder what it offers. To better investigate it, I added a new commit to the vanguard simulator that implements max(X,X).

comment:8 Changed 11 months ago by asn

Status: needs_reviewneeds_revision

Mike, your changes look good to me.

I pushed another commit on my github repo at mesh-vanguards with some more text on how the python script is used right now. If you think that's inappropriate for the proposal let me now.

I think now is the time to decide what's the role of prop#247 and what's the role of xxx-mesh-vanguards.txt. I think it's confusing to let both of them live at the same time because they are pretty similar in terms of text. We should figure this out so that we get this merged in torspec.

Should we let prop#247 be "Vanguard integration inside Tor core", whereas this new proposal is "Mesh vanguard design using external script"? And make both of them proper proposals (aka get a proposal number for this new one too). Or what should be the plan?

comment:9 in reply to:  8 ; Changed 11 months ago by mikeperry

Replying to asn:

Mike, your changes look good to me.

I pushed another commit on my github repo at mesh-vanguards with some more text on how the python script is used right now. If you think that's inappropriate for the proposal let me now.

Seems good.

I think now is the time to decide what's the role of prop#247 and what's the role of xxx-mesh-vanguards.txt. I think it's confusing to let both of them live at the same time because they are pretty similar in terms of text. We should figure this out so that we get this merged in torspec.

Should we let prop#247 be "Vanguard integration inside Tor core", whereas this new proposal is "Mesh vanguard design using external script"? And make both of them proper proposals (aka get a proposal number for this new one too). Or what should be the plan?

I think that the final Tor implementation should match the vanguards repo behavior (and what this new proposal says), not 247. Because what proposal 247 proposed is different enough than what we're doing in the vanguards repo (and what is specified in this proposal) that we should mark 247 as superseded by this one. It felt weird tossing aside the old 247 material entirely.

I don't have a strong preference for this, but it seems natural to me. Argument against might be that we've been saying prop#247 everywhere, but I think as long as 247 as marked as superseded and mentions the new proposal, this is OK.

comment:10 in reply to:  9 Changed 11 months ago by asn

Status: needs_revisionneeds_review

Replying to mikeperry:

Replying to asn:

Mike, your changes look good to me.

I pushed another commit on my github repo at mesh-vanguards with some more text on how the python script is used right now. If you think that's inappropriate for the proposal let me now.

Seems good.

I think now is the time to decide what's the role of prop#247 and what's the role of xxx-mesh-vanguards.txt. I think it's confusing to let both of them live at the same time because they are pretty similar in terms of text. We should figure this out so that we get this merged in torspec.

Should we let prop#247 be "Vanguard integration inside Tor core", whereas this new proposal is "Mesh vanguard design using external script"? And make both of them proper proposals (aka get a proposal number for this new one too). Or what should be the plan?

I think that the final Tor implementation should match the vanguards repo behavior (and what this new proposal says), not 247. Because what proposal 247 proposed is different enough than what we're doing in the vanguards repo (and what is specified in this proposal) that we should mark 247 as superseded by this one. It felt weird tossing aside the old 247 material entirely.

I don't have a strong preference for this, but it seems natural to me. Argument against might be that we've been saying prop#247 everywhere, but I think as long as 247 as marked as superseded and mentions the new proposal, this is OK.

Sounds good. Take a look at my branch mesh-vanguards-squashed in my repo. It's rebased to latest master, I squashed all the vanguard-mesh commits together, and I superseded prop#247: https://github.com/torproject/torspec/pull/11

The only thing that needs to happen before merging is replace all the xxx-mesh-vanguards.txt parts with the actual number we give to the new proposal.

Check it out and let's merge ready it if you like it.

Last edited 11 months ago by asn (previous) (diff)

comment:11 Changed 11 months ago by mikeperry

Status: needs_reviewmerge_ready

Looks good!

comment:12 Changed 11 months ago by nickm

Merged, and renumbered to proposal 292. Please send it to tor-dev@ and close this ticket?

comment:13 in reply to:  12 Changed 11 months ago by asn

Resolution: fixed
Status: merge_readyclosed

Replying to nickm:

Merged, and renumbered to proposal 292. Please send it to tor-dev@ and close this ticket?

Sent it to tor-dev here: https://lists.torproject.org/pipermail/tor-dev/2018-May/013194.html

I also pushed a trivial commit to torspec.git that fixes up an xxx to the actual number: https://gitweb.torproject.org/torspec.git/commit/?id=f6e93d9751002d970614662c8173ff2fa5b7c193

Closing this ticket! Thanks!

Note: See TracTickets for help on using tickets.