User Tools

Site Tools


dido:public:ra:xapend:xapend.a_glossary:r:rlpx

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dido:public:ra:xapend:xapend.a_glossary:r:rlpx [2022/01/08 19:04]
nick
dido:public:ra:xapend:xapend.a_glossary:r:rlpx [2022/01/09 14:10] (current)
nick
Line 2: Line 2:
 [[dido:​public:​ra:​xapend:​xapend.a_glossary:​start| Return to Glossary ]] [[dido:​public:​ra:​xapend:​xapend.a_glossary:​start| Return to Glossary ]]
  
-**RLPx** is a [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​start]] suite and not a single protocol. On the one hand it maintains the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​p2p]] overlay network with the means of a modified version of the kademlia node discovery protocol (using [[dido:​public:​ra:​xapend:​xapend.a_glossary:​u:​udp]] messages). We could name it RLPx **Node Discovery Protocol**.+**RLPx** is a [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​start]] suite and not a single protocol. On the one hand it maintains the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​p2p]] overlay network with the means of a modified version of the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​k:​kademlia]] node discovery protocol (using [[dido:​public:​ra:​xapend:​xapend.a_glossary:​u:​udp]] messages). We could name it **RLPx** **Node Discovery Protocol**.
  
-The first time two [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​peer | Peers]] meet each other, they should perform a two-phase handshake (i.e. two different handshakes). In the first handshake, they exchange some [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​cryptographic_algorithm | ryptographic]] secrets (the details are explained here (in the RLPx specification)) that are used for the subsequent communications between them. The subsequent messages are therefore [[ dido:​public:​ra:​xapend:​xapend.a_glossary:​e:​encryption | encrypted]] and [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​authentication | authenticated]].+The first time two [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​peer | Peers]] meet each other, they should perform a two-phase handshake (i.e. two different handshakes). In the first handshake, they exchange some [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​cryptographic_algorithm | ryptographic]] secrets (the details are explained here (in the **RLPx** specification)) that are used for the subsequent communications between them. The subsequent messages are therefore [[ dido:​public:​ra:​xapend:​xapend.a_glossary:​e:​encryption | encrypted]] and [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​authentication | authenticated]].
  
 In the second handshake, they exchange their capabilities,​ i.e. which **''​devp2p''​** subprotocols they support (the peers can support multiple protocols). This second handshake could be considered already part of **''​devp2p''​** wire protocol (the **''​Hello''​** message). The documentation says that: In the second handshake, they exchange their capabilities,​ i.e. which **''​devp2p''​** subprotocols they support (the peers can support multiple protocols). This second handshake could be considered already part of **''​devp2p''​** wire protocol (the **''​Hello''​** message). The documentation says that:
Line 14: Line 14:
   * [[dido:​public:​ra:​xapend:​xapend.a_glossary:​e:​eth]],​ the Ethereum wire subprotocol used to exchange the information about the blockchain   * [[dido:​public:​ra:​xapend:​xapend.a_glossary:​e:​eth]],​ the Ethereum wire subprotocol used to exchange the information about the blockchain
   * [[dido:​public:​ra:​xapend:​xapend.a_glossary:​w:​whisper]]   * [[dido:​public:​ra:​xapend:​xapend.a_glossary:​w:​whisper]]
-  * les the light ethereum ​subprotocol is the protocol designed for the light clients+  * [[dido:​public:​ra:​xapend:​xapend.a_glossary:​l:​les]] the light Ethereum ​subprotocol is the protocol designed for the light clients
     ...If you want you can write your own subprotocol https://​github.com/​ethereum/​go-ethereum/​wiki/​Peer-to-Peer.     ...If you want you can write your own subprotocol https://​github.com/​ethereum/​go-ethereum/​wiki/​Peer-to-Peer.
  
-Therefore, RLPx messages are encrypted and authenticated and on top of them you can communicate with different protocols. We can say that RLPx is the transport layer protocol and **''​devp2p''​** and its subprotocols are the application level protocols.+Therefore, ​**RLPx** messages are encrypted and authenticated and on top of them you can communicate with different protocols. We can say that **RLPx** is the transport layer protocol and **''​devp2p''​** and its subprotocols are the application level protocols.
  
 Source: [[https://​stackoverflow.com/​questions/​49029311/​what-is-the-use-of-ethereums-rlpx-and-how-do-they-use-it-in-ethereum-ecosystem ]] Source: [[https://​stackoverflow.com/​questions/​49029311/​what-is-the-use-of-ethereums-rlpx-and-how-do-they-use-it-in-ethereum-ecosystem ]]
dido/public/ra/xapend/xapend.a_glossary/r/rlpx.1641686668.txt.gz ยท Last modified: 2022/01/08 19:04 by nick