Typing Fallback Functions: A Semantic Approach to Type Safe Smart Contracts
This paper develops semantic typing in a smart-contract setting to ensure type safety of code that uses statically untypable language constructs, such as the fallback function. The idea is that the creator of a contract on the blockchain equips code containing such constructs with a formal proof of its type safety, given in terms of the semantics of types. Then, a user of the contract only needs to check the validity of the provided ‘proof certificate’ of type safety. This is a form of proof-carrying code, which naturally fits with the immutable nature of the blockchain environment. As a concrete application of our approach, we focus on ensuring information flow control and non-interference for TinySol, a distilled version of the Solidity language, through security types. We provide the semantics of types in terms of a typed operational semantics of TinySol and we express the proofs of safety as coinductively-defined typing interpretations, which can be represented compactly via up-to techniques, similar to those used for bisimilarity. We also show how our machinery can be used to type the typical pointer-to-implementation pattern based on the fallback function and to reject a distilled version of the infamous Parity Multisig Wallet Attack.
Fri 3 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
14:00 - 15:30 | Security & Smart ContractsTechnical Papers at I.2.03 Chair(s): Alejandro Russo Chalmers University of Technology; University of Gothenburg | ||
14:00 22mTalk | Proof-of-Theft: Dynamic Graph-based Fingerprinting of In-browser Cryptomining Technical Papers Tanapoom Sermchaiwong The Hong Kong University of Science and Technology, Jiasi Shen The Hong Kong University of Science and Technology | ||
14:22 22mTalk | Automatic Code and Test Generation of Smart Contracts from Coordination Models Technical Papers Elvis Konjoh Selabi Gran Sasso Science Institute and University of Camerino, Maurizio Murgia Gran Sasso Science Institute, António Ravara Nova University of Lisbon, Emilio Tuosto Gran Sasso Science Institute, L'Aquila, Italy | ||
14:45 22mTalk | Typing Fallback Functions: A Semantic Approach to Type Safe Smart Contracts Technical Papers Stian Lybech Reykjavik University, Daniele Gorla Department of Computer Science, Sapienza University of Rome, Luca Aceto Reykjavik University | ||
15:07 22mTalk | Efficient Symbolic Execution of Software under Fault Attacks Technical Papers Yuzhou Fang University of Southern California, Chenyu Zhou University of Southern California, Jingbo Wang Purdue University, Chao Wang University of Southern California | ||