2018 IEEE 31st Computer Security Foundations Symposium (CSF) 2018
DOI: 10.1109/csf.2018.00022
|View full text |Cite
|
Sign up to set email alerts
|

KEVM: A Complete Formal Semantics of the Ethereum Virtual Machine

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

1
273
0
1

Year Published

2018
2018
2024
2024

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 339 publications
(275 citation statements)
references
References 12 publications
1
273
0
1
Order By: Relevance
“…Existing techniques for smart contract security can be roughly categorized into various categories, including static approaches for finding vulnerable patterns, formal verification techniques, and runtime checking. In addition, there has been work on formalizing the semantics of EVM in a formal language such as the K Framework [20]. Finally, there are several works that discuss a survey and taxonomy of vulnerabilities in smart contracts [13], [26], [28].…”
Section: Related Workmentioning
confidence: 99%
“…Existing techniques for smart contract security can be roughly categorized into various categories, including static approaches for finding vulnerable patterns, formal verification techniques, and runtime checking. In addition, there has been work on formalizing the semantics of EVM in a formal language such as the K Framework [20]. Finally, there are several works that discuss a survey and taxonomy of vulnerabilities in smart contracts [13], [26], [28].…”
Section: Related Workmentioning
confidence: 99%
“…Grishchenko et al [20] extend this work by providing a complete small step semantics for EVM. Kevm [22] provides an executable formal semantics of EVM in the K framework. Hirai [23] formalizes EVM in Lem, a language used by some interactive theorem provers.…”
Section: Related Workmentioning
confidence: 99%
“…Early approaches to verification of Ethereum smart contracts focused mostly on formalizing the low-level virtual machine precisely (see, e.g., [11,20,22,23,2]). However, the unnecessary details of the EVM execution model make it difficult to reason about high-level functional properties of contracts (as they were written by developers) in an effective and automated way.…”
mentioning
confidence: 99%
“…Mitigations of such vulnerabilities can be done by code analysis tools [101], [133], respecting best practices [126], [134], utilizing known design patterns [141], audits, and testing. Various approaches are used for source code analysis, such as linters [133], [109], [46], fuzzers [73], semantic-based program verifiers [68], and other symbolic code analyzers [135] often using control flowgraph techniques. Note that source code of contracts is often not public in contrast to their bytecode.…”
Section: B Smart Contractsmentioning
confidence: 99%