Filename: ExtraRelayDescriptorFields.txt
Title: Adding new X- fields to relay descriptor
Author: Virgil Griffith, Nick Mathewson
Created: 2014-06-03
Status: Open
1. Motivation
We wish to allow developers to build new applications atop
relays. Towards this
end, we wish to add the ability for users to specify
arbitrary new key-value
entries under the "X-" namespace.
2. Proposal
Allow optional key-value lines in the relay's torrc file.
These lines will be
mirrored in the relay's descriptor which is then published
in the directory
consensus.
For example:
X-bitcoin 19mP9FKrXqL46Si58pHdhGKow88SUPy1V8
X-favoritequote Be excellent to each other. Party on
dudes!
X-foo bar
The value field must be printable ASCII (characters
32-126). The value must
not under any condition contain a newline. The key may
contain lowercase
ASCII letters (a-z), digits, underscore, or dash. In
regex, [-_0-9a-z].
There may need to be a maximum sum length of the X-
entries. This is
left to the developers. I propose a maximum sum length of
5 kilobytes.
To mitigate the chance of a malformed torrc file, I
additionally propose there
be a schema for the relay descriptor, and if the relay
descriptor fails to
match the schema it errors to the user to change her torrc
file.
-V