-
Notifications
You must be signed in to change notification settings - Fork 33
⚗️ COMIT nodes need an identifying key #637
Comments
I'd say there is not really a way around having a key-pair for your COMIT node so that is sort of a given. There is several questions to be answered/discussed:
For the 2nd case, the user's COMIT node needs to have list of socket addresses and public keys somewhere.
|
Whenever I someone shares a COMIT node id it should probably include an ID, IP and port. Can you think of use case for just sharing an IP/port? Obviously you really have to not care at all who you are talking to if you just connect to an IP and port because it can be MITM attacked. It's also tricky to implement both types of handshakes in noise. |
Theres's two main choices:
|
Proposal:
Note if we go with I think "aliasing" is a feature we should design until we have a motivation for it at the application level. At this stage I can see that an application might like to tag peers or add metadata to them. But I think it makes most sense to do this on the application level. |
Sent a meeting invite to discuss this above |
"Storage and how you generate is then however you store the seed". |
@D4nte No. I mean that the key is simply derived from the seed. Seed storage/security improvements are outside the scope of this proposal. |
@LLFourn please see body ticket "how to store locally". Please include a proposal regarding this matter. |
That I'm closing this for now with the bias towards Note: Further discussion about key derivation can go here #672 |
Decide how to handle COMIT node identification.
This MUST be compatible with noise, ie, if Alice already knows Bob's id, she needs to be certain she is connected to Bob when negotiating the noise connection.
Most likely public/private key pair, yet to be decided:
Notes:
The current proposal is to use a public key which would also be used to set up transport encryption with the [noise protocol] (http://www.noiseprotocol.org/). This is precisely what The BOLT specification does. We would use it in the same way except not necessarily with the same parameters (hash function/curve).
This is needed so we can uniquely identify nodes. Right now nodes are identified with ip and port and there is no transport layer encryption/authentication. This also makes testing multiple nodes on the same machine difficult.
DoD:
Child of #744
The text was updated successfully, but these errors were encountered: