[noise] Protocol Names

Trevor Perrin trevp at trevp.net
Tue May 30 19:05:06 PDT 2017

On Tue, May 30, 2017 at 10:07 PM, Alex <alex at centromere.net> wrote:
> On Tue, 30 May 2017 16:59:52 +0000
> However what I see unfolding in this discussion is a
> set of rules that, given a *name* will output a *pattern*

Yes - that's always been the idea behind pattern names and modifiers
(or tranformations, as we used to call them), but now we're trying to
formalize this.

>, and that such
> rules will be normative -- i.e. if your implementation doesn't parse
> the name and construct the pattern, you're violating the spec.

I don't think we'd put API requirements into the spec.  As long as
you're compatible on the wire, you can do whatever API you want.

Wire-compatibility will require using the same names as other
libraries, but how you handle those names in your code is up to you.

> *From the implementation's (e.g. cacophony's) point of view* it is my
> intention to declare the handshake name to be an opaque value that is
> set by the author of the pattern, with the library providing a set of
> off-the-shelf (name, pattern) pairs so that hopefully the end-user will
> rarely have to define their own. I think this design decision leads to
> a far more simpler and more elegant implementation, and I would hate
> for the spec to be defined in such a way where this behavior is
> considered a violation.

Cool, I don't think we're considering banning that API (or any API)!


More information about the Noise mailing list