Что такое смарт-контракт?

Обновлено
24.09.2024
Комментариев
3 Сообщения

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

Смарт-контракты появились относительно недавно, но уже активно внедряются во многие сферы жизни человека. Что представляют собой смарт-контракты и как они работают, мы описали в этой статье доступным и понятным языком. 👇

История появления смарт-контрактов

Идея создания «умных» контрактов появилась в начале 90-х годов. Первый план реализации технологии изложил программист Ник Сабо. Суть этого плана заключалась в создании самоисполняемых контрактов на компьютерном коде без участия человека. В качестве простейшего примера того, как должна работать технология, Сабо привел торговый автомат, работающий по следующему алгоритму:

  1. Человек выбирает доступный товар в автомате и нажимает соответствующую кнопку для покупки;
  2. Далее человек вносит необходимую сумму;
  3. Система проверяет платеж и, в случае соответствия, выдает ему выбранный товар.

Полноценно реализовать идею смарт-контрактов на практике в те годы мешало отсутствие децентрализованной платежной системы и реестра. Появление децентрализованной платформы Ethereum в 2015 году способствовало активному развитию smart contract. С ее появлением, любой желающий мог за небольшую плату в ETH развернуть в блокчейне свой смарт-контракт.

После Эфириума начали активно появляться и другие блокчейн-платформы, где можно было запускать «умные» контракты. Из самых популярных можно выделить Binance Smart Chain (BSC), EOS и Solana.

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

«Умный» контракт — это компьютерный код, который имеет четко прописанный алгоритм действий для процесса выполнения и завершения цифрового договора. Этот код внедряется в структуру блокчейна и работает в изолированной среде, являясь частью децентрализованной сети.

Технология блокчейн позволяет запускать смарт-контракты в сетях, написанных на различных языках программирования. Например, в Ethereum применяются Solidity, Vyper, Serpent, LL и Mutan. Наиболее популярным языком для создания смарт-контрактов на сегодняшний день является Solidity.

Язык Solidity разработан в 2014 году. Это кроссплатформенный язык программирования с похожим на JavaScript синтаксисом. Наибольшую популярность Solidity приобрел в сфере разработки смарт-контрактов для платформы Ethereum.

Что такое смарт-контракт?

Фрагмент кода смарт-контракта написанный на языке Solidity

Несмотря на кажущуюся сложность технологии смарт-контрактов, написание их алгоритмов является не такой уж трудной задачей. Есть множество готовых библиотек и шаблонов кода, список которых постоянно расширяется. При необходимости программисты могут написать код смарт-контракта индивидуально под конкретные задачи. В большинстве случаев используется готовый шаблон с внесением незначительных доработок. Но следует учитывать тот факт, что смарт-контракт — это код, и чем он больше, тем выше вероятность возникновения ошибок. Большинство «умных» контрактов используется в финансовой сфере, и наличие багов может привести к большим финансовым потерям.

Существует немало площадок для разработки и отладки кода на языке Solidity. Наиболее популярной из них является платформа Remix. В этой виртуальной среде можно создавать, отлаживать и тестировать контракты.

Основными ключевыми свойствами контрактов, работающих в среде Ethereum, являются:

  • Наличие собственного счета (адрес и баланс);
  • Возможность отправлять и получать сообщения всем сторонам;
  • Необходимость активации смарт-контракта путем отправки транзакции;
  • Неизменяемость после инициализации контракта;
  • Необходимость оплаты за исполнение кода в ETH.

Важным моментом функционирования смарт-контрактов является то, что после их запуска (инициализации) изменить условия уже невозможно. Алгоритмы будут работать по заранее написанной программе. Если необходимо что-то скорректировать или дополнить, то требуется запуск нового цифрового контракта. Неизменяемость в процессе работы позволяет исключить различные манипуляции, которые часто происходят при составлении обычных бумажных договоров. Но это свойство не позволяет сделать условия гибкими — контракт либо выполняется, либо нет.

CoinRanger

Как работают смарт-контракты

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

Поскольку смарт-контракты работают в изолированной среде, им часто необходимо получать данные из внешних источников (например, прогноз погоды, курс валют и т.д.). Для этих целей используются специальные оракулы, которые предоставляют необходимую информацию «умным» контрактам. После успешного завершения сделки данные вносятся в реестр блокчейна, и их невозможно удалить или изменить. Любой желающий может посмотреть детали сделки с помощью блокчейн-обозревателей. Это очень удобно, например, при покупке объектов недвижимости.

Что такое смарт-контракт?

Пример обмена валют между людьми с помощью смарт-контрактов

При финансовых сделках в «умных» контрактах используется криптовалюта блокчейна, где он развернут. Система проверяет балансы криптокошельков участников и, в случае наличия необходимой суммы, осуществляет сделку.

Для того, чтобы обеспечить нормальное функционирование смарт-контрактов, необходимо создать определенные условия, в которые входят:

  • Электронная подпись. Открытый и закрытый ключи, как у криптокошелька, с помощью которых участники подписывают контракт;
  • Доступ к децентрализованному реестру, где хранятся данные, необходимые для создания и выполнения договора;
  • Среда исполнения. Децентрализованная экосистема, где будет функционировать контракт, например, Ethereum;
  • Поставщик данных, если требуются данные из внешних источников (оракулы);
  • Положительный баланс на счету для обработки транзакции. Например, для платформы Эфириум необходим ETH.

