-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
consider domain-agnostic terminology for protocol participants #21
Comments
For example, if we consider the first volley to be an instance of the first-contact problem:
Subsequently, if we consider the statefulness of the participants:
Or their PKI status:
Or their one-to-potentially-many relationship:
To be continued.... |
Two analogies to chew on:
The challenge here is to describe the enduring asymmetry of the participants' original conversation- or protocol-level roles, which have implications for, but are not identical to, their roles at the level of any given message, exchange of messages, or window of time. |
I think given that now we have plenty of documentation, the audit, multiple diagrams and we are preparing for public disclosure, this is a good time to start finalizing the terminology and make things as consistent as we can. |
Coming back to the idea of more generalized terminology, which I think is a great idea especially at this point. Of @cfm 's suggestions I prefer the ones that are non-metaphorical and are about roles and not the internal protocol features, such as
(or some similar variant, I wish there was a more common word for "initiator" that was more like "OP"). I also wonder about relying on existing familiar paradigms like "Sender/Recipient" ; although it's tricky because those roles obviously can switch, AnonSender and KnownRecipient/KnownResponder is another option. |
Statefulness distinction seems to make the most sense IMO. 👍 for that option. |
Would you mind saying a bit more about why you like the statefulness/statelessness one? I'm not trying to quibble, but I'm thinking about documentation that will eventually be out in the world (trying to document an eventual protocol library), and already "Stateful Party" / "Stateless Party" feels kind of abstract and confusing. I don't read those words and automatically think of two human parties/user groups communicating, I'm working to parse what it means. Or if I'm a tool-builder, I don't read those terms and have a clearer idea of whether this protocol library will/won't work for me than if I were to read "source" and "journalist". |
I think this is what I was getting at in #21 (comment):
Like you, I think I still favor initiator/respondent. For Friday-afternoon fun I've dug out Roget's Thesaurus and am surprised to find it doesn't have a lot more to offer us (emphasis original):
|
The asymmetry made explicit in #18 is one of the fundamental properties of this protocol—indeed, one of the symptoms that motivates having a custom protocol at all, versus Signal or MLS.
Within that asymmetry, however, the "journalist" and "source" roles are features of our domain, not of the essential protocol. Whatever names we expose in APIs, we may be able to come up with domain-agnostic terminology for these roles based on how they participate in this protocol.
The text was updated successfully, but these errors were encountered: