In the pursuit of a high-performance blockchain, it’s not enough to only optimize consensus or block production. The RPC layer is a critical component of the end-to-end user experience because it is the interface between the blockchain and its users. Stable proposes a new RPC-dedicated architecture to overcome the limitations of traditional RPC design.
The Remote Procedure Call (RPC) interface is the primary way users interact with the blockchain:
Wallets use RPC to broadcast transactions.
DApps query state via RPC to render UI with on-chain data, to prepare and simulate transactions, fetch logs and events, etc.
Explorers, indexers, and bots all rely on RPC for real-time data.
Even if the blockchain can process transactions at lightning speed and produce blocks rapidly, none of it matters if users experience latency and delays due to a slow RPC. In practice, we often find that RPC is the bottleneck in the overall user experience.Stable’s roadmap toward a high-performance chain explicitly includes RPC optimization as a first-class priority.
Traditionally, an RPC node is simply a repurposed full node with additional RPC endpoints exposed. This means:
Syncing the chain and serving RPC requests occur on the same instance.
To scale RPC, teams must spin up entire new full nodes, triggering resource-heavy operations like state sync and consensus setup.
Consensus, execution, and RPC all share the same CPU, memory, and disk. For example, during a period of high transaction load, if one component is busy, it starves the others, leading to degraded RPC performance.
In addition, traditional RPC architecture treats read-heavy and write-heavy operations in the same architecture. Even though read queries (e.g., eth_getBalance) vastly outnumber write transactions, there is no differentiation in how they are handled. This architecture is inherently inefficient and non-scalable.
One exciting area of ongoing research is dedicated support for EVM view operations (eth_call):
These do not require transaction commitment or state updates.
Execution can happen on lightweight stateless environments using only the current state snapshot.
A specialized RPC node could be designed specifically for these operations, delivering even faster response times and reducing load on primary full nodes.