Safe evolution of smart contracts - Sampaio, Augusto; Antonino, Pedro; Ferreira, Juliandson; Arruda, Filipe; Roscoe, A. W. (Anais do Colóquio em Blockchain e Web Descentralizada (CBlockchain); 2023: Anais do I Colóquio em Blockchain e Web Descentralizada, 2023)
We present a framework that supports the safe deployment and upgrade of smart contracts based on the design-by-contract paradigm. The starting point is an interface specification with invariants and pre- and postconditions for each function. The first deployed smart contract must conform to this specification. Specification evolution might involve both changing the data representation as well as extending the interface with new functions, provided the evolved specification is a refinement of the original one. Implementation evolution must conform to the corresponding specification. We report on the applicability of the framework in the verification of smart contracts that implement some Ethereum standards.