При создании смарт-контракта необходимы:

  • Подписанты — стороны цифрового контракта с электронными ключами;
  • Предмет договора;
  • Условия, где описывается логика действий процессов;
  • Блокчейн платформа, где будет запущен смарт-контракт, например, Ethereum, BSC или Solana.

Оракулы

Оракулы — это специальные программы, взаимодействующие со смарт-контрактами и поставляющие им данные из внешних источников. Полученные оракулами данные обрабатываются «умными» контрактами, и далее эта информация берется во внимание при исполнении договора. Например, это может быть курсы валют, прогноз погоды, результаты спортивных событий и т.д.

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

Виды смарт-контрактов

Умные контракты различают по среде выполнения, степени анонимности и видам электронных договоров. По среде выполнения их классифицируют на децентрализованные и централизованные.

  • Децентрализованные. Работают полностью автономно без участия третьих лиц и исполняются автоматически при достижении условий, ранее прописанных в договоре;
  • Централизованные. Требуют участия в процессе третьих лиц.

По степени анонимности смарт-контракты делятся на публичные, закрытые и частично закрытые.

  • Публичные — данные контракта открыты для всех желающих;
  • Закрытые — записи недоступны для публичного просмотра;
  • Частично закрытые — данные открыты для ограниченного круга лиц.

Основными видами электронных договоров являются: платежные, контракты с мультиподписью, контракты управления и депонирования.

  • Платежные — обеспечивают выполнение финансовых сделок между сторонами;
  • Контракты с мультиподписью — сделки, требующие участия нескольких сторон, имеющих электронную подпись;
  • Контракты управления — договоры для принятия коллективных решений. Часто применяются в децентрализованных автономных организациях (DAO) или при голосованиях в блокчейне;
  • Контракт депонирования — смарт-контракты выступают в качестве посредника, удерживая актив до того момента, пока стороны не выполнят свои обязательства.

Возможности применения смарт-контрактов

Технологию смарт-контрактов уже постепенно внедряют не только в финансовой сфере, но и в государственных учреждениях, медицине, букмекерских конторах, страховании и т. д. Далее представлены реальные примеры применения smart contracts в различных сферах жизни человека.

В криптовалютной сфере

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

Криптовалютные биржи DEX

Децентрализованные криптовалютные биржи (DEX) такие, как Uniswap и PancakeSwap полностью функционируют на алгоритмах смарт-контрактов. Все операции на них производятся без участия человека. Сама DEX-биржа не хранит средства у себя на платформе, а только предоставляет доступ к торговле с криптокошелька пользователя, подключенного через API-протокол. Торговля в системе обеспечивается с помощью автоматического маркет-мейкера (AMM), который поставляет ликвидность с пулов и формирует цену на основе спроса и предложения.

NFT-токены

Для создания и функционирования NFT-токенов разработаны специальные протоколы контрактов на Ethereum, такие как ERC-721 и ERC-1155. С их помощью упрощается процесс передачи права собственности невзаимозаменяемых токенов (NFT). После успешной сделки автоматически меняется запись в реестре о передаче собственности. Перед исполнением операции, smart contracts проверяют NFT на факт подделки, беря во внимание время, дату и место создания уникальных токенов. Таким образом, «умные» контракты решают проблему мошеннических проектов.

DAO

Децентрализованные автономные организации (DAO) — это новая форма организации в цифровом виде, функционирующая на блокчейне под управлением смарт-контрактов. Благодаря этой технологии, многие операции в сообществе проводятся с помощью компьютерного кода. Важной особенностью DAO является возможность проведения независимого голосования среди участников. “Голос” отдается специальными токенами, которые выдаются пользователям сообщества. Подсчет результатов осуществляется с помощью компьютерных алгоритмов. Среди известных проектов DAO, можно выделить Gitcoin DAO, Friends With Benefits (FWB) и Bankless DAO.

ICO-проекты и краудфандинг

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

Стейкинг

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

В других сферах

Наиболее востребованными сферами, где могут применяться «умные» договоры, являются:

  • Государственные реестры. Граждане страны смогут создавать отдельные личные кабинеты и получать доступ к различным реестрам (например, земельный кадастр) с помощью мультиподписи;
  • Финансовые сделки. В первую очередь, это относится к крупным операциям, например, покупка/продажа недвижимости. Благодаря «умным» контрактам, система проверяет необходимые данные и, в случае успеха, осуществляет сделку, передавая права собственности в электронном виде другому владельцу;
  • Страхование. При наступлении страхового случая, компания сможет автоматически переводить средства на счет клиента для возмещения ущерба;
  • Интернет-торговля. Приобретая в Интернете какие-либо товары, покупатель вносит необходимую сумму, и система замораживает эти средства. После получения товара, деньги автоматически поступают на счет к продавцу. В таком случае обе стороны уверены в том, что не будут обмануты;
  • Сервисы аренды и каршеринга. Сюда можно отнести разработку сервисов для автоматического бронирования различных объектов недвижимости, автомобилей и т.д.
  • Букмекерские конторы. «Умные» цифровые договоры могут успешно применяться и в букмекерских конторах. Например, пользователь выбирает исход события в футболе между командами «Локомотив» и «Зенит». Он делает ставку на победу первой в размере 100$. Коэффициент выигрыша в случае успеха составляет 1.5. После проведения матча, команда «Локомотив» выиграла со счетом 2:0, а это значит, что условия контракта были выполнены и выплата автоматически поступит на брокерский счет пользователя в размере 150$. Данные матча получают из внешних источников с помощью программ-оракулов.

