Highly Available Blockchain Nodes With N-Version Design

03/25/2023
by   Javier Ron, et al.
0

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 availability 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 availability, 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.

READ FULL TEXT
research
08/29/2019

On the Ethereum Blockchain Structure: a Complex Networks Theory Perspective

In this paper, we analyze the Ethereum blockchain using the complex netw...
research
10/03/2020

Ethna: Analyzing the Underlying Peer-to-Peer Network of the Ethereum Blockchain

As the communication infrastructure of the blockchain system, the underl...
research
02/14/2022

The Multi-Billion Dollar Software Supply Chain of Ethereum

The rise of blockchain technologies has triggered tremendous research in...
research
06/20/2020

Using Fault Injection to Assess Blockchain Systems in Presence of Faulty Smart Contracts

Blockchain has become particularly popular due to its promise to support...
research
02/15/2022

A data availability attack on a blockchain protocol based on LDPC codes

In a blockchain Data Availability Attack (DAA), a malicious node publish...
research
05/12/2021

A Systematic Literature Review on Blockchain Governance

Blockchain has been increasingly used as a software component to enable ...

Please sign up or login with your details

Forgot password? Click here to reset