I'm really going to ask a noob question, but when connecting to Ethereum through Metamask it calls the RPC URL. So Ethterum is not decentralized since:

  1. DNS is not a decentralized service and depends on the root servers of the Domain Name Service. Even if it is "safe", it is not decentralized for all that.

  2. Behind the DNS, is there an application that "routes" to the nodes of the network? When I make a transaction request from Metamask, does it contact a first server which contains the list of nodes?

These are just questions that I ask, I have no idea how it works in practice, if you have information on the subject I am interested.

Thank you !

  • If you run your own Ethereum node it is decentralized.
    – Ismael
    Jan 15, 2022 at 18:53
  • understood, but I wonder how a node can connect to other nodes without going through a centralized DNS-style service? How can the node know the IP addresses of other nodes to exchange with them?
    – Mayzz
    Jan 16, 2022 at 22:34
  • There is distributed hash table for similar purpose.
    – Ismael
    Jan 17, 2022 at 6:52

1 Answer 1


To "talk" to the Ethereum blockchain, we interact with a node. As you mentioned, when connecting to Metamask, it will use an RPC call to send/receive data from a node (through a JSON-RPC standard usually). In order to offer this service to everyone, Metamask uses nodes that are run and made publicly available by Infura, a centralized entity.

While this is a very convenient approach for the end-user or most of the developers, if you want to run a fully decentralized process you can spin up your own nodes and point your Metamask to them! This makes it so you communicate directly to the chain without relying on anyone else.

See here the official docs on how to do that. For reference:

Ethereum is a distributed network of computers running software (known as nodes) that can verify blocks and transaction data. You need an application, known as a client, on your computer to "run" a node.

Also worth mentioning, there are some projects out there pursuing a fully decentralized operation for nodes-as-a-service. As a matter of fact you can see in the page linked here how the Ethereum docs explain this area with pros and cons.

  • Thank you for your reply. I understand the concept. But that leads to another question: if I can make my own node and contact it directly, how does my node contact other nodes without centralized service? A single node cannot deduce all the addresses of the network.
    – Mayzz
    Jan 14, 2022 at 7:06

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.