License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/OASIcs.FMBC.2020.2
URN: urn:nbn:de:0030-drops-134153
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2020/13415/
Hajdu, Ákos ;
Jovanović, Dejan ;
Ciocarlie, Gabriela
Formal Specification and Verification of Solidity Contracts with Events (Short Paper)
Abstract
Events in the Solidity language provide a means of communication between the on-chain services of decentralized applications and the users of those services. Events are commonly used as an abstraction of contract execution that is relevant from the users' perspective. Users must, therefore, be able to understand the meaning and trust the validity of the emitted events. This paper presents a source-level approach for the formal specification and verification of Solidity contracts with the primary focus on events. Our approach allows the specification of events in terms of the on-chain data that they track, and the predicates that define the correspondence between the blockchain state and the abstract view provided by the events. The approach is implemented in solc-verify, a modular verifier for Solidity, and we demonstrate its applicability with various examples.
BibTeX - Entry
@InProceedings{hajdu_et_al:OASIcs:2020:13415,
author = {Ákos Hajdu and Dejan Jovanović and Gabriela Ciocarlie},
title = {{Formal Specification and Verification of Solidity Contracts with Events (Short Paper)}},
booktitle = {2nd Workshop on Formal Methods for Blockchains (FMBC 2020)},
pages = {2:1--2:9},
series = {OpenAccess Series in Informatics (OASIcs)},
ISBN = {978-3-95977-169-6},
ISSN = {2190-6807},
year = {2020},
volume = {84},
editor = {Bruno Bernardo and Diego Marmsoler},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/opus/volltexte/2020/13415},
URN = {urn:nbn:de:0030-drops-134153},
doi = {10.4230/OASIcs.FMBC.2020.2},
annote = {Keywords: Smart contracts, Solidity, events, specification, verification}
}
Keywords: |
|
Smart contracts, Solidity, events, specification, verification |
Collection: |
|
2nd Workshop on Formal Methods for Blockchains (FMBC 2020) |
Issue Date: |
|
2020 |
Date of publication: |
|
11.12.2020 |
Supplementary Material: |
|
https://github.com/SRI-CSL/solidity |