SPLASH 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
Thu 21 Oct 2021 07:40 - 07:55 at Zurich B - Smart Contracts and Distributed Programming - mirror Chair(s): Patrick Eugster
Thu 21 Oct 2021 15:40 - 15:55 at Zurich B - Smart Contracts and Distributed Programming Chair(s): Mohsen Lesani

Smart contracts are programs that execute in blockchains such as Ethereum to manipulate digital assets. Since bugs in smart contracts may lead to substantial financial losses, there is considerable interest in formally proving their correctness. However, the specification and verification of smart contracts faces challenges that rarely arise in other application domains. Smart contracts frequently interact with unverified, potentially adversarial outside code, which substantially weakens the assumptions that formal analyses can (soundly) make. Moreover, the core functionality of smart contracts is to manipulate and transfer resources; describing this functionality concisely requires dedicated specification support. Current reasoning techniques do not fully address these challenges, being restricted in their scope or expressiveness (in particular, in the presence of re-entrant calls), and offering limited means of expressing the resource transfers a contract performs.

In this paper, we present a novel specification methodology tailored to the domain of smart contracts. Our specifications and associated reasoning technique are the first to enable: (1) sound and precise reasoning in the presence of unverified code and arbitrary re-entrancy, (2) modular reasoning about collaborating smart contracts, and (3) domain-specific specifications for resources and resource transfers, expressing a contract's behaviour in intuitive and concise ways and excluding typical errors by default.
We have implemented our approach in 2vyper, an SMT-based automated verification tool for Ethereum smart contracts written in Vyper, and demonstrated its effectiveness for verifying strong correctness guarantees for real-world contracts.

Thu 21 Oct

Displayed time zone: Central Time (US & Canada) change

07:40 - 09:00
Smart Contracts and Distributed Programming - mirrorOOPSLA at Zurich B
Chair(s): Patrick Eugster USI Lugano; Purdue University
07:40
15m
Talk
Rich Specifications for Ethereum Smart Contract VerificationVirtual
OOPSLA
Christian Bräm ETH Zurich, Marco Eilers ETH Zurich, Peter Müller ETH Zurich, Robin Sierra ETH Zurich, Alexander J. Summers University of British Columbia
DOI
07:55
15m
Talk
Symbolic Value-Flow Static Analysis: Deep, Precise, Complete Modeling of Ethereum Smart ContractsVirtual
OOPSLA
Yannis Smaragdakis University of Athens, Neville Grech University of Malta, Sifis Lagouvardos University of Athens, Konstantinos Triantafyllou University of Athens, Ilias Tsatiris University of Athens
DOI
08:10
15m
Talk
ECROs: Building Global Scale Systems from Sequential CodeVirtual
OOPSLA
Kevin De Porre Vrije Universiteit Brussel, Carla Ferreira NOVA School of Science and Technology, Nuno Preguica NOVA School of Science and Technology, Elisa Gonzalez Boix Vrije Universiteit Brussel
DOI
08:25
15m
Talk
Durable Functions: Semantics for Stateful ServerlessIn-Person
OOPSLA
Sebastian Burckhardt Microsoft Research, Chris Gillum Microsoft Azure, David Justo Microsoft Azure, Konstantinos Kallas University of Pennsylvania, Connor McMahon Microsoft Azure, Christopher S. Meiklejohn Carnegie Mellon University
DOI
08:40
20m
Live Q&A
Discussion, Questions and Answers
OOPSLA

15:40 - 17:00
Smart Contracts and Distributed ProgrammingOOPSLA at Zurich B -8h
Chair(s): Mohsen Lesani University of California at Riverside
15:40
15m
Talk
Rich Specifications for Ethereum Smart Contract VerificationVirtual
OOPSLA
Christian Bräm ETH Zurich, Marco Eilers ETH Zurich, Peter Müller ETH Zurich, Robin Sierra ETH Zurich, Alexander J. Summers University of British Columbia
DOI
15:55
15m
Talk
Symbolic Value-Flow Static Analysis: Deep, Precise, Complete Modeling of Ethereum Smart ContractsVirtual
OOPSLA
Yannis Smaragdakis University of Athens, Neville Grech University of Malta, Sifis Lagouvardos University of Athens, Konstantinos Triantafyllou University of Athens, Ilias Tsatiris University of Athens
DOI
16:10
15m
Talk
ECROs: Building Global Scale Systems from Sequential CodeVirtual
OOPSLA
Kevin De Porre Vrije Universiteit Brussel, Carla Ferreira NOVA School of Science and Technology, Nuno Preguica NOVA School of Science and Technology, Elisa Gonzalez Boix Vrije Universiteit Brussel
DOI
16:25
15m
Talk
Durable Functions: Semantics for Stateful ServerlessIn-Person
OOPSLA
Sebastian Burckhardt Microsoft Research, Chris Gillum Microsoft Azure, David Justo Microsoft Azure, Konstantinos Kallas University of Pennsylvania, Connor McMahon Microsoft Azure, Christopher S. Meiklejohn Carnegie Mellon University
DOI
16:40
20m
Live Q&A
Discussion, Questions and Answers
OOPSLA