Skip to content

Inconsistent terminology wrt voting periods / intervals / times

I have been trying to make sense of the HS hash rings and time periods. I observe at least the following terms in use to talk about times in dir-spec and rend-spec-v3:

  • "voting period"
  • "Interval"
  • "interval"
  • "time period"
  • "consensus time"
  • "current"
  • "measurement period"
  • "period"
  • "hsdir-interval"
  • "time period length"
  • "period length"
  • "bridge-stats-*"
  • "measurement interval"
  • "publication time"
  • "published"

Sometimes the same words mean different things, depending on context. Sometimes different words are used to refer to the same thing. Generally, when concepts defined elsewhere are used a vague reference is made in prose to another part of the protocol, rather than giving the section number and the precise term from the definition.

This is all extremely confusing. I think these things ought to be defined and referred to consistently. If a fixed phrase ("hsdir time period", say) is too long, it should have a consistent abbreviation ("hsdir TP" maybe). When a reference is made to something which is found in a netdir document, perhaps the document keyword or syntactic metavariable should be used consistently.

I don't yet understand all this well enough yet to even enumerate the time periods/intervals/instants in the protocol, let alone suggest names for them.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information