Research Paper: Chaos Engineering of Ethereum Blockchain Clients

144 views
Skip to first unread message

Long Zhang

unread,
Nov 6, 2021, 6:22:57 PM11/6/21
to Chaos Community
Hi everyone!

TL;DR: I would like to share our recent research paper on chaos engineering here. The title is "Chaos Engineering of Ethereum Blockchain Clients", which could be found here: https://arxiv.org/abs/2111.00221. Welcome to drop your comments!

The Ethereum blockchain is the operational backbone of major decentralized finance platforms. As such, it is expected to be exceptionally reliable. During the talk, I would like to introduce our research work on applying chaos engineering to Ethereum clients for resilience assessment. Our research prototype, ChaosETH, operates in the following manner: First, it monitors Ethereum clients to determine their normal behavior. Then, it injects system call invocation errors into the Ethereum clients and observes the resulting behavior under 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 OpenEthereum. We experiment with 22 different types of system call invocation errors. We assess their impact on the Ethereum clients with respect to 15 application-level metrics. Our results reveal a broad spectrum of resilience characteristics of Ethereum clients in the presence of system call invocation errors, ranging from direct crashes to full resilience. The experiments clearly demonstrate the feasibility of applying chaos engineering principles to blockchains.

Though in the paper we focus on assessing the resilience of Ethereum clients, the concepts of applying chaos engineering at system call invocation level, and resilience benchmarking using chaos engineering can be applied to a broader set of software systems such as cloud-native applications.

For sake of open science, the code of ChaosETH is made publicly available at https://github.com/KTH/royal-chaos/tree/master/chaoseth

The corresponding paper could be founder here: - Chaos Engineering of Ethereum Blockchain Clients

Cheers,
Long

Mikołaj Pawlikowski

unread,
Nov 7, 2021, 12:57:08 PM11/7/21
to Long Zhang, Chaos Community
Awesome, thanks for sharing, Long! I've added it to my queue :)

--
You received this message because you are subscribed to the Google Groups "Chaos Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chaos-communi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/chaos-community/4b22be3c-756b-407b-bfae-716efbde6c9dn%40googlegroups.com.


--
Best regards,
Mikolaj Pawlikowski
+44 747 330 2049

Faiz Ikramulla

unread,
Nov 7, 2021, 1:25:04 PM11/7/21
to Chaos Community
yes, thank you for the share! very interesting!!! KTH is the best!

yury.n...@gmail.com

unread,
Nov 7, 2021, 4:02:02 PM11/7/21
to Chaos Community
Hi Long!

Congratulations! Thank you very much for sharing .. It is great how we can apply chaos almost to any field!
It could be great to contribute with more experiments ... I was wondering that we could apply some escenarios considered in security chaos engineering :)
I am going to try to install ChaosETH on AWS or GCP :) I am not very skilled with Azure.
 
Best regards,
Reply all
Reply to author
Forward
0 new messages