Присоединяйтесь к нашему инвестиционному форуму, на котором уже 645,955 пользователей. Чтобы получить доступ ко многим закрытым разделам и начать общение - зарегистрируйтесь прямо сейчас.
Все новости о платежных криптовалютах, таких как BitCoin, Ethereum, LiteCoin, Ripple и прочих подобных p2p валютах
Первый пост Опции темы
Старый 29.04.2024, 11:56
#1
Любитель
 
Имя: Иван Тихонов
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 19.07.2012
Сообщений: 17,305
Благодарностей: 67

награды Ветеран MMGP.RU 
Исследуем криптографию: что такое аудит смарт-контрактов

В мире криптовалют значение безопасности трудно переоценить. Особенно на фоне того, что предлагаемые продукты становятся все более сложными. Одной из мер, ставшей стандартом безопасности, является аудит смарт-контрактов. Смарт-контракты Под смарт-контрактом обычно понимают самоисполняющуюся компьютерную программу, которая запускается автоматически при выполнении заранее определенных условий и при этом хранится в блокчейне. Сегодня технология смарт-контрактов лежит в основе DeFi и Web3. Она позволяет разрабатывать децентрализованные приложения (dApps), которые работают на блокчейнах.

Смарт-контракт несколько отличается от обычных компьютерных программ, поскольку он исполняется на виртуальной машине блокчейна и после того, как он выполнил на ней какие-то действия, последние отражаются непосредственно в распределенном реестре и их результат уже нельзя откатить.*

Кроме того, исполнение смарт-контракта более сложное, нежели выполнение обычной программы, так как оно происходит в блокчейне, а не на отдельном устройстве. Для того, чтобы действия, инициируемые смарт-контрактом, совершались, необходимо содействие участников сети, которые валидируют работу, выполняемую смарт-контрактом. Также его исполнение должно быть записано в качестве транзакции. Разумеется, для этого нужно платить комиссию, поэтому разворачивание смарт-контрактов — дело не бесплатное.

Что такое аудит смарт-контрактов Из вышесказанного понятно, что кодинг и исполнение смарт-контрактов — крайне важная составляющая. Цена ошибки тут, как правило, значительно выше, чем в обычных компьютерных программах. Для минимизации рисков, связанных с разворачиванием смарт-контрактов, прибегают к аудиту.

Аудит смарт-контрактов — это подробный анализ кода смарт-контракта для устранения багов, превентивного выявления уязвимостей в безопасности, минимизации рисков и эксплойтов, а также для оптимизации эффективности кода. Проще говоря, аудит смарт-контрактов — это анализ кода.

Зачем нужен аудит смарт-контрактов Самое очевидное, это, разумеется, для обеспечения безопасности. Вовремя обнаруженная и залатанная дыра в защите сможет сэкономить огромные суммы, которые пришлось бы потерять, если уязвимостью успели бы воспользоваться злоумышленники.

Также аудит нужен для того, чтобы заранее находить ошибки, искажающие внутреннюю логику работы смарт-контракта. То есть, чтобы не возникало ситуаций, когда кодером задумывалось одно, а смарт-контракт делает что-то другое.

Не следует забывать и об эффективности кода. Если код обычной программы плохо оптимизирован, то это скорее всего не скажется ни на чем, кроме ее быстродействия. Да, компьютеру потребуется выполнить больше действий и потратить больше вычислительных ресурсов чем нужно для выполнения задачи. А вот цена неэффективного кода смарт-контракта значительно выше, так как за каждое лишнее действие в блокчейне придется заплатить комиссию. Поэтому ненужные строки кода гипотетически могут превратить смарт-контракт в генератор убытков.

Также для аудита смарт-контрактов есть иные резоны, не связанные напрямую с кодом — например, проведенный аудит увеличивает доверие со стороны пользователей и инвесторов. Таким образом, он необходим и для повышения инвестиционной привлекательности конкретного проекта.

