/ doc / Compatibility.md
Compatibility.md
 1  
 2  # Protocol support and compatibility in Arti
 3  
 4  Summary:
 5  
 6  There is no support in Arti yet for running as a relay, running as a
 7  directory authority, using onion services, or providing onion services.
 8  There is also no anticensorship support.  We hope to build these in the
 9  future, but the timeline is not set.
10  
11  Arti aims for compatibility with all _currently recommended_ Tor protocols.
12  We have not implemented, and do not plan to implement, obsolete versions of
13  anything.
14  
15  ## Protocol support
16  
17  Here's a checklist of Tor sub-protocol versions that we currently have
18  client-side support for:
19  
20    * [x] `Cons=2` [^1]
21    * [x] `Desc=2`
22    * [x] `DirCache=2`
23    * [x] `FlowCtrl=0`
24    * [x] `FlowCtrl=1`
25    * [ ] `HSDir=2`
26    * [ ] `HSIntro=4` (maybe?)
27    * [ ] `HSIntro=5`
28    * [ ] `HSRend=2`
29    * [x] `Link=4`
30    * [x] `Link=5`
31    * [x] `Microdesc=2` [^1]
32    * [ ] `Padding=2`
33    * [x] `Relay=2`
34    * [ ] `Relay=3` (not sure whether we're compliant with this client-side)
35  
36  [^1]: If a consensus method before 28 is used, we won't find IPv6 addresses
37  correctly. All such consensus methods are currently obsolete, though, and
38  authorities won't negotiate them any more.
39  
40  There is no relay-side support for anything right now. If there were, we'd
41  want to support:
42  
43    * [ ] `Cons=2`
44    * [ ] `Desc=2`
45    * [ ] `DirCache=2`
46    * [ ] `FlowCtrl=0`
47    * [ ] `FlowCtrl=1`
48    * [ ] `HSDir=2`
49    * [ ] `HSIntro=4` (maybe)
50    * [ ] `HSIntro=5`
51    * [ ] `HSRend=2`
52    * [ ] `Link=4`
53    * [ ] `Link=5`
54    * [ ] `LinkAuth=3`
55    * [ ] `Microdesc=2`
56    * [ ] `Padding=2`
57    * [ ] `Relay=2`
58    * [ ] `Relay=3`
59  
60  We do not ever plan to support these:
61  
62    * `Cons=1` (obsolete format)
63    * `Desc=1` (obsolete format)
64    * `DirCache=1` (no relays still support this)
65    * `HSDir=2`
66    * `HSIntro=3` (will be obsolete in 2021)
67    * `HSRend=1` (will be obsolete in 2021)
68    * `LinkAuth=1` (only used by RSA-only relays)
69    * `Microdesc=1` (obsolete format)
70    * `Padding=1` (deprecated)
71  
72  We presume that these proposals will be accepted and merged into Tor:
73    * [ ] 285 (Directory documents should be standardized as utf-8, tor#40131)
74    * [ ] 315 (Make some directory fields "required", tor#40132)