I am trying to learn about the enode concept, the node addressing system that Ethereum clients use

I seem to recall in passing that Ethereum transaction propagation has some degree of privacy because the nodes don't know they were the first node to see the transaction, or who the first node was, but nowadays I can't find any literature on this as the wallets have abstracted all this away and people rely on services like Infura or Alchemy to propagate transactions through their load balanced fleet of nodes. The load balancer seeing everything about the sender's IP address and offering no privacy.

On a fundamental level, what do nodes see and record? Do they know where an unconfirmed transaction came from?

On UXTO blockchains, the nodes know exactly which node say a transaction first and information about who sent it.

1 Answer 1


It's called the Ethereum Gossip protocol. That googling gave me for example this , which seems to have the information you're looking for.

The paper will probably correct me if I'm wrong, but I believe the "privacy" comes from the fact that nodes only hear of transactions and nothing about where it originates from - pretty much what you already stated in your question. So if node A broadcasts a new transaction, its neighbours B, C and D hear of it and propagate it further, but have no idea whether the transaction originates from A or from further on.

If you have enough visibility over the network, I believe you can rather accurately pinpoint the originating nodes. The trouble is how to get such visibility. I guess you could start drawing a network map and try to become a neighbor to a lot of nodes, or something similar.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.