arrow
Return

A security type verifier for smart contracts

delete2021-09-01
delete8
PRE
AI
X
Xinwen Hu *
庄
庄毅 (Yi Zhuang)
S
Shang‐Wei Lin
F
Fuyuan Zhang
S
Shuanglong Kan
曹
曹子宁 (Zining Cao)
DOI:10.1016/j.cose.2021.102343delete
deleteOriginal
deleteShare
deleteSave
Abstract

Abstract

En 中文
The widespread adoption of smart contracts demands strong security guarantees. Our work is motivated by the problem of statically checking potential information tampering in smart contracts. This paper presents a security type verification framework for smart contracts based on type systems. We introduce a formal calculus for reasoning smart contract operations and interactions and design a lightweight type system for checking secure information flow in Solidity (a popular high-level programming language for writing smart contracts). The soundness of our type system is proved w.r.t. non-interference. In addition, a type verifier based on our type system is proposed to assist users to automatically find an optimal secure type assignment for state variables, which makes contracts well-typed. We also prove that finding the optimal secure type assignment is theoretically a NP-complete problem. We develop a prototype implementation of the Solidity Type Verifier (STV) including the Solidity Type Checker (STC) based on the K-framework, and demonstrate its effectiveness on real world smart contracts. (C) 2021 Elsevier Ltd. All rights reserved.
Keywords:
Smart contracts
Information-flow integrity
Type system
Soundness proofs
K-framework

Journal

C
Computers and Security
IF:
5.4
Papers:
4.6K
Citations:
1.4W

Organization

U
university of kaiserslautern
Scholars:
23
Papers: 12
Citations: 0
N
nanyang technological university
Scholars:
2.3K
Papers: 1.1K
Citations: 0
M
Max Planck Society
Scholars:
369
Papers: 140
Citations: 0
researcher View more organizations
Cited Papers

Cited Papers

errShare
errSave
err
IF0
err
err0
PREAI
err
errShare
errSave
errShare
errSave
A Survey of Smart Contract Formal Specification and Verification
err2021-07-18
err94
errOAAI
errTolmach, Palina; Li, Yi; Lin, Shang-Wei; Liu, Yang; Li, Zengxiang
errShare
errSave
errShare
errSave
no more