Skip to content

Commit 5cae4d1

Browse files
committed
feat: gh-148 - typos and spell check fixed
1 parent 84138dd commit 5cae4d1

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

docs/wiki/EL/devp2p.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ There are two additional formats able to be understand by an Ethereum node: mult
250250

251251
### RLPx protocol (Transport)
252252

253-
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).
253+
So far, this article has been referring 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).
254254

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

@@ -264,9 +264,9 @@ Before deep diving on the protocol, here it is a summary followed by a digram:
264264
#### Secure connection establishment
265265

266266
Once the nodes are discovered, RLPx establishes a secure connection between them by authenticating each other through cryptographic-based handshake.
267-
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.
267+
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 recipient, which accepts the connection, decrypts and verify the auth message with the public key exchanged during the communication.
268268

269-
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.
269+
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 authenticated each other, they can start with the communication.
270270

271271
#### Session and multiplexing
272272
Once the authentication is proven they can interact by creating a secure session first through the following process:
@@ -279,7 +279,7 @@ Once the authentication is proven they can interact by creating a secure session
279279

280280
##### Encryption Process
281281

282-
1. **Initiator generates a random ephemeral keypair**.
282+
1. **Initiator generates a random ephemeral key pair**.
283283
2. Computes **shared secret** using **Elliptic Curve Diffie-Hellman (ECDH)**.
284284
3. Derives encryption (`kE`) and MAC (`kM`) keys from the **shared secret**.
285285
4. Encrypts the message using **AES-128-CTR**.
@@ -296,7 +296,7 @@ Once the authentication is proven they can interact by creating a secure session
296296

297297
##### Node Identity
298298

299-
- **Ethereum nodes maintain a persistent secp256k1 keypair** for identity.
299+
- **Ethereum nodes maintain a persistent secp256k1 key pair** for identity.
300300
- The **public key** serves as the **Node ID**.
301301
- The **private key is stored securely** and remains unchanged across sessions.
302302

@@ -321,7 +321,7 @@ If an attacker compromises a node’s private key, past and future communication
321321

322322
###### Ephemeral-Key (Forward Secrecy)
323323

324-
- A temporary keypair generated for each handshake, used to derive a fresh session secret.
324+
- A temporary key pair generated for each handshake, used to derive a fresh session secret.
325325
- Computed using ECDH between ephemeral private keys exchanged during the handshake.
326326

327327
Since ephemeral keys are discarded after a session ends, even if an attacker later obtains a node’s long-term private key, past communications remain secure. This property is known as forward secrecy

wordlist.txt

+14
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ ACD
1212
ACL
1313
addons
1414
Aditional
15+
AES
1516
aggregative
1617
Akula
1718
Aleth
@@ -234,6 +235,7 @@ EAL
234235
EB
235236
ECADD
236237
ECC
238+
ECDH
237239
ECDSA
238240
ECDSA's
239241
ECMUL
@@ -356,6 +358,7 @@ getPayloadV
356358
getters
357359
ghost
358360
Gilles
361+
GCM
359362
Goerli
360363
Golang
361364
Goldwasser
@@ -672,6 +675,7 @@ RANDAO
672675
Rareskills
673676
RB
674677
rceil
678+
reachability
675679
README
676680
reciept
677681
referrerpolicy
@@ -874,6 +878,7 @@ WebRTC
874878
Whistleblower
875879
Wetherall
876880
Whitepaper
881+
WHOAREYOU
877882
WIP
878883
withdrawable
879884
withdrawalHash
@@ -978,3 +983,12 @@ Wireshark
978983
SigP
979984
opcode's
980985
Karim
986+
TalkReq
987+
Plaintext
988+
digram
989+
initating
990+
decrypts
991+
ECIES
992+
KDF
993+
HMAC
994+
decrypted

0 commit comments

Comments
 (0)