From 9355a6ebca5dcbfa3bb11da875b5ad4c7a3e18df Mon Sep 17 00:00:00 2001 From: Age Manning Date: Wed, 5 Feb 2020 14:33:00 +1100 Subject: [PATCH] Noise libp2p specification --- specs/phase0/p2p-interface.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index 674f2e2b85..caf528b039 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -149,9 +149,11 @@ The following SecIO parameters MUST be supported by all stacks: #### Mainnet -[Noise Framework](http://www.noiseprotocol.org/) handshakes will be used for mainnet. libp2p Noise support [is in the process of being standardized](https://github.com/libp2p/specs/issues/195) in the libp2p project. +The [Libp2p-noise](https://github.com/libp2p/specs/tree/master/noise) secure +channel handshake with `secp256k1` identities will be used for mainnet. -Noise support will presumably include IX, IK, and XX handshake patterns, and may rely on Curve25519 keys, ChaCha20 and Poly1305 ciphers, and SHA-256 as a hash function. These aspects are being actively debated in the referenced issue (Eth2 implementers are welcome to comment and contribute to the discussion). +As specified in the libp2p specification, clients MUST support the `XX` handshake pattern and +can optionally implement the `IK` and `XXfallback` patterns for optimistic 0-RTT. ## Protocol Negotiation