Wie bepaalt wat het Tor-netwerk is: de consensus, de directory authorities en de splitsing van bridges
Elke Tor-verbinding begint met een daad van overeenstemming. Voordat de browser zijn eerste circuit bouwt, heeft hij een actueel antwoord nodig op een bedrieglijk eenvoudige vraag: welke relays bestaan er, en welke daarvan zijn op dit moment betrouwbaar? Niets in het Tor-netwerk wordt door één server beslist. Een kleine, vaste groep machines, directory authorities geheten, legt die vraag in overleg vast, volgens een schema en in het openbaar.
Eén document, één netwerk
Het document dat zij opleveren is de consensus: in de woordenlijst van het Tor Project een enkel document dat eenmaal per uur wordt samengesteld en door de directory authorities is goedgekeurd. Elke consensus somt de bekende relays op als routerstatusregels met bijnaam, sleutelmateriaal en adressen, en voorziet elke regel van flags en bandbreedtegewichten. Het formaat, inclusief de volledige flag-woordenschat, is gedocumenteerd in de directory-specificatie. Clients leren deze feiten nooit van het netwerk als geheel. De adressen en langetermijn-identiteitssleutels van de authorities zijn ingebouwd in de broncode van Tor zelf, en de specificatie schrijft voor dat elke authority haar identiteitssleutel offline houdt en die alleen gebruikt om korter levende ondertekeningssleutels te certificeren. De vertrouwenswortel van het netwerk is opzettelijk klein, controleerbaar en traag van verandering.De uurlijkse stemming, stap voor stap
De werking staat in de stemtijdlijn van de specificatie. Elke authority publiceert periodiek haar stem: de netwerkstatus die zij waarachtig acht. Een tijdsvenster verzamelt de stemmen van alle authorities, daarna verzamelt een tweede venster de handtekeningen onder het resulterende document, en de specificatie eist dat elk van die vensters ten minste twintig seconden duurt. De afgeronde consensus draagt drie tijdstempels in vaste volgorde: valid-after, fresh-until en valid-until, waarbij de totale levensduur ten minste het dubbele van de versheid moet zijn. Er gelden te allen tijde ten minste drie consensusdocumenten. Directory-caches downloaden elk nieuw document tussen valid-after en fresh-until, gewone clients halen het op in het langere venster daarna, en een consensus die meer dan een dag over zijn vervaldatum heen is, wordt geheel geschrapt."Elk uur stemmen deze door vrijwilligers gerunde directory authorities over de relays waaruit het Tor-netwerk bestaat en komen tot een consensus."Die zin komt uit de bijdrage van november 2017 op de blog van het Tor Project die Bastet aankondigde, een nieuwe authority bedoeld om te vergroten wat het project de diversiteit en stabiliteit van het directory-authority-systeem noemde. Het is tegelijk, onopvallend, een beschrijving van de hele constructie: de authorities worden door vrijwilligers gerund, zij stemmen, en hun overeenstemming maakt van duizenden losse relays één netwerk.
Flags, bandbreedte en microdescriptors
Waar de authorities over stemmen is meer dan louter bestaan. Een relay kan flags dragen als Authority, Exit, Fast, Guard, Running, Stable of V2Dir, die elk een geteste eigenschap claimen, en elke stem legt de gemeten bandbreedte van de relay vast, waaruit de consensus de gewichten destilleert waarmee clients paden kiezen. Moderne clients halen vooral de microdescriptor-variant van de consensus op, die de gestemde statusregels koppelt aan hashes van de compacte descriptoronderdelen die clients nodig hebben, in plaats van volledige serverdescriptors.- Guard markeert een relay als geschikt voor de ingangspositie van een circuit.
- Exit markeert een relay als bereid om verkeer over gangbare poorten naar de rest van het internet te voeren.
- Stable markeert een relay als geschikt voor langlopende verbindingen.
- HSDir laat een relay toe tot de ring die de introducties van onion-services bewaart.
- V2Dir markeert een relay als in staat om directorydocumenten te serveren.










