Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Order transport parameters #3418

Closed
marten-seemann opened this issue Feb 5, 2020 · 4 comments
Closed

Order transport parameters #3418

marten-seemann opened this issue Feb 5, 2020 · 4 comments
Labels
-transport design has-consensus

Comments

@marten-seemann
Copy link
Contributor

@marten-seemann marten-seemann commented Feb 5, 2020

#3169 makes transport parameters varint. Since we’re changing the encoders / decoders anyway, this would be a good time to enforce transport parameters to be ordered by identifier.

This has the following 2 advantages:

  • It (slightly) reduces the fingerprinting surface.
  • It makes it trivial to enforce the property that every transport parameter is only sent once. Currently, enforcing this is just a MAY, since checking for this property might be expensive if there are many transport parameters.
@huitema
Copy link
Contributor

@huitema huitema commented Feb 5, 2020

I assume you mean ordering by TP number. I don't like that, because applications typically refer to parameters by name, not by number. For example, a plausible implementation is to have a structure holding parameters in some logical order, and code that goes through that structure and encode the parameters with only symbolic references to their TP number. Adding a sort makes the code much more complicated.

As for fingerprinting, I am not sure you can beat it with just reordering. Reordering drops the space from N! to N^2, that's better but not sufficient. The "sufficient" answer would be to create "anonymity sets", i.e. a small set of combined "profiles" specifying values or absence for all TP.

@kazuho
Copy link
Member

@kazuho kazuho commented Feb 5, 2020

My +1 goes to the proposal.

Enforcing the sender to send TPs in ascending order of TP IDs is much easier than trying to detect duplicates when TPs can arrive in any order.

Now that we've agreed to depart from TLS-based design, my preference is to fix this unnecessary complexity on the receiver side at the same time.

@marten-seemann
Copy link
Contributor Author

@marten-seemann marten-seemann commented Feb 5, 2020

I’ll prepare a PR. Still figuring out the logistical details of how to create PR against #3169, such that we can include the two changes in a single consensus call.

@mnot mnot added this to Triage in Late Stage Processing Feb 5, 2020
@larseggert larseggert added the design label Feb 5, 2020
@project-bot project-bot bot moved this from Triage to Design Issues in Late Stage Processing Feb 5, 2020
@larseggert
Copy link
Member

@larseggert larseggert commented Feb 5, 2020

Discussed in ZRH. Proposed resolution is to close with no action.

@martinthomson martinthomson added the proposal-ready label Mar 3, 2020
@project-bot project-bot bot moved this from Design Issues to Consensus Emerging in Late Stage Processing Mar 3, 2020
@LPardue LPardue added call-issued and removed proposal-ready labels Mar 7, 2020
@project-bot project-bot bot moved this from Consensus Emerging to Consensus Call issued in Late Stage Processing Mar 7, 2020
@LPardue LPardue added has-consensus and removed call-issued labels Mar 20, 2020
@project-bot project-bot bot moved this from Consensus Call issued to Consensus Declared in Late Stage Processing Mar 20, 2020
@ianswett ianswett closed this Mar 22, 2020
Late Stage Processing automation moved this from Consensus Declared to Text Incorporated Mar 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-transport design has-consensus
Projects
Late Stage Processing
  
Issue Handled
Development

No branches or pull requests

7 participants