Smart Contract Synthesis Modulo Hyperproperties
Smart Contract Synthesis Modulo Hyperproperties
Norine Coenen,B. Finkbeiner,Jana Hofmann,Julia J. Tillman
TLDR
This paper presents HyperTSL, an extension of TSL for the specification of hyperproperties of infinite-state software, and shows how a synthesis method for smart contracts can ensure that the contract satisfies its desired hyperproperties.
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.
