pith. machine review for the scientific record. sign in

arxiv: 1804.01295 · v1 · submitted 2018-04-04 · 💻 cs.PL

Recognition: unknown

Executable Operational Semantics of Solidity

Authors on Pith no claims yet
classification 💻 cs.PL
keywords contractssmartsemanticssolidityallowsbitcoindesigndevelop
0
0 comments X
read the original abstract

Bitcoin has attracted everyone's attention and interest recently. Ethereum (ETH), a second generation cryptocurrency, extends Bitcoin's design by offering a Turing-complete programming language called Solidity to develop smart contracts. Smart contracts allow creditable execution of contracts on EVM (Ethereum Virtual Machine) without third parties. Developing correct smart contracts is challenging due to its decentralized computation nature. Buggy smart contracts may lead to huge financial loss. Furthermore, smart contracts are very hard, if not impossible, to patch once they are deployed. Thus, there is a recent surge of interest on analyzing/verifying smart contracts. While existing work focuses on EVM opcode, we argue that it is equally important to understand and define the semantics of Solidity since programmers program and reason about smart contracts at the level of source code. In this work, we develop the structural operational semantics for Solidity, which allows us to identify multiple design issues which underlines many problematic smart contracts. Furthermore, our semantics is executable in the K framework, which allows us to verify/falsify contracts automatically.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Forward citations

Cited by 1 Pith paper

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score.

  1. From Monolithic to Compositional: A Compositional Operational Semantics for Crystality

    cs.PL 2026-04 unverdicted novelty 6.0

    A new compositional operational semantics for Crystality is defined and shown equivalent to the monolithic version through transaction-level and code-level bisimulation theorems, enabling proofs of key structural properties.