Что такое смарт контракты? Просто о сложном

Смарт-контракт (умный контракт)- это электронный вариант договора между людьми, который осуществляется безопасно и автоматически, через технологию блокчейн. Мы постараемся максимально просто и подробно объяснить что это такое, но для вашего же удобства советуем прочесть нашу статью о блокчейне: во-первых, без этого слова типа “хэш-код дублируется в регистре блока сети майнерами” — останутся для вас магическим заклинанием, во-вторых, блокчейн и смарт-контракт — это как Гарри Поттер и волшебная палочка, одно без другого не работает.

Итак, автомобили становятся беспилотными, деньги виртуальными, интеллект искусственным, а контракты… — умными. Смарт-контракт — это специальная программа, которая обеспечивает автоматические выполнение определенных условий. Условия могут быть совершенно разными: поступление денег на счет при покупке недвижимости, заданный маршрут для езды на беспилотном автомобиле, согласие пациента для медицинского обследования — в общем все, что подходит под шаблон “если “то”, то “это””.


Смарт-контракт — это специальная программа, которая обеспечивает автоматические выполнение определенных условий. Условия могут быть совершенно разными: поступление денег на счет при покупке недвижимости, заданный маршрут для езды на беспилотном автомобиле, согласие пациента для медицинского обследования — в общем все, что подходит под шаблон “если “то”, то “это””.


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

Если по нашей рекомендации вы прочли статью про блокчейн, то должны быть в курсе, что система криптографии обеспечивает максимальный уровень информационной защиты известный сегодня человечеству. Ученый в области информационных технологий Ник Сабо ещё в 1994 году догадался, что технологию можно использовать для заключения договоров. Простейший вид такого договора можно создать на коде Bitcoin, но он не обладает полнотой по Тюрингу (простыми словами — на нем мало чего можно написать). По-настоящему реализовать смарт-контракт позволила технология Ethereum, создатели которой усовершенствовали блокчейн биткоина, добавив возможность встраивать в код условия транзакций.

Принцип работы смарт контрактов

Работают смарт контракты по следующему принципу:

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

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

Простейший пример умного контракта может выглядеть, например, так.

Вы заказываете товар в интернет магазине по предоплате. Контракт в этом случае составлен так, что после заказа покупка должна быть доставлена к вам в течение определенного срока (подтверждением доставки может служить ваша электронная подпись). Закодированные условия контракта могут быть написаны следующим образом:

1. если от покупателя пришла оплата товара, зафиксировать это в таблице долга компании;

2. если товар доставлен, зафиксировать момент передачи товара электронной подписью, перенести деньги в таблицу прибыли;

3. если товар доставлен, но покупатель не появился, перечислить часть суммы на оплату курьера, остальное отправить покупателю;

4. если товар не доставлен в течение определенного срока, перечислить сумму долга покупателю.

Смарт-контракты, как основа ICO

Самое широкое распространение смарт-контракты получили в сфере криптовалют в ICO (первичное распределение монет, при стартапе нового крипто-проекта). То, что будет написано ниже не стоит считать точным примером смарт-контракта ICO, но общую картину можно представить так:

1. если от адресата-A пришла сумма X — перевести ему N токенов;

2. сумма X зачисляется в таблицу долгов основателя-B криптовалюты;

3. если сумма собранных средств достигла XXX и проект вышел на биржу, то токены остаются во владении адресата-A, а сумма X остается у основателя-B;

4. если проект до биржи не дошел, то сумма X возвращается адресату-A, а токены остаются у него.

Условия могут быть и другими, зависит от замысла авторов проекта, но основной принцип такой.

Отличие смарт-контрактов от традиционных договоров

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

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

Что такое “оракул”?

Что такое оракул в смарт контрактах?

Для более полного понимания смарт-контракта осталось разобраться в том, откуда в блокчейн поступает информация о выполненных условиях. В древнем мире люди, в любой непонятной ситуации шли за советом к третьему лицу, обладающему всезнанием — оракулу. В мире инновационных технологий словом “оракул” называют программу, к которой обращается смарт-контракт, когда ему нужна переменная информация из внешнего мира. Оракул переводит её на язык блокчейн и встраивает в код.

Программы-оракулы могут принимать любые формы: в случае с интернет-покупкой — оракулами будут считыватель электронной подписи и определитель состояния счета, например. Без их существования сфера применения умных контрактов сузилась бы до безобразия, и ограничивалась сделками типа “A перевёл B столько-то монет; B получил от A ** монет”.

Цена смарт-контракта

Итак, код контракта написан и запущен в сеть. Он будет циркулировать и дублироваться в регистре блокчейна до тех пор, пока стороны контракта не будут удовлетворены. Соответственно программа занимает место в блоке, а майнеры тратят дополнительные мощности на её переработку. Чтобы покрыть эти расходы создатели смарт-контракта оплачивают время пребывания контракта в сети блокчейн. В случае с сетью Ethereum единицей оплаты считается “Газ” — это такая “копейка” от Эфира. В реальности это очень незначительные суммы, однако этого достаточно, чтобы обезопасить сеть от громоздких смарт-контрактов и DDoS-атак (злоумышленной перегрузки сети).

Недостатки смарт-контрактов

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

  • Чтобы написать такой контракт могут только программисты, владеющие языком Solidity. В будущем процесс написания контракта должен стать простым и доступным каждому.
  • Сохраняется проблема масштабируемости, т.е. сеть забивается большим количеством неисполненных смарт-контрактов, в результате чего растут перегрузки и уменьшается скорость исполнения.
  • Если в код закралась ошибка, нет никакой возможности её исправить или отозвать контракт.
  • Сохраняется проблема достоверности информации программ-оракулов, которую можно исказить.
  • Пока для использования таких договоров необходим кошелек Ethereum и сама криптовалюта.

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

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