Pre-Requisitos
Ter familiaridade com uma linguagem de programação será muito benéfico. Fazemos um curso intensivo sobre Solidity partindo do pressuposto de que os alunos não terão conhecimento prévio do idioma.
Ter conhecimento prévio de tópicos relacionados à criptografia, como o que torna um blockchain um blockchain, será benéfico, mas não obrigatório, pois cobriremos todos os requisitos básicos de conhecimento na aula.
Conteúdo Programatico
Web3 Foundamentals
Os participantes compreenderão aos fundamentos dos blockchain e do Ethereum.
- Blockchain Fundamentals
- Introduction to Ethereum
- EVM and its Role in Ethereum
- Learning Solidity
- Wallets and Testnets
- Using the Remix IDE
- Group Exercise
- CTF Challenge
Smart Contracts and Vulnerability Research VR
Os participantes aprenderão sobre as classes de vulnerabilidades em contratos inteligentes e o fluxo de trabalho de VR para encontrar bugs no código.
- Why Use a Blockchain/Ethereum?
- Smart Contract Deployment and Storage
- Exploiting Reentrancy
- Traditional VR Techniques
- Static Analysis
- Group Exercise
- CTF Challenge
Hack Reproduction
Os exercícios se concentrarão na produção de hacks historicos e na explicação das vulneravilidades subjacentes que os tornam prossiveis
- Proxies
- Parity Hack 1
- Parity Hack 2
- AAVE Delegatecall Hack
- Fuzzing With Echidna
- MEV and Flashbots
- CTF Challenge
Hack Reproduction and Advanced
Os alunos reproduzirão mais hacks históricos e se aprofundarão nas vulnerabilidades subjacentes.
- POAP Distribution
- ERC20 Tokens
- RUNE Hack/Phishing
- Olympus DAO Hack
- EMN Flashswap
- Review of CTF Challenges
- Final Questions (about topics covered or not covered in the class)