Безопасность смарт-контрактов

Технологии «умных» контрактов имеют такой же уровень безопасности, как и транзакции в криптовалютной сети. В процессе выполнения цифрового договора система постоянно мониторит предыдущие записи в реестре и сопоставляет с текущими условиями контракта. Каждая новая запись в блокчейне записывается в реестр, где ей присваивается временная метка и другие важные данные. Благодаря этому, невозможно вмешаться в сделку и изменить ее условия. В процессе передачи данные шифруются алгоритмом, который применяется в сети блокчейн, например, SHA-256 (Bitcoin). Все это позволяет гарантировать высокую степень безопасности работы смарт–контрактов и то, что все условия будут соблюдены.

Преимущества и недостатки «умных контрактов»

Мгновенная скорость выполнения цифрового договора;
Безопасность;
Децентрализация;
Не требуется доверия между сторонами;
Широкая сфера применения;
Исключается риск человеческого фактора;
Экономия на затратах в сравнении с обычными контрактами (оплата услуг юристов, нотариусов, комиссии банка и т.д.);
Отсутствие географической привязки.
Отсутствие юридической силы во многих юрисдикциях;
Ошибки в коде (баги) могут повлечь за собой неверное исполнение условий контракта;
Невозможно дополнить или изменить условия после инициализации контракта.

Будущее смарт-контрактов

«Умные» контракты потенциально могут вытеснить обычные виды договоров, которые требуют значительных человеческих, временных и материальных ресурсов. Благодаря полной автоматизации и децентрализации технологии, сводятся к нулю риски, присутствующие при создании классических контрактов, а именно фальсификация, коррупция, бюрократия.

Основной трудностью для массового внедрения смарт-контрактов является их правовой статус. Для любых договоров важно, чтобы их можно было обжаловать в суде. Это относится и к смарт-контрактам. После создания соответствующей нормативно-правовой базы, процесс их интеграции в различные сферы ускорится. Первой страной, которая уже подтвердила юридическую силу смарт-контрактов, является Беларусь.

Есть мнение, что массовое внедрение смарт-контрактов может оставить многих специалистов (например, юристов, нотариусов) без работы, но это далеко не так. Их знания будут полезны при разработке умных договоров, например, подготовить юридическую документацию на которую будут опираться алгоритмы. Массовое внедрение смарт-контрактов также породит спрос на программистов в сфере блокчейна.

Заключение

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

Приходилось ли вам сталкиваться с технологией блокчейн на личном опыте?
Да, у меня уже был опыт использования технологии блокчейн, и я оценил его преимущества
29.79%
Нет, я пока знаком с ней лишь в теории, но много читал и хотел бы увидеть ее в действии
46.81%
Нет, пока не сталкивался и сомневаюсь в ее эффективности
19.15%
Другое. Напишите ваш ответ в комментариях
4.26%
Проголосовало: 47

Эксперт в области программного взаимодействия с криптобиржами. Системный аналитик, разработчик и автор научных исследований. Имеет обширный опыт в IT и научно-исследовательской сфере. Автор более 50 научных статей.
Редактор. В криптовалютах с 2017 года. Организовал более 100 офлайн-мероприятий для крипто- и блокчейн-энтузиастов. Руководил разработкой блокчейн-платформы по токенизации активов, торговых роботов для криптовалютного рынка.
star 4.7 (34 оценки)
Оценить статью

Комментариев (3)

Lavernlow
Lavernlow
2018-02-05 21:58:19
На каких еще блокчейнах есть смарт контракты?
Андрей Чесс
Андрей Чесс
2017-12-20 16:15:00
Интересная и познавательная статья! Понял теперь что реально можно зарабатывать на криптовалюте! Обязательно попробую и сам!
Андрей Биктимиров
Андрей Биктимиров
2017-12-19 08:19:00
Статья очень интересная и полезная, понятно написано ?давно искал эту информацию и нашёл, разобрался с этой темой, теперь можно перейти к практике, благодарю вас
Оставьте ответ
Другие пользователи увидят Ваше имя, а email мы сохраним в конфиденциальности
Обязательное поле arrow
Обязательное поле arrow
Обязательное поле arrow
Нажимая на кнопку «Отправить», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.
arrow
Ваше сообщение успешно отправлено!
Наш специалист в ближайшее время свяжется с Вами и проконсультирует по интересующему вопросу