Maybe this was asked sometimes, but I wasn't able to find an answer.
I want to ask how does one connect to a blockchain in general - not the configuration part how to download it, but from the technical perspective, f.e protocols.
For example:
what happens when someone downloads geth, does it use a different protocol to connect to the blockchain?
do the native browsers cannot use required protocols and thus need metamask?
why does the browser cannot use the JSON-RPC protocol and we use web3.js?