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:
-
MetaMask creates a dedicated full node (seems impossible) or a light node for every user.
-
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.