Saved in:
Bibliographic Details
Main Authors: Aceto, Luca, Gorla, Daniele, Lybech, Stian
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2405.12976
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866909657696567296
author Aceto, Luca
Gorla, Daniele
Lybech, Stian
author_facet Aceto, Luca
Gorla, Daniele
Lybech, Stian
contents In this paper we focus on TinySol, a minimal calculus for Solidity smart contracts, introduced by Bartoletti et al. We start by rephrasing its syntax (to emphasise its object-oriented flavour) and give a new big-step operational semantics. We then use it to define two security properties, namely call integrity and noninterference. These two properties have some similarities in their definition, in that they both require that some part of a program is not influenced by the other part. However, we show that the two properties are actually incomparable. Nevertheless, we provide a type system for noninterference and show that well-typed programs satisfy call integrity as well; hence, programs that are accepted by our type system satisfy both properties. We finally discuss the practical usability of the type system and its limitations by means of some simple examples.
format Preprint
id arxiv_https___arxiv_org_abs_2405_12976
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle A Sound Type System for Secure Currency Flow
Aceto, Luca
Gorla, Daniele
Lybech, Stian
Programming Languages
In this paper we focus on TinySol, a minimal calculus for Solidity smart contracts, introduced by Bartoletti et al. We start by rephrasing its syntax (to emphasise its object-oriented flavour) and give a new big-step operational semantics. We then use it to define two security properties, namely call integrity and noninterference. These two properties have some similarities in their definition, in that they both require that some part of a program is not influenced by the other part. However, we show that the two properties are actually incomparable. Nevertheless, we provide a type system for noninterference and show that well-typed programs satisfy call integrity as well; hence, programs that are accepted by our type system satisfy both properties. We finally discuss the practical usability of the type system and its limitations by means of some simple examples.
title A Sound Type System for Secure Currency Flow
topic Programming Languages
url https://arxiv.org/abs/2405.12976