You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/wiki/EL/devp2p.md
+8-3
Original file line number
Diff line number
Diff line change
@@ -152,7 +152,7 @@ There are two additional formats able to be understand by an Ethereum node: mult
152
152
153
153
### RLPx protocol (Transport)
154
154
155
-
So far, this article has been refering to the discovering protocol only, but what about the secure information exchange process? Well, RLPx is the TCP-based transport protocol that enables secure peer-to-peer communication in the EL. It handles connection establishment, and message exchange between Ethereum nodes. The name comes from the RLP serialization format.
155
+
So far, this article has been refering to the discovering protocol only, but what about the secure information exchange process? Well, RLPx is the TCP-based transport protocol that enables secure peer-to-peer communication in the EL. It handles connection establishment, and message exchange between Ethereum nodes. The name comes from the [RLP serialization format](../EL/RLP.md).
156
156
157
157
Before deep diving on the protocol, here it is a summary followed by a digram:
158
158
@@ -165,18 +165,23 @@ Before deep diving on the protocol, here it is a summary followed by a digram:
165
165
166
166
#### Secure connection establishment
167
167
168
-
Once the peers are discovered, RLPx establishes a secure connection between them by authenticating them through cryptographic-based handshake.
169
-
This process begins with an authentication initiation where the initiator node generates an ephemeral key pair using the secp256k1 elliptic curve. This ephemeral key plays a crucial role in establishing perfect forward secrecy for the session.
168
+
Once the nodes are discovered, RLPx establishes a secure connection between them by authenticating each other through cryptographic-based handshake.
169
+
This process begins by initating an authentication where the initiator node generates an ephemeral key pair using the secp256k1 elliptic curve. This ephemeral key plays a crucial role in establishing perfect forward secrecy for the session. Then the initiator sends an authentication message including the ephemeral public key and a nonce to the recepient, which accepts the connection, decrypts and verify the auth message with the public key exchanged during the communication.
170
+
171
+
The recipient sends an acknowledge message back to the initiator, and then sends a first encrypted frame containing a [Hello message](https://github.com/ethereum/devp2p/blob/master/rlpx.md#hello-0x00) which includes the port, their IDs and their client's IDs, and the protocol information. Once the nodes have authenticaded each other, they can start with the communication.
170
172
171
173
#### Session and multiplexing
172
174
175
+
Once the authentication is proven they can interact
0 commit comments