Is My RPC Response Reliable? Detecting RPC Bugs in Ethereum Blockchain Client under Context
Zhijie Zhong, Yuhong Nan, Mingxi Ye, Qing Xue, Jiashui Wang, Xinlei Ying, Long Liu, Zibin Zheng

TL;DR
This paper introduces EthCRAFT, a context-aware fuzzing tool that detects RPC bugs in Ethereum blockchain clients by generating context-specific RPC calls, leading to the discovery of new bugs and improving client reliability.
Contribution
EthCRAFT is the first tool to generate context-aware RPC calls based on blockchain state transitions, effectively detecting context-dependent RPC bugs in Ethereum clients.
Findings
EthCRAFT outperforms existing RPC bug detectors in detecting more bugs.
Six new RPC bugs were discovered in major Ethereum clients.
Three bugs reported by EthCRAFT received vulnerability bounties.
Abstract
Blockchain clients are fundamental software for running blockchain nodes. They provide users with various RPC (Remote Procedure Call) interfaces to interact with the blockchain. These RPC methods are expected to follow the same specification across different blockchain nodes, providing users with seamless interaction. However, there have been continuous reports on various RPC bugs that can cause unexpected responses or even Denial of Service weakness. Existing studies on blockchain RPC bug detection mainly focus on generating the RPC method calls for testing blockchain clients. However, a wide range of the reported RPC bugs are triggered in various blockchain contexts. To the best of our knowledge, little attention is paid to generating proper contexts that can trigger these context-dependent RPC bugs. In this work, we propose EthCRAFT, a Context-aware RPC Analysis and Fuzzing Tool…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Distributed systems and fault tolerance · Security and Verification in Computing
