REVIEW 2 cited by
Executable Operational Semantics of Solidity
Not yet reviewed by Pith; the record is open.
This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.
SPECIMEN: schema-true, not a live event
T0 review · schema-true
One-sentence machine reading of the paper's core claim.
pith:XXXXXXXX · record.json · timestamp
Signed reviews
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.
Forward citations
Cited by 2 Pith papers
-
Operational Semantics for Crystality: A Smart Contract Language for Parallel EVMs
The paper gives the first structural operational semantics for the parallel smart contract language Crystality and a claimed Coq formalization, but ships neither a complete rule set nor the verification artifact.
-
A minimal core calculus for Solidity contracts
A minimal calculus for Solidity-like smart contracts is defined with formal semantics, and shown on examples to reproduce reentrancy behavior.
Discussion (0). Continue with ORCID to comment.