Skip to content

Commit 2e4c260

Browse files
marten-seemannmxindenp-shahi
authored
roadmap: rewrite the section about efficient handshakes (#461)
* roadmap: rewrite the section about efficient handshakes * fix typos Co-authored-by: Max Inden <mail@max-inden.de> Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com> Co-authored-by: Max Inden <mail@max-inden.de> Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com>
1 parent 47da09e commit 2e4c260

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

ROADMAP.md

+10-12
Original file line numberDiff line numberDiff line change
@@ -321,21 +321,19 @@ be achieved with the [WebTransport](#✈️-webtransport) protocol.
321321
**High priority for: IPFS**
322322

323323
**What?** Establishing a connection and performing the initial handshake
324-
should be as cheap and fast as possible. Supporting things like
325-
*selective* stream opening, *preemption*, *speculative* negotiation,
326-
*upfront* negotiation, protocol table *pinning*, etc. may enable us to
327-
achieve lower latencies when establishing connections, and even the
328-
0-RTT holy grail in some cases. These features are being discussed in
329-
the *Protocol Select* protocol design.
330-
331-
**Why?** Multistream 1.0 is chatty and naïve. Streams are essential to
332-
libp2p, and negotiating them is currently inefficient in a number of
333-
scenarios. Also, bootstrapping a multiplexed connection is currently
334-
guesswork (we test protocols one by one, incurring in significant
335-
ping-pong).
324+
should be as cheap and fast as possible. On TCP, the current libp2p
325+
handshake spends one round-trip negotiating the security protocol, and
326+
another round-trip negotiating the stream multiplexer.
327+
By using advanced features of the handshake protocol, we might even be
328+
able to reach the holy grail of a 0-RTT handshake in some cases.
329+
330+
**Why?** Applications rely on quick connection establishment. libp2p
331+
shouldn't make them wait for any longer than absolutely necessary.
336332

337333
**Links:**
338334

335+
- [Security protocol in multiaddr](https://github.com/libp2p/specs/pull/353)
336+
- [Muxer selection in security handshake](https://github.com/libp2p/specs/pull/446)
339337
- [Protocol Select specification](https://github.com/libp2p/specs/pull/349)
340338

341339
### 🛣️ Peer Routing Records

0 commit comments

Comments
 (0)