Смарт-контракты или как их еще называют — умные контракты, вошли в обиход вместе с технологией блокчейн и криптовалютами. Для многих они до сих пор остаются тайной за семью печатями, а потому разбираем, что кроется за этим загадочным и перспективным явлением — кому они нужны, как создаются и где применяются.
Что такое смарт-контракт?
Смарт-контракт происходит от английского термина smart contract, что переводится как «умный контракт». Это самоисполняемый компьютерный код, который записывается в блокчейн — децентрализованную цепочку блоков, хранящуюся на множестве компьютеров. Он позволяет обмениваться активами — деньгами, акциями и другими видами собственности напрямую без участия третьих лиц.
В контракте прописаны все условия сделки и, если участники их выполняют, автоматически получают требуемое.
Если рассматривать смарт контракт для чайников простыми словами, то представьте, что вы продаете дом и есть покупатель, который готов его приобрести. В стандартной ситуации (без применения умных контрактов), поскольку вы друг другу не доверяете, вам нужно привлекать посредников: юристов, нотариусов, финансовые учреждения, чтобы провести сделку.
Придется собирать кучу документов, выстаивать в очередях, заверять их у нотариуса. Все проверки могут занять значительное количество времени, а кроме того, услуги посредников необходимо еще и оплачивать.
В случае со смарт-контрактом есть только — покупатель, продавец и компьютерный алгоритм. Программа самостоятельно сверяет выполнены ли все условия сделки ее участниками и, если да, автоматически распределяет активы. Покупателю переходит недвижимость, продавцу — деньги. Это, конечно, идеальный вариант до которого современному миру еще далеко.
В этом и заключается одно из основных преимуществ — смарт контракт на блокчейне исключает из процесса посредников, и максимальная оптимизирует процесс. Усилий потрачено минимум, время сэкономлено, исключен человеческий фактор.
Умный контракт сам все проверяет и сам себя исполняет
Немного истории
Нельзя сказать, что умные контракты появились вместе с криптовалютами в последние 9 лет. Идея витала в воздухе еще в 90-х годах прошлого столетия. Первым ее описал известный американский ученый и криптограф Ник Сабо. В частности, по его определению, умный контракт — это «электронный протокол передачи данных, который обеспечивает исполнение условий контракта всеми сторонами»
Однако среды, в которой умные контракты могли бы существовать, на то время не было. А потому описанная идея ждала своего часа. И он настал — в 2008 году с появлением технологии блокчейн и первой криптовалюты биткоин.
Все бы хорошо, но возможности блокчейна биткоина для создания смарт контрактов весьма ограничены. На нем можно программировать простейшие алгоритмы, а потому разработчики продолжали экспериментировать дальше.
Так появилась платформа Ethereum, созданная Виталиком Бутериным с нуля, на которой умные контракты уже смогли предстать во всей красе. У разработчиков появилась возможность создавать приложения, не запуская собственный блокчейн. Все это благодаря тому, что смарт контракты в Ethereum написаны на тьюринг-полном языке, тогда как в сети биткоина полнота по Тюрингу отсутствует.
Как работает смарт контракт
Смарт контракт и блокчейн связаны неразрывно. Ведь компьютерный алгоритм должен быть где-то записан и для этого используется так называемая децентрализованная цепочка блоков blockchain.
Смарт-контракт имеет:
- четко прописанные условия, при достижении которых он будет выполнен;
- цифровые подписи участников договора;
- доступ к предмету договора — иначе говоря, к товарам или услугам, о которых идет речь.
Смарт контракт может:
- отслеживать, выполнены ли все условия, прописанные в нем;
- самостоятельно на основе предыдущего пункта принимать решения.
Приняв решение умный контракт:
- завершает сделку, распределяя активы между участниками;
или
- если условия не выполнены, накладывает штрафы, пеню. Также может автоматически закрыть доступ к активам при необходимости.
Активируется смарт-контракт и начинает выполнять запрограммированные действия с помощью транзакции, отправленной с кошелька пользователя, или сообщения от другого умного контракта, переданного ему напрямую через сеть. Для того, чтобы активировать умные контракты Etherium, потребуется необходимое количество газа (Gas), которым оплачиваются транзакции в сети Эфира.
Смарт контракт и внешний мир — оракулы
Код смарт контрактов прописывается в блокчейн и этой средой ограничен. Однако, чтобы им принимать решения выполняться или нет, необходимо контактировать с окружающим внешним миром и получать из него нужную информацию. Например, данные об изменении цен, температуре, статусе платежа. Для этого и были придуманы оракулы.
Они связывают smart contract с разными источниками данных за пределами блокчейна. Для примера, умные контракты Ethereum часто используют оракул Oraclize.
Преимущества умных контрактов
Среди главных плюсов умных контрактов выделяют такие:
- Они неизменяемы и хорошо защищены от несанкционированного внесения изменений или потери данных, что обеспечивается с помощью децентрализованного хранения.
- Прозрачность — все заинтересованные пользователи могут наблюдать за развитием событий. При этом сами участники процесса сохраняют конфиденциальность.
- Они самопроверяемы и самовыполняемы.
- Смарт контракты невозможно подкупить, перетянуть на свою сторону — здесь действуют четкие математические алгоритмы.
- Снижают расходы за счет устранения из процесса посредников.
- Высокая скорость благодаря автоматизации — то, что сегодня занимает дни и даже недели, благодаря контракту может быть выполнено буквально в течении нескольких минут.
- Стандартизация — чем дальше, тем больше вариантов смарт-контрактов появляется, из которых можно выбирать под свои потребности.
Уязвимости смарт-контрактов
Умные контракты все еще находятся на своей экспериментальной стадии развития. А потому предусмотреть при их создании все вероятные баги практически нереально. Во всяком случае пока. А критические ошибки нередко могут привести к непоправимым последствиям.
Вспомним первый децентрализованный венчурный фонд the DAO на Эфириуме. В результате атаки с использованием обнаруженной хакером уязвимости, фонд потерял более 60 миллионов долларов — они постепенно переводились на счета злоумышленника.
Из других недостатков умных контрактов можно отметить такие моменты:
- Правовое регулирование этой сферы пока оставляет желать лучшего.
- Много работы предстоит и в усовершенствовании программ-оракулов.
- Доработки требует и сама технология блокчейна, в частности, как никогда актуальны вопросы скорости обработки транзакций и масштабируемости.
- Отсутствие гибкости — все условия четко заранее запрограммированы. В отдельных случаях задекларированное ранее преимущество в виде неизменяемости может обернуться недостатком. Например, если будет допущена ошибка при вводе данных, исправить ее не представляется возможным.
- Вероятна и возможность, что данные могут быть подменены на внешнем источнике информации.
Препятствует их широкому распространению и тот факт, что расплачиваться пока возможно только криптовалютой. А это по многим причинам для серьезного бизнеса неудобно. Хотя бы потому, что статус криптовалют в большинстве стран до сих пор висит в воздухе и соответственно операции с ними считаются высокорискованными.
Ну и естественно не способствует популярности умных контрактов отсутствие представления о том, что же такое смарт-контракты, не только у широких масс, но и людей, которым такие алгоритмы смогли бы значительно упростить процесс ведения дел.
Многие услышав словосочетание «умный контракт» сразу включают воображение и представляют себе едва ли не всемогущую программу, решающую насущные проблемы. Хотя на деле смарт-контракты преимущественно выполняют весьма прозаичные задачи.
Как создать смарт контракт
Для начала необходимо неплохо разбираться в языках программирования. Если таких знаний нет, придется привлекать сторонних разработчиков. Далее выбираем блокчейн, на котором он будет функционировать.
Программирование смарт-контрактов в сети Эфириума происходит на языке Solidity. В качестве онлайн редактора и компилятора используется Remix. Готовый код советуют сперва залить в тестовую сеть и выловить возможные баги.
В простых контрактах действует логика «if-then-else», «when-do» — если… то…иначе. Часто действие смарт-контракта поясняют на примере торгового автомата. Вы бросаете доллар и этим запускаете следующее действие (если… то) — у вас появляется возможность выбрать товар (то… это). Когда выбор произведен, на очереди следующее действие — вы получаете желаемое.
Пример смарт-контракта на эфириуме и не один можно найти на etherscan.io. Точнее, здесь выложено тысячи исходников, и в каждом можно детально изучить логику построения кода. Вот образец простой голосовалки
Осенью 2017 года был запущен проект, призванный максимально упростить создание смарт-контрактов для людей, не разбирающихся в программировании. Платформа называется Etherparty. В настоящее время функционирует бета версия площадки. Разработчики обещают, что с помощью данного инструмента создавать умные контракты на любом совместимом блокчейне смогут пользователи с нулевым уровнем знаний.
Виды умных контрактов
Смарт-контракты сегодня можно разделить на несколько видов. Все зависит от того, насколько все этапы их выполнения автоматизированы. В частности:
- контракты, в которых все стадии полностью прописаны в программном коде;
- основная часть прописана на бумаге и запрограммирован только, предположим, этап проведения платежей.
Особняком стоят умные контракты, которые помимо того, что прописаны в блокчейне, имеют также бумажную копию для верности. Наибольшее распространение в настоящее время имеют контракты, в которых автоматизирован только один из этапов.
Блокчейн-сети и криптовалюты со смарт контрактами
Возможности смарт-контракта разнятся в зависимости от блокчейна, используемого для их хранения. Как уже упоминалось выше, умные контракты простейшего образца можно создавать на блокчейне биткоина. Самая популярная в настоящее время платформа для работы таких контрактов — Ethereum.
Среди других площадок отметим такие:
- форки битокина — Super Bitcoin, Bitcoin God;
- NEO — эту платформу нередко называют китайским Эфиром, поскольку принципы двух систем во многом схожи. Но главное преимущество NEO состоит в том, что тут поддерживаются такие популярные языки программирования как Python, Go, Java.
- EOS — упор сделан на асинхронные умные контракты, которые могут выполняться параллельно друг с другом, что на порядок увеличивает скорость обработки данных.
- NXT —платформа, где можно выбрать один из готовых контрактов. Количество пока не очень велико. Создать собственный возможности нет.
- Cardano — платформа не считает себя конкурентом Эфириума, поскольку позиционируется разработчиками как блокчейн третьего поколения, в то время как Ethereum они называют блокчейном второго поколения.
- Sawtooth — представленный в конце января 2018 года блокчейн-консорциумом Hyperledger распределенный реестр с ограниченным доступом. Поддерживает смарт-контракты на языке Solidity.
Как бы там ни было, наиболее распространенная криптовалюта для смарт контрактов в настоящее время — Эфириум. Удастся ли другим потеснить его с цифрового Олимпа – покажет время.
Применение смарт контрактов
Очертим главные области, в которые можно успешно внедрить умные контракты. В частности, это:
- логистика;
- аудит;
- страхование;
- кредитование;
- здравоохранение;
- бухгалтерский учет;
- идентификация личности;
- регистрация прав;
- игровая индустрия;
- выборы и другие всевозможные голосования;
- краудфандинг и многие другие.
Избирательный процесс
Проводить голосования с помощью умных контрактов — уже сегодня такую возможность рассматривают многие страны, в том числе Украина, Россия, Австралия. Это исключает любые фальсификации и обеспечивает максимальную честность процесса. А также решает вопрос низкой явки избирателей — ведь многим попросту нет желания куда-то идти, выстаивать порой очереди, чтобы отдать свой голос.
Кредитование
Человек берет в кредит квартиру, машину или телевизор и ежемесячно обязан выплачивать n-ную сумму банку. Если заемщик просрочил платеж с помощью смарт-контракта замок автомобиля или жилья будет заблокирован, а телевизор перестанет включаться.
Азартные игры
Предположим, несколько человек делают ставку на исход матча. Средства списываются с их счетов и сохраняются в блокчейне. Матч завершается, контракт сверяет результат и отправляет деньги тому, кто высказал правильное предположение. В случае ничьей средства возвращаются обратно к своим владельцам.
Аренда жилья
Возьмем в качестве другого примера сферу аренды жилья. Взаимодействовать между собой арендодатель и арендатор могут с помощью смарт-контракта. Умный контракт переведет владельцу недвижимости деньги, когда арендатор получит ключи. Если оплата за какой-либо месяц будет просрочена, и вовсе заблокирует вход в помещение квартиросъемщику. Естественно в случае, если используется «умный» замок с доступом к интернету.
ICO
И если в большинстве этих областей применение умных контрактов только находится на стадии планирования или тестирования, то в сфере первичного размещения токенов (ICO) они уже вовсю используются. С их помощью тысячи проектов собирают деньги на свое развитие. Смарт-контракт для ICO, к примеру, может быть разработан таким образом, что в случае, если кампания по сбору средств провалится, деньги будут возвращены вкладчикам.
Смарт контракт — пример из реальной жизни
По сложности смарт-контракты бывают разные. Одни представляют собой простейшие алгоритмы, другие — сложные модели, которые требуют значительно больше вычислений. В качестве примера первых можно привести мультиподпись — multisig. Предположим, стороны договора друг другу не доверяют. Они замораживают с помощью умного контракта определенное количество денег. В дальнейшем потратить их возможно только в том случае, если свою подпись поставило больше половины участников, что сейчас активно уже используется.
Больше конкретики!
Применение смарт-контракта в недвижимости — уже можно считать сложным вариантом. Впервые в мире квартира подобным образом была продана в Украине на правом берегу Киева. Для проведения сделки использовался смарт контракт Эфириума, а также децентрализованный американский маркетплейс Propy. Покупателем стал советник этой площадки, а также основатель издания TechCrunch Майкл Аррингтон. Оплата происходила в криптовалюте Эфириум. На данном этапе развития смарт-контрактов процесс происходил так:
- Покупатель и продавец заключили контракт, и покупатель внес депозит, необходимый для оплаты жилья.
- Поскольку участники сделки находились в разных уголках мира, с помощью площадки локальному представителю покупателя была выдана доверенность от его имени, удостоверенная местным нотариусом.
- Propy предпринимает необходимые действия по проведению сделки — оплата работы оценщика, всевозможных сборов.
- Продавец встречается с представителем покупателя у нотариуса для подписания документов.
- Происходит перерегистрация права собственности на покупателя — данные вносятся в реестр.
- Как только смарт-контракт получает данные из реестра, он разблокирует деньги, и они переходят к продавцу.
Как видим, пока процесс сложно назвать упрощенным. В будущем его обещают максимально автоматизировать.
Вот как выглядит смарт-контракт данной сделки, выложенный на Githab компании, точнее часть контракта, где описан процесс подписания договора участниками, а недвижимость замораживается в ожидании завершения процесса.
Так чем смарт контракт лучше нотариуса спросите вы. Да много чем. Это на порядок упрощает проведение сделок, защищает их от фальсификаций. Ниже в табличке представляем сравнение smart-контрактов и классических договоров.
Умные контракты vs обычные договора
Умные контракты |
Традиционные договора |
Самоисполняемость | Нужны посредники (нотариусы, брокеры, банки) |
Перевод денег автоматически | Перевод денег вручную |
Минимальные расходы | Дорого — оплата услуг посредников |
Условия в контракте невозможно переписать задним числом — они соблюдаются неукоснительно | Пункты договора могут истолковываться в будущем двояко. Разночтения могут привести к тому, что придется обращаться в суд. |
Код — это неподкупный закон | Посредников можно подкупить |
Смарт-контракты – какие перспективы?
Перспективы у смарт-контрактов поистине огромные. Они способны кардинально изменить многие сферы жизни: от недвижимости до азартных игр, страхования, поставки товаров, голосований. Однако только тогда, когда их работа будет многократно протестированной и предсказуемой. Пока же все находится на стадии экспериментов.
Помимо этого, внедрение умных контрактов должно быть плавным, ведь массовое и резкое их применение оставит без работы огромное количество людей: регистраторов, нотариусов, банковских служащих.
Тем не менее, как когда-то машины вытеснили рабочих с производства, так и в обозримом будущем новые технологии заменят живых людей во многих профессиях. Это лишь вопрос времени.
Эксперты уверены, что уже в 2018 году как крупные корпорации, так и целые государства признают огромный потенциал как технологии блокчейн, так и умных контрактов.