Opened 8 years ago

Last modified 12 months ago

#2693 new enhancement

Design and implement improved algorithm for choosing consensus method

Reported by: nickm Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: needs-proposal, tor-dirauth
Cc: Actual Points:
Parent ID: #2664 Points:
Reviewer: Sponsor:

Description

Our current algorithm for picking a consenus method is, "Pick the highest method supported by more than 2/3 of the authorities currently voting." This can sometimes result in an insufficiently signed consensus. Instead, it should be something like, "Pick the highest method supported by more than 2/3 of the authorities currently voting, UNLESS the number of authorities supporting that method is less than the threshold needed to sign a valid consensus. In that case, pick the highest method supported by enough authorities to sign a valid consensus."

Alternatively, the algorithm could be something like, "Pick the highest method supported by enough authorities to sign a valid consensus", which I believe is mathematically identical to the above (more obviously safe) formulation.

This change would make some attacks harder for a hostile authority, and some attacks easier. It needs a design proposal and some analysis.

Child Tickets

Change History (7)

comment:1 Changed 8 years ago by arma

Component: Tor RelayTor Directory Authority

comment:2 Changed 7 years ago by nickm

Milestone: Tor: 0.2.3.x-finalTor: unspecified

comment:3 Changed 6 years ago by nickm

Keywords: needs-proposal added

comment:4 Changed 6 years ago by nickm

Keywords: tor-auth added

comment:5 Changed 6 years ago by nickm

Component: Tor Directory AuthorityTor

comment:6 Changed 19 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:7 Changed 12 months ago by teor

Severity: Normal

Set all open tickets without a severity to "Normal"

Note: See TracTickets for help on using tickets.