7

In Ethereum, when we make transactions, which underlying protocol is used to send the packages over the network? And another question, are those messages are encrypted or not? TCP, UDP, others? All?

Is there a reference you can show me that provides this information? I was unable to find it.

Lee
  • 8,548
  • 6
  • 46
  • 80
Önder Gürcan
  • 393
  • 2
  • 12

1 Answers1

7

Ethereum uses DevP2P, which is a general protocol of discovery and connection of nodes, with an ethereum subprotocol defined on top of it (as opposed to the subprotocol of swarm, whisper, etc).

You can read the following links to get a deeper view:

If you are more curious, these are the libraries you need to peek on

The connections are made with a TCP simple dial. After the connections are established, a handshake occurs and the messages are encrypted using the nodekey, a 512-bit key each node has. The latter can be defined by yourself, or auto-generated by your node if this one can't find it during start up.

Richard Horrocks
  • 37,835
  • 13
  • 87
  • 144
Herman Junge
  • 2,381
  • 1
  • 16
  • 25
  • Could you please comment on https://ethereum.stackexchange.com/q/31716/7044 I am trying to work out current spec for rlpx kademlia – Sentinel Nov 27 '17 at 09:38