Что Такое Смарт-Контракт? Как Он Работает: Примеры
Aurika6 min read
Следите за CoinGate Gift Cards в Google
Краткое Резюме: смарт-контракт — это программа, хранящаяся в блокчейне и автоматически выполняемая при соблюдении заданных условий. Никому не нужно подтверждать каждый шаг, а после развертывания код, как правило, уже нельзя изменить. Смарт-контракты обеспечивают работу обмена токенов, кредитных приложений, NFT и значительной части того, что принято называть DeFi. Они устраняют посредников, но вместе с ними и подстраховку, поэтому ошибка в коде или необдуманное разрешение могут дорого обойтись.
- Смарт-контракт — это код, а не юридический документ, и он хранится в блокчейне, например Ethereum.
- Он выполняется одинаково для всех, и никакая компания-посредник не принимает решений.
- Большинство контрактов нельзя изменить после запуска, и в этом одновременно заключаются их сила и риск.
- Самая большая опасность для обычных пользователей — подписать непонятное им разрешение.
Что Такое Смарт-Контракт?
Смарт-контракт — это программа, размещенная по определенному адресу в блокчейне. Она содержит правила, записанные в виде кода, и выполняет их, когда кто-либо отправляет ей транзакцию, соответствующую этим правилам. Если условия соблюдены, контракт срабатывает. Если нет — отклоняет транзакцию. Здесь нет ни службы поддержки, ни возможности вмешаться вручную.
Эта идея появилась раньше криптовалют. В 1990-х годах специалист по информатике Ник Сабо описал смарт-контракты на примере торгового автомата: внесите нужную сумму, выберите товар — и автомат выдаст его без участия продавца. Блокчейны позволили реализовать эту идею на практике в широком масштабе, поскольку предоставляют коду общую, защищённую от несанкционированных изменений среду выполнения.
Как Работают Смарт-Контракты
В Ethereum, самой известной платформе смарт-контрактов, разработчики обычно пишут контракты на языке Solidity и развертывают их в сети. После этого контракт получает собственный адрес, как у кошелька, и может хранить средства и данные.
- Пользователь отправляет транзакцию смарт-контракту, например с запросом обменять один токен на другой.
- Каждый узел сети выполняет один и тот же код и проверяет корректность результата.
- Если условия выполнены, контракт обновляет балансы или данные в блокчейне.
- Пользователь платит сетевую комиссию за выполнение вычислений, которая в Ethereum называется газом.
Именно из-за этой комиссии в периоды высокой нагрузки расходы растут: каждый вызов смарт-контракта конкурирует за место в следующем блоке. Подробнее этот механизм описан в руководстве о том, что такое комиссия за газ и почему она меняется.
Примеры Смарт-Контрактов, Которые Вы Наверняка Видели
Большинство людей пользуются смарт-контрактами, даже не задумываясь об этом. Вот несколько распространенных примеров:
- Обмен токенов: децентрализованные биржи используют контракты, которые хранят пулы токенов и автоматически устанавливают цены.
- Кредитование и заимствование: контракты хранят депозиты, рассчитывают проценты и управляют залогом без участия банка.
- Стейблкоины и токены: большинство токенов в сети Ethereum, включая многие стейблкоины, сами являются смарт-контрактами, которые отслеживают, кому что принадлежит.
- NFT: NFT — это запись внутри смарт-контракта, в которой указано, какому кошельку принадлежит конкретный объект.
- Мультиподписные кошельки: контракты, которые разблокируют средства только после того, как их подпишут несколько человек; часто используются командами и организациями.
Типы Смарт-Контрактов
Единого официального списка не существует, но смарт-контракты обычно делятся на несколько широких категорий. Одни просто хранят и переводят средства — например, используются для условного депонирования или разделения платежей. Другие управляют активами, такими как токены и NFT. Третьи обеспечивают работу целых приложений, например бирж, кредитных рынков и ончейн-игр, зачастую объединяя множество контрактов.
Не каждый блокчейн работает с ними одинаково. Bitcoin намеренно поддерживает лишь ограниченный язык сценариев, благодаря чему он остается проще и устойчивее к взлому. Ethereum и многие более новые сети, такие как Solana, были созданы для выполнения гораздо более сложных программ.
Безопасность Смарт-Контрактов: Что Может Пойти Не Так
Поскольку контракты выполняются автоматически и обычно не подлежат изменению, ошибки остаются в коде. Один из самых известных примеров — The DAO в 2016 году: уязвимость в коде позволила злоумышленнику вывести значительную часть хранившихся там средств. Сейчас проекты заказывают платный аудит, однако он лишь снижает риск, а не устраняет его полностью.
Для обычных пользователей более распространённая проблема — не уязвимый, а вредоносный контракт. Мошеннические сайты просят подключить кошелёк и подтвердить транзакцию, которая незаметно даёт контракту разрешение переводить ваши токены. Несколько простых привычек помогут значительно снизить этот риск:
- Перед подписанием внимательно прочитайте, какие разрешения запрашивает транзакция, особенно если речь идет о неограниченном доступе к токенам.
- Подключайте свой кошелек только к сайтам, которые вы открыли самостоятельно, а не через рекламу или личные сообщения.
- Храните активы, предназначенные для долгосрочного хранения, на аппаратном кошельке, например Ledger, который перед подтверждением отображает сведения о транзакции на собственном экране.
- Не подписывайте ничего при подключении к общедоступной сети Wi-Fi, а если это необходимо, используйте VPN, например NordVPN.
Что Проверить Перед Подписанием
Смарт-контракты — одна из самых полезных идей в криптоиндустрии: благодаря им незнакомые люди могут торговать, выдавать займы и создавать проекты, не доверяя компании-посреднику. Обратная сторона заключается в том, что вам приходится самостоятельно заботиться о безопасности. Разберитесь, что именно сделает контракт, подписывайте только то, что намеревались подписать, и по возможности храните ключи офлайн. Если следующим шагом для вас станет самостоятельное хранение активов, ознакомьтесь с подарочными картами Trezor.


