# Centralized vs Decentralized RPCs A comparison between centralized and decentralized RPC services. Particularly onces offered by Lava, Extrnode and Ankr. ## What are RPCs? Blockchain RPCs (Remote Procedure Calls) are a way for external applications to communicate with a blockchain network or node. They allow applications to query blockchain data, submit transactions, and access network information remotely. RPCs involve sending requests over a network connection to the blockchain node, which processes the requests and sends back responses. RPCs enable developers to integrate blockchain functionality into their applications and interact with blockchain networks programmatically. ## What are Centralized RPCs? These are standalone nodes that serve requests being sent directly to them. ![](https://hackmd.io/_uploads/rkHOmHcSh.png) ## What are Decentralized RPCs? The term decentralized RPC means RPCs run by different entities put behind a load balancer(optionally). These load balancers redirect user requests according to traffic and latency in the region(or blockchain for Lava). If one RPC goes offline, the requests will be rerouted to others. **The load balancer in this case, could reroute requests to RPCs of the same blockchain or different ones. Different in the case of Lava.** w ![](https://hackmd.io/_uploads/SyQJ8HcB2.png) ## Ankr(in Context) Ankr provides decentralized RPCs by having nodes in multiple regions and using a load balancer to serve requests for the same blockchain and also offering a multichain RPC option. Single Chain RPCs: ![Single Chain RPC](https://hackmd.io/_uploads/H1cS1xjBh.png) Multichain RPC for eight EVM compatible blockchains: ![Multichain RPC](https://hackmd.io/_uploads/BJ9UJlir2.png) Ankr also allows users to connect to their RPCs over a websocket connection for a fee. | Pros | Cons | | -------- | -------- | | Enterprise support if an RPC goes down. | Free RPCs are rate limited. | | Multichain RPC access without having to make on chain transactions. | Centralized point of failure if team doesn't respond on time for support. | | Websocket connection for a fee. | Only EVM blockchains supported under multichain RPC | ## Extrnode(in Context) Extrnode provides decentralized RPCs for Solana by partnering up with staking service providers and putting their nodes behind a load balancer node. ## Lava Network(in Context) Lava Network provides decentralized access to multiple different blockchains using their RPCs. The aim is to create a hub for Dapp creators to allow their apps to connect with as many blockchains as they like. ![](https://hackmd.io/_uploads/SyQJ8HcB2.png) Therefore, in this diagram, the load balancer would be the Lava RPCs(acting as a load balancer but capable of processing requests made to Lava network) connecting to the RPCs of different blockchains. Node operators can contribute to the blockchain by setting up [validator nodes](https://docs.lavanet.xyz/validator) or [provider nodes.](https://docs.lavanet.xyz/provider) Validator nodes validate transactions while provider nodes help connect the Lava Network with other blockchains. Provider nodes earn transaction fees by processing transactions made to different blockchains. They are the backbone of the network and allow it to connect to different blockchains. | Pros | Cons | | -------- | -------- | | Truly decentralized access to other blockchains | Multichain blockchain RPC access is through dapps | | Easily integrate dapps with other blockchains | Need to make transactions to access other blockchains | | Support for non-EVM blockchains | No websocket connection | | | Access to other blockchains has to be added by the Lava team |