arXiv · 2111.00221
Chaos Engineering of Ethereum Blockchain Clients
Abstract
In this paper, we present ChaosETH, a chaos engineering approach for resilience assessment of Ethereum blockchain clients. ChaosETH operates in the following manner: First, it monitors Ethereum clients to determine their normal behavior. Then, it injects system call invocation errors into one single Ethereum client at a time, and observes the behavior resulting from perturbation. Finally, ChaosETH compares the behavior recorded before, during, and after perturbation to assess the impact of the injected system call invocation errors. The experiments are performed on the two most popular Ethereum client implementations: GoEthereum and Nethermind. We assess the impact of 22 different system call errors on those Ethereum clients with respect to 15 application-level metrics. Our results reveal a broad spectrum of resilience characteristics of Ethereum clients w.r.t. system call invocation errors, ranging from direct crashes to full resilience. The experiments clearly demonstrate the feasibility of applying chaos engineering principles to blockchain systems.
Explore related subjects
Keep this discovery
Long Zhang, Javier Ron, Benoit Baudry, Martin Monperrus. 2021-10-30. Chaos Engineering of Ethereum Blockchain Clients. https://doi.org/10.1145/3611649
Cite the original work for its findings. Save a collection to share your selection of sources.