Highly Available Blockchain Nodes With N-Version Design


Details
Speaker
Javier Ron Arteaga
Abstract
As all software, blockchain nodes are exposed to
faults in their underlying execution stack. Unstable execution
environments can disrupt the availability of blockchain nodes
interfaces, resulting in downtime for users. This paper introduces
the concept of N-version Blockchain nodes. This new type of node
relies on simultaneous execution of different implementations of
the same blockchain protocol, in the line of Avizienis’ N-version
programming vision. We design and implement an N-version
blockchain node prototype in the context of Ethereum, called
N-ETH. We show that N-ETH is able to mitigate the effects of
unstable execution environments and significantly enhance avail-
ability under environment faults. To simulate unstable execution
environments, we perform fault injection at the system-call level.
Our results show that existing Ethereum node implementations
behave asymmetrically under identical instability scenarios. N-
ETH leverages this asymmetric behavior available in the diverse
implementations of Ethereum nodes to provide increased avail-
ability, even under our most aggressive fault-injection strategies.
We are the first to validate the relevance of N-version design
in the domain of blockchain infrastructure. From an industrial
perspective, our results are of utmost importance for businesses
operating blockchain nodes, including Google, ConsenSys, and
many other major blockchain companies.
Bio
Javier Ron is a PhD student at KTH, his research focus is
on software dependability, blockchain infrastructure, and
N-version design.
---
Attend in person, or online at https://kth-se.zoom.us/j/66050844902

Highly Available Blockchain Nodes With N-Version Design