Смарт-контракт простыми словами: что это и когда бизнесу он не нужен
Смарт-контракт — это программа, которая хранится в блокчейне и выполняется всеми узлами сети одинаково. Её код и состояние видят все, а изменить результат задним числом не может никто, включая автора. Бизнесу он нужен, когда несколько сторон не доверяют друг другу и не хотят зависеть от одного оператора. Если доверенный оператор уже есть (вы сами, банк, платформа), смарт-контракт чаще всего лишний.
Как это работает без жаргона
Представьте торговый автомат, который стоит на площади и принадлежит всем сразу. Правила выдачи напечатаны на корпусе: заплатил столько-то — получил вот это. Никто не может тайком перенастроить автомат, а каждая покупка записывается в общий журнал. Смарт-контракт устроен похоже: правила записаны в коде, деньги или токены лежат «внутри» контракта, и выдаются они только по этим правилам.
Технически в сетях на базе Ethereum Virtual Machine (EVM) контракт пишут на языке Solidity, компилируют в байт-код и публикуют транзакцией. После этого у контракта есть адрес, как у кошелька. Пользователи вызывают его функции своими транзакциями и платят за вычисления комиссию — газ. Подробное описание модели есть в документации ethereum.org о смарт-контрактах.
Чем смарт-контракт не является
- Это не юридический договор. Код исполняет то, что в нём написано, а не то, что стороны имели в виду. Спор о намерениях блокчейн не решает.
- Это не «умный» ИИ. Контракт не видит внешний мир: курс валюты, факт доставки или погоду ему приносит отдельный сервис — оракул.
- Это не гарантия безопасности. Ошибка в коде так же публична и неизменна, как и сам код. Аудит снижает риск, но не убирает его полностью.
- Это не бесплатно. Каждое изменение данных стоит газа, а хранение больших объёмов в блокчейне дорого.
Где смарт-контракт действительно полезен
Сильная сторона технологии — нейтральность. Контракт работает одинаково для всех участников, и его поведение можно проверить до того, как доверить ему деньги. Поэтому он хорош там, где без него понадобился бы посредник, которому все вынуждены верить.
| Задача | Почему контракт уместен | Что обычно строят |
|---|---|---|
| Выпуск токена с прозрачной эмиссией | Любой может проверить, сколько токенов есть и кто может выпускать новые | Токен ERC-20 или BEP-20 |
| Постепенная выдача токенов команде и инвесторам | График нельзя переписать тайком, его видят все держатели | Контракт вестинга с локами |
| Цифровые предметы и права в играх, коллекции | Владение подтверждается без центральной базы, предмет можно передать | NFT по стандартам ERC-721 или ERC-1155 |
| Совместное управление казной | Платёж уходит только после подписей нескольких людей | Мультиподпись, DAO-голосование |
| Расчёты зарубежных компаний в стейблкоинах | Приём и учёт платежей без ручной сверки адресов | Платёжный контракт и обвязка для учёта |
Для таких задач у нас есть отдельные решения: выпуск токена, вестинг и стейкинг, NFT-коллекции и мультиподпись для казначейства.
Когда смарт-контракт бизнесу не нужен
Чаще всего блокчейн предлагают там, где хватило бы обычной базы данных с журналом изменений. Мы советуем пройти простой тест. Если на большинство вопросов ответ «нет», смарт-контракт добавит расходов и рисков, а пользы не даст.
- Есть ли несколько независимых сторон, которые пишут данные и не доверяют друг другу?
- Нельзя ли назначить одного доверенного оператора: вас, банк, платформу или нотариуса?
- Нужно ли, чтобы правила нельзя было поменять без согласия участников?
- Готовы ли вы к тому, что все операции и балансы будут публичны?
- Устраивает ли вас, что ошибочную транзакцию нельзя отменить кнопкой в админке?
- Работают ли ваши клиенты с криптокошельками или готовы ими пользоваться?
- Разрешена ли такая модель в юрисдикции, где работает бизнес и его клиенты?
Типичные ошибочные сценарии
- Программа лояльности на блокчейне. Баллы начисляет и списывает один магазин. Публичность здесь не нужна, а комиссия за каждую операцию и кошелёк у покупателя мешают.
- Документооборот «в блокчейне». Хранить сами документы в сети дорого и небезопасно для персональных данных. Достаточно хеша документа и обычного архива.
- Учёт склада. Данные вносит одна компания. Ценность неизменяемого журнала дают обычные средства: журнал аудита в базе и резервные копии.
- Приём оплаты криптовалютой от клиентов в России. Резидентам РФ запрещено принимать цифровую валюту в оплату товаров и услуг, исключения узкие. Мы разбирали это в статье о законе о криптовалюте и оплате на сайте.
Пример, где контракт оправдан
Учебный пример. Стартап раздаёт токены команде и ранним партнёрам с условием: четверть через год, остальное равными долями каждый месяц ещё три года. Если график ведёт бухгалтерия в таблице, партнёрам приходится верить, что его не перепишут. Контракт вестинга хранит токены у себя и выдаёт их только по расписанию, которое видно всем. Основатель не может забрать чужую долю досрочно, а партнёр — получить её раньше срока. Здесь публичность и неизменяемость правил и есть продукт.
Для сравнения, внутренняя премия сотрудникам в рублях по тому же графику прекрасно живёт в кадровой системе. Разница не в графике, а в том, нужно ли доказывать соблюдение правил людям, которые вам не подчиняются.
Сколько стоит владеть смарт-контрактом
Разработка — только первая строка бюджета. После запуска остаются комиссии сети за служебные операции, мониторинг событий контракта, хранение ключей администратора, ответ на инциденты и, если контракт обновляемый, аудит каждой новой версии. Подробно о расчёте мы пишем в разборе стоимости разработки смарт-контракта.
| Статья расходов | Разовая или постоянная | От чего зависит |
|---|---|---|
| Спецификация и архитектура | Разовая | Число ролей, сценариев и интеграций |
| Разработка и тесты | Разовая | Сложность логики, требования к покрытию тестами |
| Внешний аудит | Разовая на каждую версию | Объём кода, сроки, репутация аудитора |
| Деплой и верификация | Разовая на каждую сеть | Выбранные сети и цена газа в день запуска |
| Мониторинг и реагирование | Постоянная | Сумма средств в контракте и требования к скорости реакции |
| Интерфейс для пользователей | Разовая плюс поддержка | Число экранов, кошельков и сетей |
С чего начать, если идея всё-таки подходит
- Опишите участников и их права: кто может выпускать, переводить, останавливать, обновлять.
- Решите, какие данные должны быть в блокчейне, а какие могут остаться в обычной базе.
- Выберите сеть с учётом комиссий и аудитории. Мы сравнивали варианты в статье о выборе сети.
- Заложите в план тесты, внутреннее ревью и внешний аудит до запуска с реальными деньгами.
- Продумайте, кто хранит ключи администратора и что делать при компрометации.
Если хотите проверить идею на здравый смысл до разработки, опишите задачу на странице разработки смарт-контрактов. Нередко честный вывод звучит так: блокчейн здесь не нужен, достаточно обычной системы с журналом.
Вопросы и ответы
Смарт-контракт — это договор?
Нет. Это программа, которая исполняет заложенные в неё правила. Юридические отношения сторон по-прежнему оформляются обычным договором, а код лишь автоматизирует часть расчётов или передачу прав.
Можно ли изменить смарт-контракт после запуска?
Обычный контракт изменить нельзя. Если обновления нужны, заранее закладывают прокси-схему, но тогда появляется администратор, который может поменять логику, и это тоже риск для пользователей.
Нужен ли смарт-контракт для программы лояльности?
Обычно нет. Баллы начисляет и списывает один владелец, поэтому база данных с журналом изменений решает задачу дешевле и без кошельков у клиентов.
Безопасен ли смарт-контракт после аудита?
Аудит снижает риск, но не гарантирует отсутствие ошибок. Поэтому кроме аудита нужны тесты, ограничения прав, мониторинг и план действий при инциденте.
Читайте также
Сколько стоит разработка смарт-контракта и из чего складывается цена
БлокчейнАпгрейдируемые смарт-контракты: proxy, UUPS, плюсы и риски
БлокчейнТестирование смарт-контрактов: Foundry, Hardhat, фаззинг, инварианты
БлокчейнЧек-лист перед аудитом смарт-контракта: что подготовить команде
БлокчейнДеплой и верификация смарт-контракта: ключи, скрипты, Etherscan
БлокчейнСколько стоит аудит смарт-контракта и что в него входит