Как вкатиться в смарт контракты? V2.0
Итак, вы решили разобраться, что же происходит у нас в крипте. Откуда такие баунти, что изучать и как разговаривать на одном языке с EVM Blockchain Senior DeFi Smart-Contract Demolisher.
Шаг 1
Для начала надо понимать, что такое вообще криптовалюта. Почему она так называется, причем тут криптография и все остальное. Читаем книжку Mastering Blockchain (пер. Блокчейн: Архитектура криптовалюты) от автора Imran Bashir. Тут есть пара нюансов. Во-первых в свободном доступе просто так не скачаешь. Во-вторых последние издание вышло в этом году и перевода на русский язык ещё нет, издание на русском вышло в 2018 году и вся часть про Ethereum там безбожно устарела. В любом случае существуют каналы типа "Библиотека программиста" где выкладывают подобные книги, найти в телеге её не сложно.
Шаг 2
Отлично, теперь когда мы понимаем основы (и может даже больше), можно начинать разбираться в Ethereum. Скачиваем книжку Mastering Ethereum от создателей языка Solidity. Она так же есть и в русском переводе. Параллельно с этим начинаем знакомиться с самим языком разработки смарт-контрактов. Лучше всего для этого подходит CryptoZombies, так же можно подглядывать в Soldity by Example.
Шаг 3
Когда мы прошли зомбаков и прочитали всю 9 главу книги Mastering Ethereum посвященную уязвимостям смарт-контрактов можно закреплять материал на практике. Идем и проходим CTF от компании OpenZeppelin под названием Ethernaut. Как начать решать задачи у меня уже была статья на канале. Параллельно активно курим официальную документацию Solidity, это достаточное и необходимое условие для успешного прохождения этого CTF, там всего 26 задачек, так что времени это может занять достаточно.
Шаг 4
Поздравляю! Теперь вы можете считать себя человеком, который хорошо разбирается в смарт-контрактах. Дальше нужно оттачивать скилы и углубляться. Что нужно конкретно: понимание низкоуровневого слоя исполнения смартов (EVM puzzles), знание как работают и что из себя представляют основные DeFi протоколы (Uniswap, Compound, Aave и тд), паттерны разработки. Также нужно понять как происходили известные хаки смарт-контрактов, удобнее всего изучать это на Rekt. Подебажить самому можно на Phalcon. Ethernaut не единственный CTF, можно ещё прорешать DamnVulnerableDeFi и Paradigm. Для PoC могут понадобится тесты, их делают с помощью Hardhat и Foundry.
Шаг 5
Можно приступать к аудиту и разработке! Конкурсные аудиты можно найти на Immunefi, Code4Arena, Codehawks, Sherlock.