diff options
Diffstat (limited to 'dir-spec.txt')
-rw-r--r-- | dir-spec.txt | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/dir-spec.txt b/dir-spec.txt index 1a7a1cd..d10e4c3 100644 --- a/dir-spec.txt +++ b/dir-spec.txt @@ -317,11 +317,29 @@ The timeline for a given consensus is as follows: - VA-DistSeconds-VoteSeconds: The authorities exchange votes. + VA-DistSeconds-VoteSeconds: The authorities exchange votes. Each authority + uploads their vote to all other authorities. VA-DistSeconds-VoteSeconds/2: The authorities try to download any votes they don't have. + Authorities SHOULD also reject any votes that other authorities try to + upload after this time. (0.4.4.1-alpha was the first version to reject votes + in this way.) + + Note: Refusing late uploaded votes minimises the chance of a consensus + split, particular when authorities are under bandwidth pressure. If an + authority is struggling to upload its vote, and finally uploads to a + fraction of authorities after this period, they will compute a consensus + different from the others. By refusing uploaded votes after this time, + we increase the likelihood that most authorities will use the same vote + set. + + Rejecting late uploaded votes does not fix the problem entirely. If + some authorities are able to download a specific vote, but others fail + to do so, then there may still be a consensus split. However, this + change does remove one common cause of consensus splits. + VA-DistSeconds: The authorities calculate the consensus and exchange signatures. @@ -1868,8 +1886,8 @@ only if it is listed by a majority of the voters. These lines should be voted on. A majority of votes is sufficient to - make a protocol un-supported. and should require a supermajority of - authorities (2/3) to make a protocol required. The required protocols + make a protocol un-supported. A supermajority of authorities (2/3) + are needed to make a protocol required. The required protocols should not be torrc-configurable, but rather should be hardwired in the Tor code. |