Using Fault Injection to Assess Blockchain Systems in Presence of Faulty Smart Contracts
\'Akos Hajdu, Naghmeh Ivaki, Imre Kocsis, Attila Klenik, L\'aszl\'o, G\"onczy, Nuno Laranjeiro, Henrique Madeira, Andr\'as Pataricza

TL;DR
This paper uses fault injection to evaluate how blockchain systems with smart contracts respond to software faults, highlighting the importance of formal verification and runtime protections for system dependability.
Contribution
It introduces a fault injection approach to assess blockchain dependability and compares the effectiveness of verification and runtime protections in fault detection.
Findings
Formal verification and runtime protections improve fault detection.
Faults in smart contracts can compromise system dependability.
Complementing platform checks with additional protections is necessary.
Abstract
Blockchain has become particularly popular due to its promise to support business-critical services in very different domains (e.g., retail, supply chains, healthcare). Blockchain systems rely on complex middleware, like Ethereum or Hyperledger Fabric, that allow running smart contracts, which specify business logic in cooperative applications. The presence of software defects or faults in these contracts has notably been the cause of failures, including severe security problems. In this paper, we use a software implemented fault injection (SWIFI) technique to assess the behavior of permissioned blockchain systems in the presence of faulty smart contracts. We emulate the occurrence of general software faults (e.g., missing variable initialization) and also blockchain-specific software faults (e.g., missing require statement on transaction sender) in smart contracts code to observe the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
