Смарт-контракт (умный контракт)- это электронный вариант договора между людьми, который осуществляется безопасно и автоматически, через технологию блокчейн. Мы постараемся максимально просто и подробно объяснить что это такое, но для вашего же удобства советуем прочесть нашу статью о блокчейне: во-первых, без этого слова типа “хэш-код дублируется в регистре блока сети майнерами” — останутся для вас магическим заклинанием, во-вторых, блокчейн и смарт-контракт — это как Гарри Поттер и волшебная палочка, одно без другого не работает.
Итак, автомобили становятся беспилотными, деньги виртуальными, интеллект искусственным, а контракты… — умными. Смарт-контракт — это специальная программа, которая обеспечивает автоматические выполнение определенных условий. Условия могут быть совершенно разными: поступление денег на счет при покупке недвижимости, заданный маршрут для езды на беспилотном автомобиле, согласие пациента для медицинского обследования — в общем все, что подходит под шаблон “если “то”, то “это””.
В обычной ситуации для осуществления всего этого понадобится вмешательство третьих лиц (юристов, контроллеров, менеджеров, докторов), куча потраченного человеко-времени и много бюрократической волокиты. В случае со смарт-контрактом нужен только правильный код — программа устроена таким образом, что все данные уже прописаны в нём и максимально защищены силой математики. Исказить или повлиять на условия в ходе исполнения невозможно (в отличие от простых договоров, где всегда имеет место человеческий фактор).
Если по нашей рекомендации вы прочли статью про блокчейн, то должны быть в курсе, что система криптографии обеспечивает максимальный уровень информационной защиты известный сегодня человечеству. Ученый в области информационных технологий Ник Сабо ещё в 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.