A Remote Procedure Call (RPC) is a communication protocol that enables a program to execute a subroutine or procedure on a remote system over a network. This essentially allows programmers to communicate over a distributed network of nodes. The pioneering RPC procedure used on Ethereum is Javascript Object Notation (JSON) RPCs.

Developers use RPCs to send requests to a node, such as creating a new address or sending a transaction. The node processes the request, updates the blockchain network accordingly, and then returns the result to the developer via an RPC. This allows the developer to build a cryptocurrency wallet that can interact with the blockchain network and perform various functions, such as sending and receiving transactions. This is useful because it facilitates the process of actually communicating this information over the blockchain network with supporting infrastructure presenting this information in a user-friendly way.

Recently, we have seen that RPC layers can simplify the process of building applications. For instance, if a developer wants users to view their external wallet's crypto balance within a new DeFi liquidity farming site, they can build an API (Application Programming Interface) that communicates with the wallet to find out what the user holds. From the case studies and recent news, it can be seen that the RPC landscape is evolving.

Existing Challenges with Ethereum’s RPC Infrastructure

The reoccurring surge in memecoins on Ethereum over its lifecycle has led to network congestion, causing soaring transaction costs and a growing backlog of unconfirmed transactions​​.

This has highlighted the limitations of Ethereum’s RPC infrastructure in particular as these network issues indicate a wider problem with how RPC nodes are distributed within the ecosystem. Currently, Ethereum’s network of RPC providers is highly centralized, with most requests being fulfilled by several centralized providers.

Cryptocurrency exchanges often provide APIs that allow different software programs to communicate and exchange data with a blockchain or crypto exchange platform and allow traders to access trading data and execute trades programmatically. These APIs may use RPCs to communicate with the exchange's trading engine and execute orders on behalf of the user.

We have also more recently seen RPCs exploited to carry out DeFi exploits. By manipulating RPCs, attackers can trick oracles into inaccurately indexing prices which allows more liquidity to be drained from a smart contract than intended. This is what happened in the attack on tender.fi which suffered a $1.6m loss from such an exploit.

RPC interfaces can be used to allow a cryptocurrency wallet application to communicate with a full node running on the blockchain network. This allows the wallet to query the blockchain for information such as balances and transaction histories, as well as send transactions to the network for processing.

Robust RPC Structures

Distributed and decentralized networks of RPC providers may create a more cost-effective and energy-efficient environment where data consumers don’t rely on one centralized entity but are supported by independent Web3 infrastructure players. In this structure, dApps can even host their own RPC endpoints, connect them to the RPC network, and reduce infrastructure costs significantly.


Centralized RPCs

Decentralized RPCs

Control

Centralized

Decentralized

Architecture

Client-server

Peer-to-peer

Scalability

Medium

High

Fault Tolerance

Limited

High

Trust Model

Trust vested in the central authority

Trust delegated amongst the network

Performance

Dependent on the central server

Dependent on network and latency

Data Security

Relies on central server security

Distributed security through cryptography and consensus


Author: Constantine Zaitcev, Chief Product Officer of DRPC

Constantine is the Chief Product Officer of DRPC, an Ethereum-based decentralized RPC network that enhances security, reliability, and cost-efficiency for Web3 projects of all sizes. Constantine has over 15 years of work experience, nine of which have been in the crypto industry, including being the former Head of Product at P2P.ORG and PMO at Ambisafe.co.