Verification of Smart Contracts in the Blockchain (89400)

Yoni Zohar
Department of Computer Science
Bar-Ilan University

Technical Details

Time and Location

Grading

Potential Papers

Smart Contracts Languages and Vulnerabilities

  1. Ethereum: A secure decentralised generalised transaction ledger (Yellow Paper). Garvin Wood.
  2. A survey of attacks on Ethereum smart contracts. Nicola Atzei, Massimo Bartoletti, and Tiziana Cimoli
  3. Move: A Language With Programmable Resources. Blackshear et al.

Verification of Software

  1. Chapters 1.1 -- 1.3, 2.1 -- 2.3, 3.1 -- 3.6 in the book "The Calculus of Computation". Aaron Bradley and Zohar Manna
  2. Chapters 12.1 -- 12.3 in the book "Decision Procedures: An Algorithmic Point of View". Daniel Kroening and Ofer Strichman
  3. A Polymorphic Intermediate Verification Language: Design and Logical Encodings. Leino and Rummer

Verification of Smart Contracts

  1. Making Smart Contracts Smarter. Luu, Chu, Olickel et al.
  2. Demystifying Loops in Smart Contracts. Mariano et al.
  3. KEVM: A Complete Formal Semantics of the Ethereum Virtual Machine. Hildenbrandt, Saxena, Rodrigues et al.
  4. Securify: Practical Security Analysis of Smart Contracts. Tsankov et al.
  5. Proof-Carrying Smart Contracts. Dickerson, Gazzillo, Herlihy, Saraph, Koskinen
  6. Formal Verification of Workflow Policies for Smart Contracts in Azure Blockchain. Wang, Lahiri, Chen et al.
  7. SMT-Friendly Formalization of the Solidity Memory Model. Hajdu and Jovanovic
  8. The Move Prover. Zhong et al.
  9. SolCMC: Solidity Compiler's Model Checker. Alt et al.
  10. Accurate Smart Contract Verification through Direct Modelling. Marescotti1, Otoni1, Alt et al.
  11. Overapproximation of Non-linear Integer Arithmetic for Smart Contract Verification. Petra Hozzová, Jaroslav Bendík, Alexander Nutz and Yoav Rodeh

Other Papers

If you would like to present a paper that is not in the above list but is related to the seminar, that is probably fine. Feel free to suggest it to me via email.

Schedule

Date Lesson # Lecturer(s) Paper(s)
05.05.24 1 Yoni Introduction slides
12.05.24 2 Osnat Ethereum: A secure decentralised generalised transaction ledger (Yellow Paper). Garvin Wood.
Slides
More resources: 1 2 3
19.05.24 3 Omer and Daniel A survey of attacks on Ethereum smart contracts. Nicola Atzei, Massimo Bartoletti, and Tiziana Cimoli
slides
26.05.24 4 Semyon and Idan Chapters 1.1 -- 1.3, 2.1 -- 2.3, 3.1 -- 3.6 in the book "The Calculus of Computation". Aaron Bradley and Zohar Manna
slides array.ml list.ml
02.06.24 5 Adi and Yali Move: A Language With Programmable Resources. Blackshear et al. slides
09.06.24 6 Safwan and Bar Chapters 12.1 -- 12.3 in the book "Decision Procedures: An Algorithmic Point of View". Daniel Kroening and Ofer Strichman slides 1 slides 2
16.06.24 7 Alon and Ishay Securify: Practical Security Analysis of Smart Contracts. Tsankov et al. slides
23.06.24 8 Shachaf and Sally Demystifying Loops in Smart Contracts. Mariano et al. slides
30.06.24 9 Daniel and Yehonatan Making Smart Contracts Smarter. Luu, Chu, Olickel et al. slides
07.07.24 10 Yoni Summary