0/5
# Welcome to the Course Hey there! Welcome back to the EVM opcodes, formal verification, and symbolic execution course. Now with Math masters section. **Starting Point** Everything kicks off in our [GitHub](https://github.com/Cyfrin/assembly-evm-opcodes-and-formal-verification-course?tab=readme-ov-file#section-2-introduction-to-formal-verification--symbolic-execution--math-master) repository. Whether you're here via Cyfrin or YouTube, that's where you'll find what you need. It’s straightforward—discussion forums, course materials, and a way to connect with others in the course. ## Into Formal Verification and Symbolic Execution ### Math Master Audit We're diving into formal verification and symbolic execution with a practical challenge: the Math Master audit. It's tough, no sugar-coating it. Certora and Halmos, the tools we'll tackle, are not simple, but getting through this means gaining some serious skills in smart contract security. ### Hands-On with Auditing You'll get hands-on experience auditing the Math Master library, a smart contract focused on arithmetic for fixed-point numbers. You'll scrutinize a concise codebase, heavily reliant on assembly and low-level `Yul`, containing functions designed for operations with fixed-point numbers. Among these, the `mulwad` and `mulWadUp` functions stand out, alongside a particularly complex square root function—a dense assembly code chunk ripe for bug hunting. Basically Math masters is a library to make math calculations easier. ### Learning Formal Verification Tools We'll introduce you to formal verification tools like Halmos and Certora, essential for finding bugs that other methods might miss. ### Advancing Your Skills As the course progresses, your skills in formal verification will deepen. This isn’t just about learning; it’s about becoming part of a select group with advanced knowledge in smart contract security and auditing. So we you hope you are ready, because we are just getting stated!
A practical introduction to formal verification and symbolic execution - This lesson is focused on introducing the concept of formal verification and symbolic execution as applied to smart contracts. Using a code base for a math library, we walk through an initial audit and then explore the use of the Certora tool to test for bugs.
Previous lesson
Previous
Next lesson
Next
Give us feedback
Course Overview
About the course
Assembly
Writing smart contracts using Huff and Yul
Ethereum Virtual Machine OPCodes
Formal verification testing
Smart contract invariant testing
Halmos, Certora, Kontrol
Security researcher
$49,999 - $120,000 (avg. salary)
Smart Contract Auditor
$100,000 - $200,000 (avg. salary)
Guest lecturers:
Josselin Feist
Head of Blockchain at Trail of Bits
Last updated on January 17, 2025
Solidity Developer
Assembly and Formal VerificationDuration: 30min
Duration: 4h 38min
Duration: 3h 57min
Duration: 1h 56min
Course Overview
About the course
Assembly
Writing smart contracts using Huff and Yul
Ethereum Virtual Machine OPCodes
Formal verification testing
Smart contract invariant testing
Halmos, Certora, Kontrol
Security researcher
$49,999 - $120,000 (avg. salary)
Smart Contract Auditor
$100,000 - $200,000 (avg. salary)
Guest lecturers:
Josselin Feist
Head of Blockchain at Trail of Bits
Last updated on January 17, 2025
Testimonials
Read what our students have to say about this course.
Chainlink
Chainlink
Gustavo Gonzalez
Solutions Engineer at OpenZeppelin
Francesco Andreoli
Lead Devrel at Metamask
Albert Hu
DeForm Founding Engineer
Radek
Senior Developer Advocate at Ceramic
Boidushya
WalletConnect
Idris
Developer Relations Engineer at Axelar