Как происходит аудит При аудите смарт-контрактов используется широкий круг из различных инструментов и методик. Типового характера в данном процессе нет, тем не менее, ниже перечислены этапы, которые чаще всего используются для аудита смарт-контрактов:

Сбор документации Документация может включать в себя различные элементы, такие как кодовая база проекта, архитектура, Белая книга и сопутствующие материалы. Это нужно, чтобы аудиторы понимали задачу, логику и контекст проекта.

Автоматизированное тестирование В нем анализируются все возможные состояния смарт-контракта и выявляются проблемы, которые могут поставить под угрозу его безопасность или функциональность. На этом этапе аудиторы также могут проводить интеграционные, модульные тесты и тесты на проникновение. Более того, сегодня помощь в аудите смарт контрактов может оказывать ИИ — он постепенно осваивает процесс поиска ошибок и уязвимостей.

Ручная проверка кода На этом этапе команда программистов исследует код построчно на предмет ошибок, уязвимостей и иных проблем. Да, автоматическое тестирование хорошо выявляет ошибки, но для обнаружения архитектурных или логических недостатков в смарт-контракте все-таки требуются участие людей. Проверка кода вручную также дает возможность оптимизировать программу и снизить затраты на комиссии.

Классификация ошибок Классификация ошибок в контрактах предполагает ранжирование всех ошибок и уязвимостей по степени серьезности. На основании этой классификации составляется отчет, где аудиторы предлагают наилучшие способы решения проблем в коде. Каждая ошибка при этом классифицируется в зависимости от серьезности вызванного эксплойта:

Критическая ошибка — влияет на безопасность функционирования всего протокола.

Серьезная ошибка — ошибка в логической структуре (иногда элементы централизации), которая может привести к потере средств пользователей или контроля над протоколом.

Средняя ошибка — влияет на общую производительность или надежность платформы.

Незначительная ошибка — не самый эффективный код, который не подвергает риску безопасность проекта.

Информационная ошибка — связанная с формой\подачей информации, устоявшимися практиками отрасли.

К числу важных типовых ошибок, которые могут быть распознаны в результате аудита смарт-контракта, можно отнести: ошибки в орфографии, отсутствие способности различать людей и контракты, уязвимость случайного числа, зависимость от временной метки и так далее.

Цена вопроса Понятно, что для проведения аудита смарт-контрактов требуется команда опытных программистов, вооруженных инструментами для проверки кода. Их время стоит больших денег. Согласно данным ресурса Fintechnews, стоимость аудита варьируется от $5 000 до $15 000 в зависимости от сложности задачи. В некоторых особенно сложных случаях цена аудита может быть еще выше. Стоимость разработки смарт-контрактов в среднем варьируется от $7 000 до $45 000 в зависимости от сложности. В некоторых случаях цена может достигать и $100 000.

Вывод

Аудит смарт-контрактов — сложное, дорогое и ответственное занятие. С другой стороны, разворачивание смарт-контрактов в блокчейне — это сложный процесс, который требует серьезных вложений, как денежных, так и интеллектуальных. Поэтому аудит смарт-контрактов стал неотъемлемым этапом запуска любых проектов, задействующих смарт-контракты. Он позволяет выявить ошибки на раннем этапе, улучшить логику исполнения программы и повысить инвестиционную привлекательность проекта.

Источник: Bits.media
polym0rph на форуме
Войдите, чтобы оставить комментарий.
Быстрый переход
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
РАЗРАБОТКА СМАРТ-КОНТРАКТОВ FrancoVellano Покупка, продажа, разработка хайпов (HYIP) 2 05.06.2022 21:07
Разработка смарт контрактов на Solidity Sadjesty Покупка, продажа, разработка хайпов (HYIP) 0 01.03.2019 11:54
Аудит смарт-контрактов gafagilm Ethereum 0 27.08.2018 08:58
РАЗРАБОТКА Смарт контрактов и DApp EtherPanda Криптовалюты: общий форум 0 10.12.2017 14:23
Scriptless Scripts: смарт-контракты без смарт-контрактов в Биткоине upline Горячие новости 0 04.12.2017 11:55