К содержимому
CRYPTAURUS
Ethereum › Что такое смарт-контракт в блокчейне?
Ethereum

Что такое смарт-контракт в блокчейне?

smart contract · также: смарт-контракт, смарт контракт, умный контракт, самоисполняемый контракт, программа в блокчейне, программа Solana (program), dapp
Смарт-контракт — это программа, записанная в блокчейне, которая сама выполняет заданные правила без посредника, например переводит токены, когда наступило условие. Выполненную операцию сеть назад не отматывает, поэтому ошибка в коде смарт-контракта может стоить денег.

Смарт-контракт простыми словами

Блокчейн — это общий журнал записей о переводах, копию которого хранит множество компьютеров сети. Смарт-контракт хранится в этом журнале по своему адресу, то есть номеру в сети, как обычный «счёт», и по этому адресу лежат код и данные программы1. Компьютеры сети выполняют этот код одинаково для всех, и результат записывается в журнал.

Смарт-контракт похож на торговый автомат1. Вы опускаете монету и нажимаете кнопку, автомат выдаёт напиток, и продавец для этого не нужен. Правило автомата одинаково для каждого покупателя, и упросить его выдать напиток без оплаты не получится. Смарт-контракт работает так же, только с криптовалютой и записями в блокчейне.

Термин придумал Ник Сабо, который описал идею в 1994 году, задолго до появления блокчейнов2. Слово «контракт» здесь означает правило, записанное в программе, без бумаги и подписей сторон. Будет ли у смарт-контракта сила договора, решает закон страны ⚖️.

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

Смарт-контракты есть во многих сетях, например в Ethereum, Tron и Solana. Программы для Ethereum без переделки работают и в совместимых сетях, например в BNB Chain и Polygon, подробнее об этом рассказывает статья что такое EVM.

Глубже

Как со смарт-контрактами связаны токены и разрешения

Токены, то есть криптовалюта, выпущенная поверх чужой сети, — это записи в учёте смарт-контрактов. Каждый токен, например USDT в Ethereum или в Tron, ведёт свой смарт-контракт, и он записывает, сколько токенов на каждом адресе3. Как устроены токены, объясняет статья что такое токен, а чем отличаются их форматы в разных сетях, рассказывает статья стандарты токенов.

На смарт-контрактах работают стейблкоины, обмен одной криптовалюты на другую без компании-посредника и выпуск NFT2. Сайт, через который вы пользуетесь таким сервисом, — только окно к смарт-контракту, саму работу выполняет код в блокчейне4. О стейблкоинах рассказывает статья что такое стейблкоин, об NFT — статья что такое NFT.

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

Данных из внешнего мира, например курса валюты, смарт-контракт сам не видит. Их ему передают оракулы, отдельные сервисы, которые приносят данные в блокчейн, и если оракул передаст неверную цену, смарт-контракт выполнит правило по неверной цене6. Одну из сетей оракулов описывает профиль Chainlink.

Что в смарт-контракте нельзя отменить

Операцию, которую выполнил смарт-контракт, обычными средствами отменить нельзя1. Исправить последствия можно только новой операцией или изменением правил всей сети, как после взлома The DAO, о котором рассказано ниже. Код размещённого смарт-контракта по умолчанию тоже не меняется7.

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

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

Можно ли вернуть деньги, если смарт-контракт сработал с ошибкой?

Обычно нет. Криптовалюту, ушедшую из смарт-контракта из-за ошибки или взлома, в большинстве случаев вернуть не удаётся9. Шанс есть, если в смарт-контракт заранее заложена функция возврата или у него есть администратор с правом вмешаться. Узнать это можно в документации проекта и в проверенном коде на обозревателе сети. Если проект предлагает возврат, пользуйтесь только его официальным сайтом.

Риски смарт-контрактов

Ошибка в коде — риск, от которого сеть не защищает. Из-за ошибок в смарт-контрактах украдено или потеряно больше миллиарда долларов9.

