По следам аудита zkSync Era. Часть 1
Вчера закончился вышеназванный конкурсный аудит и мне хотелось бы сказать несколько слов о нем.
Для начала, упомяну, что я пропустил февральский аудит Optimism, так после первого взгляда решил, что он еще "не моего поля ягода". А зря...
По своей сути, zkSync, так же как и Optimism, является layer 2 от Эфира. Другими словами, вы проводите аудит смарт контрактов другого уровня, нежели популярные протоколы с nft и токенами.
Не могу сказать, что мои поиски багов увенчались успехом, тем не менее я вынес для себя несколько уроков, которые могут быть полезны и вам.
1. Чтение документации происходит на всех уровнях аудита.
Раньше я полагал, что аудитору необходимо заранее прочитать все имеющиеся доки по протоколу, а потом уже плотно садится за просмотр кода. Другими словами, прочитал описание проекта, сделал заметки, понял основную идею и вперед на поиски.
Теперь же я понимаю, что изучение доков идет на всех уровнях аудита. Вы читаете первый раз для общего понимания, затем перечитываете еще раз и делаете заметки, уже после, аудируя конкретный контракт, постоянно перечитываете информацию по логике конкретной функции и ее хода.
Только так вы сможете понять сразу несколько вещей:
- Что делает эта конкретная функция?
- Какой результат ее исполнения должен быть?
И что самое главное:
- Что подразумевал разработчик, когда ее писал?
- Какой ход исполнения, может нарушить результат?
Интересно то, что на многих курсах или интервью, я слышал много раз о том, что очень важно изучать всю доступную информацию о протоколе перед аудитом. Но никто не говорил, как это делает он, или вообще, как это делать.
#zksync #era #audit #feedback
Post #754
535
- 👍 2
- 🔥 1
- 👏 1