[Ethereum] How metamask works

blockchaingo-ethereummetamasksynchronization

I want to understand how MetaMask works.

When a user connects to the main network using MetaMask, there are a few possibilities I can think of:

  1. MetaMask creates a dedicated full node (seems impossible) or a light node for every user.

  2. MetaMask runs a full node, letting users to connect to it via rpc.

In the second possibility, aren't we violating blockchain princples like depending on a remote single node a.k.a. a single point failure?

Maybe both of the above are wrong. I am not sure, please help me understand the MetaMask workflow.

Best Answer

Metamask connects through Infura (https://infura.io/) for the mainnet and testnet setting. Infura maintains those nodes.

Obviously, it also allows you to connect to a custom RPC by clicking the network name for the dropdown.

Related Topic