Abstract
The notion of smart contracts in distributed ledger systems have been hailed as a safe way of enforcing contracts between participating parties. However, unlike legal contracts, which talk about ideal behaviour and consequences of not adhering to such behaviour, smart contracts are by their very nature executable code, giving explicit instructions on how to achieve compliance. Executable specification languages, particularly Turing complete ones, are notoriously known for the difficulty of ensuring correctness, and recent incidents which led to huge financial losses due to bugs in smart contracts, have highlighted this issue. In this paper we show how standard techniques from runtime verification can be used in the domain of smart contracts, including a novel stake-based instrumentation technique which ensures that the violating party provides insurance for correct behaviour. The techniques we describe have been partially implemented in a proof-of-concept tool ContractLarva, which we discuss in this paper.
Author supplied keywords
Cite
CITATION STYLE
Ellul, J., & Pace, G. J. (2018). Runtime Verification of Ethereum Smart Contracts. In Proceedings - 2018 14th European Dependable Computing Conference, EDCC 2018 (pp. 158–163). Institute of Electrical and Electronics Engineers Inc. https://doi.org/10.1109/EDCC.2018.00036
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.