В 2017 году из-за одной ошибки в общей программе люди потеряли доступ к криптовалюте в кошельках Parity с мультиподписью, то есть кошельках, где перевод подтверждают несколько владельцев10. Вернуть её изменением правил сети предлагали, но предложение отозвали11. Другой случай, взлом смарт-контракта The DAO в 2016 году, закончился разделением сети Ethereum12, о нём рассказывает статья хард-форк.

Ошибки ищут независимые проверки кода, их называют аудитом. Аудит находит часть проблем, которые пропустили разработчики, однако каждую ошибку он не ловит9. Пометка «проверено аудитом» поэтому снижает риск, но гарантии не даёт.

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

Кто отвечает, если смарт-контракт взломали?

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

Перед тем как пользоваться незнакомым смарт-контрактом, проверьте четыре вещи:

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

Глубже — смарт-контракты в разных сетях и случай Parity

В Tron смарт-контракты выполняет своя виртуальная машина TVM, а программы для неё пишут на том же языке Solidity, что и для Ethereum13. В Solana смарт-контракты называют программами14. Обновлять программу может владелец права обновления, обычно это тот, кто её разместил, а если это право отозвать, программу больше никто не изменит15. В Bitcoin есть язык простых условий для переводов. С ним можно потребовать подписи нескольких владельцев или запретить тратить монеты раньше заданного срока16.

Ошибка Parity случилась 6 ноября 2017 года. Все кошельки с мультиподписью, созданные после 20 июля 2017 года, работали через одну общую программу-библиотеку. Пользователь, судя по всему, случайно стал её владельцем и удалил библиотеку, после чего зависевшие от неё кошельки перестали работать10. Предложение восстановить библиотеку изменением правил сети появилось в 2018 году11.

Частые вопросы

Смарт-контракт — это договор с юридической силой?
Не сам по себе, это зависит от закона страны ⚖️. В Англии и Уэльсе, например, в 2021 году пришли к выводу, что действующее право уже позволяет заключать договоры, условия которых записаны в коде17.
Смарт-контракт и dapp — это одно и то же?
Нет. Dapp, или децентрализованное приложение, — это смарт-контракт вместе с сайтом или приложением, через которое им пользуются4. Сайт могут закрыть или подменить, а смарт-контракт продолжит работать по своему адресу.
Можно ли удалить смарт-контракт в Ethereum?
По умолчанию нет, смарт-контракт навсегда остаётся в блокчейне1.
Источники
Они подтверждают факты выше. Меняющиеся числа не публикуем — для них ссылка «где посмотреть».
1Introduction to smart contracts ethereum.org ↩Проверено 30.10.2026 · первичный источник
2Smart contracts ethereum.org ↩Проверено 30.10.2026 · первичный источник
3TRC-20 protocol interface developers.tron.network ↩Проверено 30.10.2026 · первичный источник
4Introduction to dapps ethereum.org ↩Проверено 30.10.2026 · первичный источник
5EIP-20: Token Standard eips.ethereum.org ↩Проверено 30.10.2026 · первичный источник
6Oracles ethereum.org ↩Проверено 30.10.2026 · первичный источник
7Upgrading smart contracts ethereum.org ↩Проверено 30.10.2026 · первичный источник
8Verifying smart contracts ethereum.org ↩Проверено 30.10.2026 · первичный источник
9Smart contract security ethereum.org ↩Проверено 30.10.2026 · первичный источник
10A major vulnerability has frozen hundreds of millions of dollars of Ethereum techcrunch.comвторичный ↩Проверено 30.10.2026
11EIP-999: Restore Contract Code at 0x863DF6BFa4469f3ead0bE8f9F2AAE51c91A907b4 eips.ethereum.org ↩Проверено 30.10.2026 · первичный источник
12The history of Ethereum ethereum.org ↩Проверено 30.10.2026 · первичный источник
13TRON Virtual Machine (TVM) developers.tron.network ↩Проверено 30.10.2026 · первичный источник
14Solana program ack3.aiвторичный ↩Проверено 30.10.2026
15Deploying Programs solana.com ↩Проверено 30.10.2026 · первичный источник
16Transactions developer.bitcoin.org ↩Проверено 30.10.2026 · первичный источник
17Smart legal contracts lawcom.gov.uk ↩Проверено 30.10.2026 · первичный источник