2020 IEEE Symposium on Security and Privacy (SP) 2020
DOI: 10.1109/sp40000.2020.00066
|View full text |Cite
|
Sign up to set email alerts
|

Semantic Understanding of Smart Contracts: Executable Operational Semantics of Solidity

Abstract: Bitcoin has been a popular research topic recently. Ethereum (ETH), a second generation of 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 and secure smart contracts is challenging due to the decentralized computation nature of the blockchain. Buggy smart contracts may lead to huge financial lo… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
29
0

Year Published

2020
2020
2022
2022

Publication Types

Select...
5
1
1

Relationship

1
6

Authors

Journals

citations
Cited by 56 publications
(29 citation statements)
references
References 41 publications
0
29
0
Order By: Relevance
“…Formal analysis, as an important tool of blockchain security analysis, has become quite mature. J Jiao et al 19 designed a formal specification for Ethereum smart contract to define semantic-level security attributes for advanced verification. Gleb Naumenko et al 20 designed a new transaction propagation protocol for bitcoin, which improved the security of bitcoin network.…”
Section: Related Workmentioning
confidence: 99%
“…Formal analysis, as an important tool of blockchain security analysis, has become quite mature. J Jiao et al 19 designed a formal specification for Ethereum smart contract to define semantic-level security attributes for advanced verification. Gleb Naumenko et al 20 designed a new transaction propagation protocol for bitcoin, which improved the security of bitcoin network.…”
Section: Related Workmentioning
confidence: 99%
“…The more general goal of verifying smart contracts in various senses has become too big an industry to survey here [31]. Jiao et al [23] and Ribeiro et al [28] verify programs written in a subset of Solidity with respect to a high-level description of the semantics, and Bhargavan et al [11] verify smart contracts written in Solidity by translating them to F ★ . Annenkov et al [6] provide means of defining and verifying smart contracts in Coq and then extracting code for various blockchain platforms.…”
Section: Related Workmentioning
confidence: 99%
“…In this work, we adopt and extend the K semantics for Java [24] and Solidity [34,44] to implement SpecTest. The K semantics for Solidity, called KSolidity, has currently 304 rules.…”
Section: The Oraclementioning
confidence: 99%
“…As seed programs, we used existing tests cases of K-Java [24] and KSolidity [34,44]. KSolidity is still under development, which means that we could not test all features or a large set of contracts, but it was already sufficiently developed to support many interesting cases.…”
Section: Test Settingmentioning
confidence: 99%
See 1 more Smart Citation