Skip to content

Commit c1b4645

Browse files
committed
feat: gh-148
1 parent 2826a6c commit c1b4645

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

docs/wiki/EL/devp2p.md

+8-3
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ There are two additional formats able to be understand by an Ethereum node: mult
152152

153153
### RLPx protocol (Transport)
154154

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).
156156

157157
Before deep diving on the protocol, here it is a summary followed by a digram:
158158

@@ -165,18 +165,23 @@ Before deep diving on the protocol, here it is a summary followed by a digram:
165165

166166
#### Secure connection establishment
167167

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.
170172

171173
#### Session and multiplexing
172174

175+
Once the authentication is proven they can interact
176+
173177
#### Messaging framing
174178

175179
### Further Reading
176180
* [Geth devp2p docs](https://geth.ethereum.org/docs/tools/devp2p)
177181
* [Ethereum devp2p GitHub](https://github.com/ethereum/devp2p)
178182
* [Ethereum networking layer](https://ethereum.org/en/developers/docs/networking-layer/)
179183
* [Ethereum Addresses](https://ethereum.org/en/developers/docs/networking-layer/network-addresses/)
184+
* Alchemy (2022). [How are Ethereum transactions propagated (broadcast)?](https://www.alchemy.com/overviews/transaction-propagation)
180185
* Andrew S. Tanenbaum, Nick Feamster, David J. Wetherall (2021). *Computer Networks*. 6th edition. Pearson. London.
181186
* Clause E. Shannon (1948). "A Mathematical Theory of Communication". *Bell System Technical Journal*. Vol. 27.
182187
* Jim Kurose and Keith Ross (2020). *Computer Networking: A Top-Down Approach*. 8th edition. Pearson.

0 commit comments

Comments
 (0)