Formal Specification and Verification of Solidity Contracts with Events

05/20/2020
by   Ákos Hajdu, et al.
0

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 specification of events in terms of the on-chain data that they track, and 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/06/2020

A Survey of Smart Contract Formal Specification and Verification

A smart contract is a computer program which allows users to define and ...
research
11/17/2022

Towards Trace-based Deductive Verification (Tech Report)

Contracts specifying a procedure's behavior in terms of pre- and postcon...
research
03/11/2022

Formalising Decentralised Exchanges in Coq

The number of attacks and accidents leading to significant losses of cry...
research
09/27/2020

The Remaining Improbable: Toward Verifiable Network Services

The trustworthiness of modern networked services is too important to lea...
research
09/20/2021

Money grows on (proof-)trees: the formal FA1.2 ledger standard

Once you have invented digital money, you may need a ledger to track who...
research
10/23/2018

Pluralize: a Trustworthy Framework for High-Level Smart Contract-Draft

The paper presents Pluralize a formal logical framework able to extend t...
research
06/07/2018

POTs: The revolution will not be optimized?

Optimization systems infer, induce, and shape events in the real world t...

Please sign up or login with your details

Forgot password? Click here to reset