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.
History
Primary Research Area
Reliable Security Guarantees
Open Access Type
Green
BibTeX
@misc{Coenen:Finkbeiner:Hofmann:Tillman:2022,
title = "Smart Contract Synthesis Modulo Hyperproperties",
author = "Coenen, Norine" AND "Finkbeiner, Bernd" AND "Hofmann, Jana" AND "Tillman, Julia",
year = 2022,
month = 8,
doi = "10.48550/arxiv.2208.07180"
}