Semantic understanding of smart contracts: Executable operational semantics of solidity

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 (Ethe...

Full description

Saved in:
Bibliographic Details
Main Authors: JIAO, Jiao, KAN, Shuanglong, LIN, Shang Wei, SANAN, David, LIU, Yang, SUN, Jun
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2020
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/5968
https://ink.library.smu.edu.sg/context/sis_research/article/6971/viewcontent/Semantic_Understanding_of_Smart_Contracts_av.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-6971
record_format dspace
spelling sg-smu-ink.sis_research-69712021-05-27T08:16:31Z Semantic understanding of smart contracts: Executable operational semantics of solidity JIAO, Jiao KAN, Shuanglong LIN, Shang Wei SANAN, David LIU, Yang SUN, Jun 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 loss. Furthermore, smart contracts are very hard, if not impossible, to patch once they are deployed. Thus, there is a recent surge of interest in analyzing and verifying smart contracts. While most of the existing works either focus on EVM bytecode or translate Solidity smart contracts into programs in intermediate languages, we argue that it is important and necessary to understand and formally define the semantics of Solidity since programmers write and reason about smart contracts at the level of source code. In this work, we develop a formal semantics for Solidity which provides a formal specification of smart contracts to define semantic-level security properties for the high-level verification. Furthermore, the proposed semantics defines correct and secure high-level execution behaviours of smart contracts to reason about compiler bugs and assist developers in writing secure smart contracts. 2020-05-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/5968 info:doi/10.1109/SP40000.2020.00066 https://ink.library.smu.edu.sg/context/sis_research/article/6971/viewcontent/Semantic_Understanding_of_Smart_Contracts_av.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Bitcoin Computer programming languages Ethereum Finance and Financial Management Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Bitcoin
Computer programming languages
Ethereum
Finance and Financial Management
Software Engineering
spellingShingle Bitcoin
Computer programming languages
Ethereum
Finance and Financial Management
Software Engineering
JIAO, Jiao
KAN, Shuanglong
LIN, Shang Wei
SANAN, David
LIU, Yang
SUN, Jun
Semantic understanding of smart contracts: Executable operational semantics of solidity
description 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 loss. Furthermore, smart contracts are very hard, if not impossible, to patch once they are deployed. Thus, there is a recent surge of interest in analyzing and verifying smart contracts. While most of the existing works either focus on EVM bytecode or translate Solidity smart contracts into programs in intermediate languages, we argue that it is important and necessary to understand and formally define the semantics of Solidity since programmers write and reason about smart contracts at the level of source code. In this work, we develop a formal semantics for Solidity which provides a formal specification of smart contracts to define semantic-level security properties for the high-level verification. Furthermore, the proposed semantics defines correct and secure high-level execution behaviours of smart contracts to reason about compiler bugs and assist developers in writing secure smart contracts.
format text
author JIAO, Jiao
KAN, Shuanglong
LIN, Shang Wei
SANAN, David
LIU, Yang
SUN, Jun
author_facet JIAO, Jiao
KAN, Shuanglong
LIN, Shang Wei
SANAN, David
LIU, Yang
SUN, Jun
author_sort JIAO, Jiao
title Semantic understanding of smart contracts: Executable operational semantics of solidity
title_short Semantic understanding of smart contracts: Executable operational semantics of solidity
title_full Semantic understanding of smart contracts: Executable operational semantics of solidity
title_fullStr Semantic understanding of smart contracts: Executable operational semantics of solidity
title_full_unstemmed Semantic understanding of smart contracts: Executable operational semantics of solidity
title_sort semantic understanding of smart contracts: executable operational semantics of solidity
publisher Institutional Knowledge at Singapore Management University
publishDate 2020
url https://ink.library.smu.edu.sg/sis_research/5968
https://ink.library.smu.edu.sg/context/sis_research/article/6971/viewcontent/Semantic_Understanding_of_Smart_Contracts_av.pdf
_version_ 1770575708231303168