Что такое смарт-контракт?
Смарт-контракты – это компьютерные алгоритмы, необходимые для передачи информации и обеспечения выполнения сторонами условий контракта без посредников. Еще в 1994 году специалист по криптографии Ник Сабо озвучил идею самоисполняемых контрактов, но реализовать ее удалось только после того, как был изобретен блокчейн.
Чтобы smart-контракт был выполнен, система должна знать:
- Участников – стороны, заинтересованные в выполнении условий контрактов. Для их верификации используется электронная подпись либо мультиподпись (если их много).
- Предмет договора. К примеру, покупатель заказывает в интернет-магазине товар и хочет оплатить его после получения. Тот же «наложенный платеж», но с меньшим риском для обеих сторон. Продавец согласен, но с условием, что в случае отказа будет оплачена доставка туда-обратно, то есть покупатель покроет убытки. Система фиксирует требования обеих сторон, резервирует определенную сумму средств на счету покупателя и списывает их только в случае соблюдения всех требований.
- Условия договора. Информация об обязательствах сторон и санкциях в случае их нарушения вносится в программу, после чего она сама следит за выполнением условий. Если все в порядке: покупатель получает качественный товар, а продавец – деньги.
Важно! Система smart-контрактов позволяет не привлекать посредников (банки, государственных служащих), обеспечивая безопасность и прозрачность сделки с минимальными затратами.
Как работают смарт-контракты
Блокчейн позволяет совершать безопасный обмен собственностью, ценными бумагами, деньгами и прочими активами без посредников. Это децентрализованная система, множество компьютеров, объединенных в одну цепь. Поскольку обработкой заказов занимается программа, человеческий фактор исключен – никто из участников сделки не сможет изменить прописанные условия или интерпретировать их в свою пользу. Как работают смарт-контракты:
- Пользователь отправляет запрос на проведение транзакции, ее проверяют специальные узлы (любой компьютер в блокчейн-сети) – их называют нодами.
- Система распознает код (условия контракта) и после подтверждения добавляет в цепочку блокчейна новый блок, в котором и будет храниться информация о транзакции. Ее нельзя изменить, но можно отследить, так что сделка полностью прозрачна.
- Система смарт-контрактов проверяет условия выполнения контракта и, если все в порядке, подтверждает сделку.
Важно знать, что смарт-контракты – лишь элементы сети, они не работают децентрализованно – за это отвечают блокчейн-технологии. Умные контракты реагируют только на транзакции и не имеют доступа к основной системе – это сделано, чтобы уберечь сеть от взлома.
Схематично процесс заключения смарт-контрактов можно изобразить так:
Плюсы и минусы смарт-контрактов
Основные преимущества:
- Отсутствие посредников – вы никому не платите процент за транзакцию или предоставление услуг.
- Отсутствие человеческого фактора – все данные хранятся в распределенном реестре, заинтересованное лицо не может их изменить.
- Возможность получить более выгодные условия, сэкономить время – не придется идти к юристу или в банк за подтверждением сделки.
- Вопросы решаются автоматически. Как только система посчитает пункты контракта выполненными – происходит обмен активами.
- Это абсолютно прозрачный и безопасный способ обмена.
Недостатки системы:
- Как и любая программа, система смарт-контрактов не застрахована от ошибок и багов. Опечатка в коде – и транзакция либо будет отменена, либо уйдет не по тому адресу.
- Мало специалистов, которые могут создать умный контракт и прописать все условия сделки.
- Недоверие со стороны участников. Криптовалюты – явление новое и малоизученное, не все готовы принять технологии, созданные для этой сферы.
- Потеря ключей к кошельку. Если в банк можно прийти с документами и восстановить доступ к счету или открыть новую карту, то в случае потери ключей от кошелька, вы сделать ничего не сможете.
Конечно, здорово, что смарт-контракты действуют по программе без привлечения третьих лиц. С другой стороны, с людьми проще договориться. Рассмотрим ситуацию: банковская система зависла и не пропустила ваш платеж. Человеку можно позвонить и перенести сделку на завтра. Система же рассмотрит невнесение оплаты как нарушение условий контракта, и сделка будет либо отменена, либо придется заплатить штраф.
Правовое регулирование смарт-контрактов
Пока смарт-контракты – это экспериментальная технология и в мире нет систем, полностью заточенных под эти коды. Многие крупные компании планируют внедрение smart-контрактов, но пока они востребованы только в криптовалютной сфере.
Еще не было прецедента рассмотрения невыполненного смарт-контракта в суде. Это проблематично по той причине, что для интерпретации кода потребуются знания блокчейн-технологий и языков программирования. Сложно установить, когда и как был оформлен контракт, были ли нарушены обязательства и чья вина в том, что перевод, к примеру, отправлен на другой адрес.
В России криптовалюты и связанные с ними технологии пока не регулируются. Если до конца июня 2018 года закон будет принят, возможно, смарт-контрактами начнут интересоваться активнее. В частности, руководство РЖД уже сообщило о намерении внедрить в систему децентрализованный реестр и смарт-контракты, но только после того, как они будут регулироваться на государственном уровне.
Использование смарт-контрактов
Теоретически смарт-контракты можно включить в систему деятельности любой компании. Больше не нужно проводить голосование и собрание акционеров – все заменяется протоколом «мультиподпись». Если решение поддержало нужное количество участников – сделка совершается, нет – на обсуждение выносится следующий вопрос. Смарт-контракты могут облегчить жизнь работников многих сфер:
- Бизнес, государственные службы. Умные контракты дают возможность контролировать свои активы, вести единый реестр данных и совершать в день сотни сделок. Все транзакции легко будет отследить в блокчейне, отличная возможность сэкономить на аудите. Кстати, налоговая декларация тоже может формироваться автоматически.
- Финансовая сфера. Начать с банального – платежи. Умные контракты позволяют обойтись без посредников, транзакции происходят автоматически, в запрограммированном объеме и с желаемой периодичностью. Международные переводы тоже значительно упрощаются.
- Юридическая сфера. Умные контракты упрощают проведение сделки – все условия в них прописаны, как и в бумажном договоре. Только не придется обивать пороги у нотариусов и юристов. В коде можно прописать все желаемые условия: время, условия передачи средств, требования к качеству услуги или товара, штрафные санкции и прочее. Система – самый непредвзятый аудитор и судья.
- Сфера недвижимости. Платежи за аренду, ипотеку, реестр недвижимости, оформление сделок – все просто, прозрачно и понятно. Без жульничества и накруток агентств.
- Сфера перевозок. Блокчейн и умные контракты позволяют отслеживать перемещение товаров, рейсы транспортных средств, возможные изменения в маршруте – при этом анонимность пассажиров и заказчиков будет соблюдена.
- Сфера страхования. В смарт-контрактах может содержаться информация по каждому транспортному средству: история вождения, дата регистрации, номер страхового полиса и прочее. Продление страховки тоже происходит автоматически, без посредников.
- Медицинская сфера. Конфиденциальность соблюдается, но нет очередей возле кабинетов и неприятных сюрпризов вроде отсутствия специалистов. С помощью смарт-контракта можно записаться на прием, оставить свои данные, получить результаты обследований дистанционно. Клиники же смогут обмениваться информацией о пациентах и вести статистику.
Сравнение умных и обычных контрактов
Смарт-контракты |
Обычный контракт |
---|---|
Не нуждаются в посредниках, все этапы контролируются автоматизированной системой |
Составляется при помощи посредника, не исключены ошибки из-за человеческого фактора |
Зафиксированный контракт нельзя изменить или отменить |
Есть несколько вариантов интерпретации сделки, возможность изменить или переписать контракт |
Обе стороны обязаны выполнить условия сделки, иначе автоматически последуют санкции и штрафы |
Условия контракта «на бумаге» выполняются не всегда. Претензии приходится решать в судебном порядке |
Из цепочки транзакций исключены банковские структуры |
Банки получают свой процент за проведение сделки |
Обмен средствами, вещами, услугами происходит мгновенно |
Задержка может составлять несколько банковских дней |
Благодаря блокчейну транзакции нельзя подделать, но можно узнать необходимую информацию |
Получить информацию из государственных структур очень сложно |
Смарт-контракты доступны в любой точке мира |
Для подписания необходимо личное присутствие обоих сторон |
Система работает на единых условиях, исключены мошеннические схемы. |
Всегда есть вероятность обмана или фальсификации. |
Важно! Смарт-контракты и обычные договора объединяет одно: их нужно составлять при помощи специалистов. Ошибка в коде и ошибка в формулировке может дорого стоить одной из сторон.
Смарт-контракт и криптовалюты
Первопроходцем в области смарт-контрактов стал Виталик Бутерин – программист и разработчик платформы Ethereum. Большой плюс этого проекта в том, что команда не просто продает криптовалюту, но и всячески развивает экосистему. На платформе создаются сотни децентрализованных приложений и криптовалют. Смарт-контракты – неотъемлемая часть системы. Они делятся на 2 категории:
- Автоматизированные – готовый программный код, предложенный системой.
- Написанные вручную – параметры и условия сделки прописываются программистом самостоятельно.
За оформление смарт-контракта пользователь платит фиксированную цену в gas – базовая криптовалюта ETH конвертируется в gas. Это сделано для того, чтобы стоимость сделки оставалась константной, а не менялась вместе с волатильностью цифрового актива.
Аналогичную услугу будет предлагать и платформа EOS – ее считают главным конкурентом Ethereum. Разработчики также дают возможность создавать уникальные смарт-контракты со множеством переменных. NEO, Cardano, Stellar также используют эту технологию.
Что касается других платформ, возможности Bitcoin, NXT, Side Chains очень ограничены. Как правило, пользователю предлагают шаблоны блокчейна с незначительными изменениями.
Примеры смарт-контрактов
Если говорить о программном коде, то пример смарт-контракта будет выглядеть так:
Но о кодах мы поговорим позже, а сейчас давайте рассмотрим, как можно использовать умные контракты в реальной жизни:
- Тотализатор. Многие бывали или хотя бы видели рекламу сайтов-тотализаторов. Схема простая: делаете ставку, если она выигрывает – получаете деньги. Проблема в том, что эта сфера никем не контролируется и удачливого посетителя могут просто «кинуть». Смарт-контракты же делают исполнение сделки обязательным для обеих сторон, и мошенник не сможет изменить код и отменить транзакцию.
- Регулярные платежи. У многих банков есть такая услуга – снятие определенной суммы для оплаты счетов, но приходится платить комиссию и зависеть от посредника. Умные контракты позволяют упростить эту схему. С помощью программы можно заключать договоры об аренде, платить ипотечные взносы, совершать покупки без риска.
- Аутентификация личности. Если система smart-контактов будет внедрена в работу госструктур, то после подтверждения личности можно будет легко заключать договора и контракты онлайн. Дистанционно брать выписки и справки, экономить деньги, время и нервы.
Создание смарт-контрактов
Смарт-контракты можно заключать на любых блокчейн-платформах. Для этого нужно иметь аккаунт в сети и знать языки программирования. Системы используют два вида контрактов:
- Полный по Тьюрингу. Такой алгоритм использует Ethereum, RootStock, планирует применять EOS. Программа позволяет задавать любые условия выполнения: функции вероятности, циклы, собственные электронные подписи и прочие.
- Неполный. Система использует заранее прописанные смарт-контракты. В произвольном порядке можно использовать лишь некоторые операции, но нельзя полностью изменить цикл или переписать алгоритм. Такие контракты использует Stellar, NEO, Cardano.
Разработка смарт-контракта
Пока IT-специалистов высокого уровня, которые занимаются разработкой смарт-контрактов на рынке немного. Написание смарт-контрактов – направление новое, и необходимо выбрать хорошего программиста, чтобы не потерять свои средства. Это особенно важно, если умные контракты необходимы для запуска ICO и последующей токенизации. Читайте отзывы о разработчиках и не ведитесь на лозунги «15 лет на рынке» – смарт-контракты появились всего 5 лет назад.
Языки программирования
Теоретически смарт-контракты могут быть написаны на любом языке – Python, JavaScript, Goland, PHP, C++ и прочие. Разработчики Ethereum выбрали для своей платформы программный язык Solidity – он похож на JavaScript, но сложнее. Выбор языка программирования зависит от типа блокчейна и требований системы.
Как создать смарт-контракт
Поскольку Ethereum – самая популярная платформа для создания смарт-контрактов, рассмотрим процесс создания на его примере. На платформе существует два типа аккаунтов – пользовательский (с личным ключом) и контрактный (управляется программным кодом). Ключ аккаунта пользователя – это и есть та электронная подпись, которой будет необходимо заверить контракт.
Кто-то из пользователей пишет исходный код, после чего он проходит через компилятор и перемещается в поле транзакции. Транзакция заверяется от имени аккаунта участника контракта. Примерная структура контракта следующая:
Nonce – порядковый номер транзакции в аккаунте пользователя. Он необходим, чтобы не было путаницы и один и тот же платеж не прошел дважды. Благодаря идентификатору транзакции присваивается уникальное значение хеш.
Gas Price – фиксированная сумма оплаты за выполнение условий договора и использование ресурсов платформы.
Start Gas – это поле еще называют лимитом, в него вписывается максимальное вознаграждение, которое участник системы готов потратить на выполнение транзакции. Это сделано для того, чтобы в случае ошибки системы со счета пользователя не сняло лишних средств.
Destination. Вводится номер кошелька получателя.
Value. Пользователь вписывает сумму, которую необходимо отправить на указанный адрес.
Data. В этом поле прописываются непосредственно условия сделки, для каждой переменной есть свое название и пример кода.
Signature. Публичный ключ для проверки подписи и непосредственно электронная подпись.
Смарт-контракты – это новая, местами несовершенная технология, но она может стать заменой многим централизованным схемам. Такие алгоритмы повышают уровень безопасности сделок и экономят массу времени и средств путем устранения посредников.
Смотрите также:
Подписывайтесь на наш Телеграм-канал или группы Вконтакте и Facebook и будьте в курсе событий!