Smart Contract Synthesis Modulo Hyperproperties
Preprint
Abstract
Smart contracts are small but highly security-critical programs that implement wallets, token systems, auctions, crowd funding systems, elections, and other multi-party transactions on the blockchain. A broad range of methods has been developed to ensure that a smart contract is functionally correct. However, smart contracts often additionally need to satisfy certain hyperproperties, such as symmetry, determinism, or an information flow policy. In this paper, we show how a synthesis method for smart contracts can ensure that the contract satisfies its desired hyperproperties. We build on top of a recently developed synthesis approach from specifications in the temporal logic TSL. We present HyperTSL, an extension of TSL for the specification of hyperproperties of infinite-state software. As a preprocessing step, we show how to detect if a hyperproperty has an equivalent formulation as a (simpler) trace property. Finally, we describe how to refine a synthesized contract to adhere to its HyperTSL specification.Keywords
All Related Versions
This publication has 23 references indexed in Scilit:
- Reactive Synthesis of Smart Contract Control Flows2023
- Temporal Stream Logic modulo Theories2022
- A Temporal Logic for Asynchronous Hyperproperties2021
- Formal Verification of Workflow Policies for Smart Contracts in Azure Blockchain2020
- Synthesis from hyperpropertiesActa Informatica, 2019
- Program Repair for Hyperproperties2019
- Designing Secure Ethereum Smart Contracts: A Finite State Machine Based Approach2018
- A Semantic Framework for the Security Analysis of Ethereum Smart Contracts2018
- The nuXmv Symbolic Model Checker2014
- Temporal Logics for Hyperproperties2014