![Смарт-контракты можно назвать революцией в мире транзакций.Эта технология позволяет автоматизировать выполнение условий договоров и соглашений без участия посредников Без посредников: что такое смарт-контракты и насколько им можно доверять](/upload/iblock/07f/v85516d4hhbbryrfi7dvuscin2ou2zt6.jpeg)
Смарт-контракты можно назвать революцией в мире транзакций. Эта технология позволяет автоматизировать выполнение условий договоров и соглашений без участия посредников.
Вместе с тем, кейсы со взломом смарт-контрактов встречаются достаточно часто, в основном в сфере криптовалют. В статье мы рассмотрим, что такое смарт-контракты, где они применяются, а также обсудим их преимущества и недостатки с точки зрения безопасности.
Smart-contract — это компьютерный алгоритм, который обеспечивает выполнение обязательств соглашения без необходимости доверия между сторонами. Программа содержит описание всех условий сделки, в том числе санкции за их несоблюдение, и использует криптографию для обеспечения безопасности и прозрачности транзакций.
Смарт-контракт проверяет полноту выполнения условий и определяет, что делать дальше: выдать деньги, завершить сделку, закрыть доступ или оштрафовать. Кроме этого, если смарт-контракту требуется сопоставить условия с внешней информацией, то он может использовать блокчейн-оракулов, которые передают ему данные из внешних систем.
Виктор Тимашков
Инженер по безопасности приложений УЦСБ
Смарт-контракт представляет собой приложение, развернутое в децентрализованной сети. Часто такие приложения используются как механизм хранения и обеспечения транзакций между несколькими цифровыми активами. С помощью технологии смарт-контрактов, разработчик способен создать цифровой рынок, где пользователи анонимно могут совершать покупки товаров, обмен валют и другие виды финансовых операций. Как правило, исходный код контракта открыт для участников сети и после развертывания изменить условия невозможно.
Так как смарт-контракт представляет собой ПО, то прочитать его может только человек, владеющий языком программирования: Solidity, Golang, Java, Kotlin. Иногда для понятности в код добавляют комментарии на родном языке.
История развития технологии смарт-контрактов началась в первой половине 90-х годов с идей Ника Сабо, который предложил концепцию самоисполняющихся контрактов. Он использовал смарт-контракт в вендинговом аппарате. Однако, идея не получила широкого распространения из-за отсутствия подходящей среды для реализации. Для существования смарт-контрактов необходимо:
С появлением блокчейна, особенно платформы Ethereum под руководством Виталика Бутерина, технология смарт-контрактов начала активно развиваться. Смарт-контракт позволяет автоматизировать повторяющиеся, типовые сделки. При этом умный контракт может описывать все этапы сделки или только ее часть. Например, сам договор оформлен на бумажном носителе, в котором прописаны условия разрешения споров и т.д., а смарт-контракт регулирует только расчеты.
Виктор Тимашков
Инженер по безопасности приложений УЦСБ
Смарт-контракт — удобный инструмент для интеграции преимуществ технологии блокчейн в повседневную жизнь. Тенденция цифровой трансформации экономики представляет собой ключевой фактор для развития решений в области автоматизации контроля и проведения платежей, переводов и конвертации валют. Несомненно, концепция смарт-контрактов открывает новый уровень надежности, скорости и удобства различного рода операций, но также требуют от разработчиков, тестировщиков и специалистов безопасности доскональной точности в принятии решений.
Сейчас смарт-контракты могут быть использованы в различных сферах: финансовой, , логистической или в здравоохранении. Например, в финансовой сфере смарт-контракты автоматизируют процессы кредитования, страхования и обмена активами. В области здравоохранения технологию можно использовать, чтобы защитить персональные данные пациентов, в логистике — для упрощения отслеживания поставок и платежей. В интернет-торговле смарт-контракты гарантируют безопасность транзакций и защищают права потребителей.
Преимущества использования смарт-контрактов включают снижение издержек, повышение эффективности и сокращение времени на выполнение операций. А также безопасность и прозрачность.
Евгений Царев
Управляющий RTM Group
Как ни странно, главные преимущества смарт-контрактов одновременно являются и главными их недостатками. Речь про безотзывность, независимость и полную «автоматичность». Удивительно, но спрос на услуги с такими характеристиками довольно небольшой. Даже нотариальные документы всегда можно отозвать. А здесь – нет, в этом и риск.
Смарт-контракты и их концепция были описаны еще до блокчейна, но применения не находили именно по этой причине. Вечные права с отсутствием контроля, например, мало кто захочет предоставлять другим.
Технологическую безопасность возможно обеспечивать, но тоже теоретически. Векторы атак на смарт-контракты хорошо описаны, и потенциальные атаки невозможно полностью исключить. Например, повторный вызов функции пока нельзя осуществить, но это не означает, что не получится и через год.
Однако у смарт-контрактов существуют и некоторые ограничения, такие как необходимость высокой степени технологической грамотности среди пользователей и возможные юридические неопределенности. Так, например, юристы относятся настороженно к смарт-контрактам по следующим причинам:
Однако несмотря на эти опасения, юристы признают потенциал смарт-контрактов и стремятся понять эту технологию, чтобы использовать ее в своей работе.
Немало недостатков в смарт-контрактах видят и ИБ-специалисты.
Виктор Тимашков
Инженер по безопасности приложений УЦСБ
Прозрачность логики работы приложения повышает доверие со стороны клиента, но предоставляет много ценной информации для злоумышленника. Большинство популярных атак на смарт-контракты основаны на обходе логики работы приложения. Например, в атаках повторного входа злоумышленник создает вредоносный контракт, который выполняет рекурсивный запрос к контракту-жертве.
Такой запрос нарушает порядок выполнения функции и позволяет выполнить некоторый участок кода бесконечное число раз — тем самым злоумышленник способен обнулить баланс контракта, манипулировать результатами голосования или стать владельцем большой суммы токенов.
Специалисты по кибербезопасности отмечают следующие недостатки смарт-контрактов:
Евгений Царев
Управляющий RTM Group
Одним из самых громких стал взлом The DAO. Атака стала возможна из-за уязвимости в коде смарт-контракта, позволявшей атакующему многократно извлекать средства из DAO перед обновлением баланса. Хакеры использовали рекурсивные вызовы функции splitDAO. В итоге, были украдены более 3,6 миллионов ETH.
Четыре года назад проект Yam Finance сначала привлек более 400 миллионов долларов, а затем потерял почти все. Причина в том, что не был проведен вовремя аудит кода. Ошибка в смарт-контракте проекта увеличила количество токенов YAM в 10 раз.
Были успешные и другие успешные атаки на блокчейн эфира, когда злоумышленники генерировали много адресов и подменяли легитимные. Исключить человека из системы не получается, а раз так, всегда остаётся вероятность, как минимум, ошибок.
Евгений Царев
Управляющий RTM Group
Прежде всего, особое внимание стоит уделять вопросам аутентификации и авторизации, чтобы ограничить доступ к критическим функциям смарт-контракта. Также обязательно регулярно осуществлять тестирование, включая модульное (проверка каждой функции и модуля в отдельности), интеграционное (взаимодействие различных частей смарт-контракта), на тестовой сети (запуск для выявления ошибок в условиях, максимально приближенных к реальным). Ну и аудит смарт-контракта нужно проводить постоянно, включая аудит кода.
Для минимизации рисков специалисты по кибербезопасности рекомендуют проводить тщательный аудит смарт-контрактов перед их внедрением, а также постоянно обновлять и улучшать их в соответствии с новыми угрозами и изменениями в технологиях.
Смарт-контракты демонстрируют потенциал для значительного улучшения эффективности и безопасности деловых операций, а также для снижения издержек и времени на выполнение транзакций. Это дает основания предполагать, что технология будет распространяться и находить новое применение в разных областях.
Евгений Царев
Управляющий RTM Group
Перспективы пока ограниченные. В настоящее время смарт-контракты не выглядят полностью надежными. Для этого нужно найти ограниченное применение в некритичной области и многого лет тестировать их. Но затраты на поддержание системы огромны, а потому теряется экономический смысл.
Теория систем говорит о том, что 100% безопасность в принципе недостижима.
Тем не менее, несмотря на все преимущества, смарт-контракты сталкиваются с рядом вызовов, включая необходимость в улучшении стандартов безопасности и регулирования. Будущее смарт-контрактов выглядит многообещающим, и ожидается, что они будут играть ключевую роль в развитии цифровой экономики и общества в целом.
Нажимая на кнопку, я даю Согласие на обработку персональных данных в соответствии с Политикой обработки.
Зарегистрироваться