Highly Available Blockchain Nodes With N-Version Design
【Author】 Ron, Javier; Soto-Valero, Cesar; Zhang, Long; Baudry, Benoit; Monperrus, Martin
【Source】IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING
【影响因子】6.791
【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 article 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.
【Keywords】Blockchains; Peer-to-peer computing; Software; Programming; Prototypes; Computer architecture; Time factors; N-version design; blockchain; availability
【发表时间】2024 JUL-AUG
【收录时间】2024-08-12
【文献类型】实验仿真
【主题类别】
区块链技术-核心技术-区块链节点
评论