Abstract
In this article, 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.
Author supplied keywords
Cite
CITATION STYLE
Zhang, L., Ron, J., Baudry, B., & Monperrus, M. (2023). Chaos Engineering of Ethereum Blockchain Clients. Distributed Ledger Technologies, 2(3). https://doi.org/10.1145/3611649
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.