Автор: Trustpool 24 Фев 2026 в 18:50 130 просмотров У контрактов между людьми есть одна неприятная особенность — их можно нарушить, иногда даже без последствий. Можно заключить контракт, по которому даёшь человеку деньги в долг, а он не возвращает. Тогда вы взимаете деньги с человека в судебном порядке. Но мирные договора часто нарушаются, как показывает история. Как бы то ни было, есть инструмент, который избавляет нас от человеческой слабости не соблюдать договоренности — смарт-контракт. В этой статье мы расскажем как он создаётся, как работает и где его можно применить. Что такое смарт-контракт и как он работает Смарт-контракт — это программа с условиями активации, которая хранится внутри блокчейна криптовалютного проекта и выполняется автоматически. Блокчейн — непрерывная череда из блоков информации по сделкам и смарт-контрактам, где каждое новое звено содержит в себе информацию из предыдущего. Чтобы изменить условия уже заключенных транзакций или контрактов придётся менять все данные в сети, что практически невозможно. У смарт-контракта есть несколько условий: Наличие участников контракта. Обладание ресурсами, прописанными по условиям смарт-контракта. Условие реализации смарт-контракта. Время длительности смарт-контракта. Пример контракта в текстовом варианте: Влад заплатит 100$ Пете через 30 дней, если он напишет для него четыре статьи. Участники контракта — Влад и Петя. Наличие ресурсов — 100$ у Влада и наличие счетов, куда смарт-контракт будет переводить награду в случае выполнения условий. Условие реализации — Петя напишет для Влада четыре статьи. Время длительности контракта — 30 дней. Все условия соблюдены → контракт реализован и Петя получает награду. Петя пишет три статьи → контракт не реализован и деньги возвращаются Владу. У Влада нет на счёт 100$ → контракт изначально не будет заключён. Написать три статьи и не получить деньги, несправедливо по отношению к труду Пети, хоть он и не выполнил весь объём работы, поэтому структура смарт-контрактов зачастую сложна и представляет собой множество условий «если». Например: «Если вместо четырёх статей Петя напишет три, надо перевести ему 75% от суммы контракта. Остаток вернуть Владу» и так далее, пока не дойдут до условия, где Петя вообще не пишет статьи. Чтобы смарт-контракт работал, его обязаны подписать обе стороны. Для подписи используют либо виртуальную подпись на документе — уникальное клеймо, использование уникального ID, или простую форму подтверждения — крестик в окошке «ознакомлен и согласен с условиями контракта». Форма смарт-контракта В строке 83, после слов msg.sender отправитель ставит цифровую подпись, в виде своего ID, или номера кошелька, в зависимости от цели. То же самое делает пользователь, чьи данные должны быть указаны после to. То что пишут пользователи в этих строках — их уникальные ключи, которые существуют в единственном экземпляре и позволяют точно установить участников контракта. Когда обе стороны подписали смарт-контракт, он заносится в блок данных и переходит в режим ожидания, пока информация не будет перенесена в блокчейн криптовалютного проекта. Способ создания звена блокчейна зависит от настроек сети — она работает по системе PoW или PoS. В системе PoW новые блоки создают майнеры — люди, которые используют собственную технику и её вычислительные мощности для подбора комбинации, которой зашифрован новый блок данных. Кто потратил мощности — тот и получает право на создание блока. В системе PoS блоки создают вкладчики — люди, которые купили определённое количество токенов проекта и «заморозили» их внутри сети. Для пользователей Ethereum нужно «заморозить» 32 монет ETH, чтобы получить право на выпуск блоков. Заморозку активов внутри проекта называют стейкингом. За вклад владельцы получают свои проценты в виде новых монет и право на создание блоков данных. В среднем смарт-контракту нужно несколько минут, прежде чем попасть в сеть вне зависимости от системы. Платформы и языки: где и на чём пишут смарт-контракты Криптовалюты — детище программистов, как и смарт-контракты. Для того чтобы самостоятельно написать смарт-контракт нужны знания соответствующего языка программирования. А еще нужны умение писать коды или наличие человека, который умеет кодить. Вариант попроще — найти готовые шаблоны смарт-контрактов. Перечислим наиболее часто-используемые платформы для создания смарт-контрактов и их языки программирования. Проекты, связанные с Ethereum Ethereum, BNB, Avalanche, Polygon и десятки иных L2 проектов. L2 — второстепенные протоколы поверх основного блокчейна. Чтобы не забивать основную цепочку блоков сторонними контрактами, появляются «ветви» побочных проектов, в которых происходят вычисления для пользователей, а итоговые результаты могут вноситься в основную цепь проекта. Ethereum изначально создавали как огромный суперкомпьютер, который позволил бы людям заключать контракты с опорой на машину и при этом создавать собственные проекты. Для этого один из основателей проекта Виталик Бутерин часто рассказывает о сути обновлений сети, функционале Ethereum для создания объединений и смарт-контрактов для их основы. Эфир — криптовалютный проект для криптовалютных проектов. Основные используемые языки программирования в таких проектах: Solidity. Vyper — минималистичный Python-подобный язык. Yul — низкоуровневый язык для оптимизации газа. Смарт-контракты этой сети наиболее распространены благодаря относительной простоте их создания. Ethereum делает упор на смарт-контракты, благодаря чему это направление проекта наиболее развито. Solana Сеть построена на параллельной обработке транзакций и использует языки Rust и C/C++. Смарт-контракты в этой сети подходят больше для dApps, о которых позже. Cardano Характеризуется использованием строгих математических моделей в процессе работы. Если вы не знакомы с высшей математикой и даже не помните определение арктангенса — вы вряд-ли поладите с этой сетью. Использует языки программирования Haskell и Marlowe для финансовых контрактов. Сбор требований и дизайн: роли, данные, события Дизайн Специалист, который создаёт контракт, узнаёт у заказчика детали: Сколько участников контракта. Какая длительность контракта. Какие условия реализации программы. Какая награда для сторон сделки. Какой срок длительности контракта. Может он быть продлён или нет. Какие дополнительные условия существуют при частичном выполнении контракта. Всё это специалист прописывает на языке программирования и создаёт дизайн контракта. Помимо этого он узнаёт насколько выполнение программы зависит от сторон, которые его заключают. Если прописать условия, при которых контракт можно пересмотреть, тогда у такого пользователя в контракте больше полномочий, чем у второй стороны. Однако код не закрыт и человек видит, что подписывает. Высокий уровень контроля условий контракта со стороны одной стороны может оттолкнуть вторую. В смарт-контракте есть роли — набор функций, которые может выполнять один человек. Виды ролей: Admin — он же владелец, который отвечает за всё состояние смарт-контракта. User — базовый участник, выполняющий операции. Operator — автоматизированные агенты, боты, которые выполняют техническую часть контракта «взять», «перевести», «посчитать». Governance — правительство из тех, кто обладает правом голоса в проекте и связаны с ним смарт-контрактом. Зачастую эта роль принадлежит тем, кто отправил свои монеты в стейкинг. Один и тот же человек может выполнять не взаимоисключающие роли. User не может перейти в роль Admin просто так, поскольку контракты изначально создаются на равных условиях. Данные Данные — это экономическое состояние системы, записанное в блокчейне. Они формируют основу контракта. Основные типы хранимых данных: Балансы пользователей. Комиссии и лимиты в криптовалютном проекте. Источники финансов пользователей — средства свои или заемные. Состояние контракта — активен/заморожен. Данные в смарт-контракте — это публичная бухгалтерская книга, которую нельзя незаметно изменить. События События — это журнал действий контракта, который не влияет на состояние, но критичен для выполнения контракта. Контракт можно заключить без событий, но работать он не будет. Простыми словами — это команды для программы. Они используются для: Индексации транзакций «посчитай кто, что и сколько получит/отдаст». Работы интерфейсов dApp «покажи». Аналитики блокчейна «зафиксируй или найди в блокчейне». Сигналов ботам и оракулам. Все три элемента взаимодействуют друг с другом и образуют цикл: Роль применяет свою функцию → функция меняет данные → контракт запускает событие из-за запроса на изменение данных → боты реагируют на приказ → новые роли инициируют действия как реакцию на действия первой роли. И так пока контракт не будет выполнен или проект не будет уничтожен. Прежде чем создать смарт-контракт он проходит через тестирование. Его проверяют на баги, качество кода, уязвимости. Правильно ли он определяет участников контракта, выполняет переводы. В зависимости от обнаруженных недочётов разработчик меняет код контракта и пробует заново. Нередко изменения в коде смарт-контракта ведут к новым багам и изменениям принципов работы, однако с этим нужно смириться. Безопасность: типовые уязвимости и контроль качества Уязвимы не столько смарт-контракты, сколько сети, в которых эти контракты хранятся. В 2016 году Ethereum взломали через уязвимость в смарт-контракте с компанией The DAO, а после инцидента цепь разделилась на Ethereum с более жестким контролем разработчиков и Ethereum Classic для несогласных пользователей. Взлом блокчейна — редкое событие и в основном добывают валюту из блоков данных. Вскрывая блок пользователи получают и возможность менять смарт-контракты, в которых лежит награда и действие которых ещё не закончено. Для усиления безопасности разработчики нанимают «белых» хакеров. Это специалисты, которые намеренно ищут уязвимости в коде и сообщают о них разработчику. В случае частного лица и создателя контракта, ваша безопасность — ваше дело. Внимательно читайте условия контрактов, спрашивайте у программиста, что за что отвечает. В конце концов, вы платите и имеете право знать за что. Вот так может выглядеть подписание смарт-контракта, если не читать его условия Развертывание: газ и стоимость эксплуатации Развертывание и эксплуатация смарт-контракта — это финансовая модель с капитальными затратами, операционными расходами и скрытыми комиссиями сети. Разберём три ключевых компонента, через которые инвесторы и разработчики оценивают жизнеспособность контракта. Развертывание Развертывание — это момент, когда код контракта впервые записывается в блокчейн и получает собственный адрес. Это называется CAPEX протокола. Стоимость развёртывания зависит от: Размер кода. Сложности контракта и числа условий. Количества переменных в контракте. Тип сети — размещение в L1 дороже, чем в L2, поскольку это основная сеть. Газ Газ — это комиссия, которую нужно заплатить за размещение смарт-контракта в блокчейне. Чем больше газа добавить, тем скорее и более вероятно контракт попадёт в криптовалютную сеть. У газа две основные задачи: защита от спама — шутники просто потеряют деньги, и приоритизация контрактов по комиссии — чем больше газа, тем приоритетнее контракт. Стоимость эксплуатации После размещения контракта в сети начинается фаза операционных расходов — OPEX смарт-контракта. Пользователи платят за вызовы функций, с пользователей протокола списывается комиссия за внутренние операции, если предусмотрены компенсации. Стоимость эксплуатации зависит от того, как часто вызывают работу функций, нагрузки пользователей, а также внутренних комиссий. Интеграции контрактов Оракулы, dApp и межсетевое взаимодействие — это элементы, которые интегрируют в смарт-контракт. Они превращают смарт-контракты из изолированных программ в полноценную финансово-цифровую экономику и часть глобального проекта Web3. Web3 — это концепция третьего поколения интернета, согласно которой пользователи полностью самостоятельно владеют всей информацией о себе, используют блокчейн и смарт контракты. В рамках проекта предполагается создание рынка без посредников и высокая степень защиты персональных данных. Оракул Смарт-контракт сам по себе «слеп» — он видит только данные внутри файла. Оракулы выступают как поставщики внешней информации, без которых невозможны реальные финансовые сценарии. Оракулы следят за ценами активов, результатами событий и показателями сторон. dApp Это смарт-контракт + инфраструктура для доступа к контракту. Он состоит из контрактов в сети, сервера для связи с другим приложениями, понятный пользователям интерфейс, оракулов, которые занимаются поиском данных и кошельков. Взаимодействие сетей Рынок ушёл от монополии одной цепочки. Сегодня капитал и пользователи распределены между десятками сетей. Поэтому перед смарт-контрактами встаёт задача по настраиванию взаимодействия между блокчейнами. Существует три основных подхода к решению задачи: Нативные мультичейн-экосистемы. Сети изначально проектируются как набор связанных блокчейнов, которые создают сеть сетей. Такие проекты как Initia и Polygon выстраивают мосты между крипптопроектами на отличающихся блокчейнах. Кроссчейн-протоколы передачи сообщений. Они соединяют уже существующие блокчейны и позволяют контракту в одной сети взаимодействовать с контрактами в другой. Пректы LayerZero и Wormhole передают сообщения между блокчейнами, но не пытаются их объединить. Мосты ликвидности. Они передают активы между сетями через блокировку и выпуск токенов. Проекты Multichain и CoreBridge обеспечивают передачу валюты между блокчейнами. В основном их используют брокеры. Все элементы работают в связке: Оракул поставляет данные → контракт исполняет условия → dApp отображает результат → кроссчейн-слой синхронизирует состояние между сетями. Правовые и комплаенс-аспекты Главный вопрос регуляторов: является ли смарт-контракт договором в юридическом смысле или просто программой. Текущая правовая трактовка в большинстве случаев такова: код сам по себе — не договор, но код с намерением сторон и экономическим результатом — договорное обязательство. Судебная практика постепенно признаёт исполнимость таких соглашений, если можно доказать наличие согласия сторон, установить предмет сделки, встречное предоставление услуги/товара. При этом контроль за исполнением контракта зависит не от технологии, а от типа экономической активности, реализованной внутри него и страны, которая может регулировать сделку. Ключевые надзорные органы: SEC — если контракт выпускает инвестиционные инструменты, в России доходы по контракту контролирует ФНС. CFTC — если логика напоминает деривативы. FCA — контроль финансовых сервисов в Великобритании. ESMA — надзор за рынками капитала ЕС. Анонимность криптовалют входит в конфликт с политикой государства, которая требует доступа к финансовым операциям граждан. То же самое касается и смарт-контрактов. В качестве компромисса для заключения смарт-контракта необходимо пройти подтверждение личности через систему KYC — фото с паспортом или водительскими правами. Криптопроекты обязуются передавать данные KYC о регистрации властным структурам в обмен на возможность работать. Если контракт работает неисправно, потенциальными виновными могут быть разработчики, участники проекта, провайдеры оракулов и операторы интерфейса. Всё зависит от того, что именно работает не так, как должно и кто принял решение о внедрении обновления. Суды начинают применять аналогию с ответственностью разработчиков ПО. Чем более централизован контроль над контрактом — тем выше юридические риски команды участников проекта, а не разработчика. Юридическая система продолжает изучать смарт-контракты и готовить законы по ним. Всё ещё существует неопределенность в случаях, когда люди из разных стран заключают смарт-контракт, а его разработчик из третьей страны. Право какой страны на него распространяется — неясно. Примеры Частично смарт-контракты уже применяют для выплат работникам организации или поставщикам. Работодателю не нужно следить за эффективностью сотрудника — этим занимаются оракулы, а также и за наградой следить не нужно. Так поступил Walmart, внедрив смарт-контракты в механизмы управления цепочкой поставок. Помимо этого, смарт-контракты лежат в основе децентрализованных организаций, где руководство осуществляется советом, который никогда друг друга в лицо не видел. Их влияние определяется вложениями в проект, а смарт-контракт следит за честностью сделок между участниками организации. Такие объединения называют DAO. На основе смарт-контрактов строят цифровой рубль — российский проект, благодаря которому государство получит доступ к информации по финансовым операциям тех, кто этим видом валюты пользуется. Любая транзакция с цифровым рублём будет записываться в блокчейн и храниться в сети, а валюта будет выдаваться как реализация смарт-контрактов. Умный ли ход использовать смарт-контракт По сути своей, смарт-контракт — удобный инструмент автоматизации части процессов, таких как выплата зарплаты. Однако юридические нюансы заставляют задуматься, стоит ли над ними корпеть. В любой момент государство может сказать: «Всё, бан», и те, кто сделал смарт-контракт основой своей организации — просто её лишаются. С одной стороны, как инструмент управления — классная штука. Как инвестиционный проект — можно найти и получше. Могу ли я создать смарт-контракт?Да, если вы знаете язык программирования той сети, в которой будет работать контракт. Могу ли я перенести контракт из одной сети в другую?Да, если проекты поддерживают кроссчейн-протоколы. Или придётся создавать новый контракт с нуля. Могу ли я в России перевести оплату сотрудникам в смарт-контракты?Нет, поскольку ФНС станет труднее отслеживать доходы граждан, более того, смарт-контракты ещё не дошли до налогового кодекса, тем более до трудового. Содержание Что такое смарт-контракт и как он работаетПлатформы и языки: где и на чём пишут смарт-контрактыПроекты, связанные с EthereumSolanaCardanoСбор требований и дизайн: роли, данные, событияДизайнДанные СобытияБезопасность: типовые уязвимости и контроль качестваРазвертывание: газ и стоимость эксплуатацииРазвертывание Газ Стоимость эксплуатацииИнтеграции контрактовОракулdAppВзаимодействие сетейПравовые и комплаенс-аспектыПримерыУмный ли ход использовать смарт-контракт