diff options
author | Martin Schanzenbach <mschanzenbach@posteo.de> | 2021-07-05 18:53:34 +0200 |
---|---|---|
committer | Martin Schanzenbach <mschanzenbach@posteo.de> | 2021-07-05 18:53:34 +0200 |
commit | 4651a10a7458697717ef0e96d71125ff27f828ae (patch) | |
tree | 4a15ff362409e1bce37d413a567be1c4bc5dd3a8 | |
parent | 385ebc680f1af71cce85164cb5157c14485cbf59 (diff) | |
download | lsd0004-4651a10a7458697717ef0e96d71125ff27f828ae.tar.gz lsd0004-4651a10a7458697717ef0e96d71125ff27f828ae.zip |
update naming
-rw-r--r-- | draft-schanzen-r5n.xml | 58 |
1 files changed, 47 insertions, 11 deletions
diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml index 9d7acc5..1d78c5b 100644 --- a/draft-schanzen-r5n.xml +++ b/draft-schanzen-r5n.xml | |||
@@ -160,7 +160,27 @@ Y924NSHMMZ1N1SQCE5TXF93ED6S6JY311K0QT86G9WJC68F6XVZ0 \ | |||
160 | tor+onionv3://rasdflkjasdfliasduf.onion/ | 160 | tor+onionv3://rasdflkjasdfliasduf.onion/ |
161 | ]]></artwork> | 161 | ]]></artwork> |
162 | </figure> | 162 | </figure> |
163 | <!-- | ||
164 | 1) The current API is always fire+forget, it doesn't allow for flow | ||
165 | control. I think we need to add that, possibly for sending and receiving. | ||
163 | 166 | ||
167 | IDK. | ||
168 | |||
169 | 2) I'm not sure what to do with the crypto: mandate EdDSA or allow the | ||
170 | underlay to do whatever public keys it likes. | ||
171 | |||
172 | We need keys in the overlay. (Path signatures). Do they need to | ||
173 | be the same keys??? | ||
174 | |||
175 | 3) I think we may want to mandate that the lower layer at least | ||
176 | authenticate the other peer (i.e. every UDP message could be in | ||
177 | cleartext, but would need to come with an EdDSA signature, alas 92 byte | ||
178 | overhead and a signature verification _required_). Otherwise, I don't | ||
179 | see how we can offer even the most minimal protections against peer | ||
180 | impersonation attacks. WDYT? | ||
181 | |||
182 | Security considerations? Prerequisites? | ||
183 | --> | ||
164 | <t> | 184 | <t> |
165 | It is expected that there are basic mechanisms available to | 185 | It is expected that there are basic mechanisms available to |
166 | manage peer connectivity and addressing. | 186 | manage peer connectivity and addressing. |
@@ -168,49 +188,65 @@ Y924NSHMMZ1N1SQCE5TXF93ED6S6JY311K0QT86G9WJC68F6XVZ0 \ | |||
168 | procedures and events: | 188 | procedures and events: |
169 | </t> | 189 | </t> |
170 | <dl> | 190 | <dl> |
171 | <dt>PEER_CONNECTED(pk,address)</dt> | 191 | <dt>PEER_CONNECTED(phash,address)</dt> |
172 | <dd> | 192 | <dd> |
173 | is a signal that allows the DHT to react to peers which connect. | 193 | is a signal that allows the DHT to react to peers which connect. |
174 | Such an event triggers, for example, updates in the | 194 | Such an event triggers, for example, updates in the |
175 | routing table. | 195 | routing table. |
176 | </dd> | 196 | </dd> |
177 | <dt>PEER_DISCONNECTED(pk,address)</dt> | 197 | <dt>PEER_DISCONNECTED(phash,address)</dt> |
178 | <dd> | 198 | <dd> |
179 | is a signal that allows the DHT to react to peers which disconnect. | 199 | is a signal that allows the DHT to react to peers which disconnect. |
180 | Such an event triggers, for example, updates in the | 200 | Such an event triggers, for example, updates in the |
181 | routing table. | 201 | routing table. |
182 | </dd> | 202 | </dd> |
183 | <dt>CONNECT(address)</dt> | 203 | <dt>TRY_CONNECT(pid, address)</dt> |
184 | <dd> | 204 | <dd> |
185 | A function which allows a peer to attempt the establishment of | 205 | A function which allows a peer to attempt the establishment of |
186 | a connection to another peer using an address. | 206 | a connection to another peer using an address. |
187 | </dd> | 207 | </dd> |
188 | <dt>DISCONNECT(address)</dt> | 208 | <dt>HOLD(pash)</dt> |
209 | <dd> | ||
210 | A function which tells the underlay to keep a hold on the connection | ||
211 | to another peer. | ||
212 | </dd> | ||
213 | <dt>DROP(pash)</dt> | ||
189 | <dd> | 214 | <dd> |
190 | A function which allows a peer to disconnect from | 215 | A function which tells the underlay to drop the connection to another |
191 | another peer. | 216 | peer. |
192 | </dd> | 217 | </dd> |
193 | <dt>RECEIVE(source, message)</dt> | 218 | <dt>RECEIVE(source, message)</dt> |
194 | <dd> | 219 | <dd> |
195 | A function or event that allows the peer to receive protocol | 220 | A function or event that allows the peer to receive protocol |
196 | messages as defined in this document from a connected peer. | 221 | messages as defined in this document from a connected peer. |
197 | </dd> | 222 | </dd> |
198 | <dt>SEND(source?, target)</dt> | 223 | <dt>SEND(target, message)</dt> |
199 | <dd> | 224 | <dd> |
200 | A function that allows a peer to send protocol messages as defined | 225 | A function that allows a peer to send protocol messages as defined |
201 | in this document to a connected peer. | 226 | in this document to a connected peer. If call to SEND fails, |
227 | the message has not been sent. | ||
202 | </dd> | 228 | </dd> |
203 | <dt>NETWORK_SIZE_ESTIMATE(N)</dt> | 229 | <dt>NETWORK_SIZE_ESTIMATE(N)</dt> |
204 | <dd> | 230 | <dd> |
205 | A function or event that provides estimates on the network size | 231 | A function or event that provides estimates on the network size |
206 | for use in the DHT routing algorithms. | 232 | for use in the DHT routing algorithms. |
207 | </dd> | 233 | </dd> |
208 | <dt>ADDRESS_CHANGED(pk, address)</dt> | 234 | <dt>ADDRESS_ADD(pk, address)</dt> |
235 | <dd> | ||
236 | The underlay signals us that an address was added. | ||
237 | This information is used, for example, to publish | ||
238 | connectivity as part of the bootstrapping and overlay creation. | ||
239 | </dd> | ||
240 | <dt>ADDRESS_DELETE(pk, address)</dt> | ||
209 | <dd> | 241 | <dd> |
210 | An event that allows the DHT to learn and react to address changes | 242 | The underlay signals us that an address was removed. |
211 | of the peer. This information is used, for example, to publish | 243 | This information is used, for example, to publish |
212 | connectivity as part of the bootstrapping and overlay creation. | 244 | connectivity as part of the bootstrapping and overlay creation. |
213 | </dd> | 245 | </dd> |
246 | <dt>VERIFY(blob)</dt> | ||
247 | <dd> | ||
248 | Signature verification by underlay. | ||
249 | </dd> | ||
214 | </dl> | 250 | </dl> |
215 | </section> | 251 | </section> |
216 | <section anchor="routing" numbered="true" toc="default"> | 252 | <section anchor="routing" numbered="true" toc="default"> |