Что такое смарт контракт. Поиск решения проблем

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

На самом деле, этот термин появился раньше - в 1994 году. Что это такое?

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

В первые цепочки был внедрён протокол смарт-контрактов, но в дальнейшем был задействован так называемый метод Тьюринга, который ограничил смарт-протокол в блокчейне биткоина лишь обычной мультиподписью или методом отложенной транзакции.

В дальнейшем смарт-контракт найдет своё применение, но только в 2013 году, с момента запуска эфириум, и руку к этому приложит наш бывший соотечественник Виталик Бутерин.

Смарт-контракт - объяснение с точки зрения терминологии

Исходя из названия, смарт-контракт имеет английские корни.

Дословный перевод «умный контракт», который выполняется в среде , предназначен как для создания контрактов, самоисполняемых, так и для контроля работы заданных задач.

Все рабочие контракты помещаются в блокчейн, поддержка и управление осуществляется сетью компьютеров, установленные по всему миру.

Смарт-контракты - в чем сила и фишка?

Все очень просто, здесь вы не увидите «лишних ушей», в виде посредников, которые в реальной жизни замедляют рабочие процессы и тормозят оперативность выполнения поставленной задачи.

И вы знаете в лицо – это известные вам банки, государственные органы, юристы, надзорные ведомства и т.д. Главный принцип системы - это прозрачность, честность и открытость.

Вы думаете, что нарушать условия смарт-контрактов сможет любой? Ничего подобного!

Прямо в контракте прописаны ответственности всех сторон, обязательства по оплате штрафов или неустоек.

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

В целом, смарт-контракт бывает иногда жёстким, чем госорганы, но зато эффективным.

Смарт-контракт - как выглядит «виртуальный договор»

Теперь вы думаете, что смарт-контракт, это некий «компьютерный бюрократ», который нагружает вас ненужными действиями.

Здесь вы тоже ошибаетесь.

Сама логика всех действий будет размещена в блокчейне, который перемещает задачи в программный контейнер, или блок информации.

Последняя цепочка объединить все действующие сообщения по конкретному проекту или задаче.

Сообщения можно будет вводить или выводить за пределы программного кода, за пределы блокчейна в реальный или цифровой мир.

Структура строения смарт-контракта примерно такова:

1 Наличие электронной подписи у двух и более участников (оракулов), принимающих участие в программном блоке.

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

3 Предмет договора, а также инструменты (счёт криптовалютный, предметная программа-оракул и т.д.).

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

Смарт-контракты - варианты и категории

По степени автоматизации можно разделить на три группы, причём можно дублировать каждую группу, но основная программа закрепляется только в одной рабочей схеме взаимодействия:

  • Автоматизированный процесс на 100%;
  • Копии на бумажном носителе информации;
  • Бумажная копия (преимущество), а основные платежи только в автоматизированном электронном формате.

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

Например, есть идея передавать в аренду квартиры только через смарт-контракты. Так, арендатор заключает договор с квартирантами через интернет. Не нужно ездить на встречи и т.д. для заключения договоров. Съёмщик жилья получить только ключи, и оплачивает жилье по смарт – контракту. Например, вы просрочили аренду, дверь в квартиру автоматически заблокируется, и вы не сможете больше воспользоваться жильём. Таковы условия смарт-контракта, и скорее всего так будет выглядеть аренда сферы недвижимости в будущем.

Смарт-контракт - где будет внедрена технология

Сфера применения достаточно обширная, начиная от простой мультиподписи, и заканчивая производными финансовой системы мира.

Самый простейший вариант - мультиподпись, уже активно используется в общественной жизни.

Например, контрагенты не доверяют друг другу, но могут заморозить определённое количество монет в до тех пор, пока не наберётся необходимо количество оракулов.

В ICO смарт-контракт позволяет запрограммировать все действия так, если всей участники проведённого краудсейла будут уверены в результативности проекта до тех пор, пока не будет достигнута цель.

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

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

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

Чтобы smart-контракт был выполнен, система должна знать:

  • Участников - стороны, заинтересованные в выполнении условий контрактов. Для их верификации используется электронная подпись либо мультиподпись (если их много).
  • Предмет договора. К примеру, покупатель заказывает в интернет-магазине товар и хочет оплатить его после получения. Тот же «наложенный платеж», но с меньшим риском для обеих сторон. Продавец согласен, но с условием, что в случае отказа будет оплачена доставка туда-обратно, то есть покупатель покроет убытки. Система фиксирует требования обеих сторон, резервирует определенную сумму средств на счету покупателя и списывает их только в случае соблюдения всех требований.
  • Условия договора. Информация об обязательствах сторон и санкциях в случае их нарушения вносится в программу, после чего она сама следит за выполнением условий. Если все в порядке: покупатель получает качественный товар, а продавец - деньги.

Важно! Система smart-контрактов позволяет не привлекать посредников (банки, государственных служащих), обеспечивая безопасность и прозрачность сделки с минимальными затратами.

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

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

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

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

Схематично процесс заключения смарт-контрактов можно изобразить так:

Плюсы и минусы смарт-контрактов

Основные преимущества:

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

Недостатки системы:

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

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

Правовое регулирование смарт-контрактов

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

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

В России криптовалюты и связанные с ними технологии пока не регулируются. Если до конца июня 2018 года закон будет принят, возможно, смарт-контрактами начнут интересоваться активнее. В частности, руководство РЖД уже сообщило и смарт-контракты, но только после того, как они будут регулироваться на государственном уровне.

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

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

  • Бизнес, государственные службы. Умные контракты дают возможность контролировать свои активы, вести единый реестр данных и совершать в день сотни сделок. Все транзакции легко будет отследить в блокчейне, отличная возможность сэкономить на аудите. Кстати, налоговая декларация тоже может формироваться автоматически.
  • Финансовая сфера. Начать с банального - платежи. Умные контракты позволяют обойтись без посредников, транзакции происходят автоматически, в запрограммированном объеме и с желаемой периодичностью. Международные переводы тоже значительно упрощаются.
  • Юридическая сфера. Умные контракты упрощают проведение сделки - все условия в них прописаны, как и в бумажном договоре. Только не придется обивать пороги у нотариусов и юристов. В коде можно прописать все желаемые условия: время, условия передачи средств, требования к качеству услуги или товара, штрафные санкции и прочее. Система - самый непредвзятый аудитор и судья.
  • Сфера недвижимости. Платежи за аренду, ипотеку, реестр недвижимости, оформление сделок - все просто, прозрачно и понятно. Без жульничества и накруток агентств.
  • Сфера перевозок. Блокчейн и умные контракты позволяют отслеживать перемещение товаров, рейсы транспортных средств, возможные изменения в маршруте - при этом анонимность пассажиров и заказчиков будет соблюдена.
  • Сфера страхования. В смарт-контрактах может содержаться информация по каждому транспортному средству: история вождения, дата регистрации, номер страхового полиса и прочее. Продление страховки тоже происходит автоматически, без посредников.
  • Медицинская сфера. Конфиденциальность соблюдается, но нет очередей возле кабинетов и неприятных сюрпризов вроде отсутствия специалистов. С помощью смарт-контракта можно записаться на прием, оставить свои данные, получить результаты обследований дистанционно. Клиники же смогут обмениваться информацией о пациентах и вести статистику.

Сравнение умных и обычных контрактов

Смарт-контракты

Обычный контракт

Не нуждаются в посредниках, все этапы контролируются автоматизированной системой

Составляется при помощи посредника, не исключены ошибки из-за человеческого фактора

Зафиксированный контракт нельзя изменить или отменить

Есть несколько вариантов интерпретации сделки, возможность изменить или переписать контракт

Обе стороны обязаны выполнить условия сделки, иначе автоматически последуют санкции и штрафы

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

Из цепочки транзакций исключены банковские структуры

Банки получают свой процент за проведение сделки

Обмен средствами, вещами, услугами происходит мгновенно

Задержка может составлять несколько банковских дней

Благодаря блокчейну транзакции нельзя подделать, но можно узнать необходимую информацию

Получить информацию из государственных структур очень сложно

Смарт-контракты доступны в любой точке мира

Для подписания необходимо личное присутствие обоих сторон

Система работает на единых условиях, исключены мошеннические схемы.

Всегда есть вероятность обмана или фальсификации.

Важно! Смарт-контракты и обычные договора объединяет одно: их нужно составлять при помощи специалистов. Ошибка в коде и ошибка в формулировке может дорого стоить одной из сторон.

Смарт-контракт и криптовалюты

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

  • Автоматизированные - готовый программный код, предложенный системой.
  • Написанные вручную - параметры и условия сделки прописываются программистом самостоятельно.

За оформление смарт-контракта пользователь платит фиксированную цену в gas - базовая криптовалюта ETH конвертируется в gas. Это сделано для того, чтобы стоимость сделки оставалась константной, а не менялась вместе с волатильностью цифрового актива.

Аналогичную услугу будет предлагать и платформа EOS - ее считают главным конкурентом Ethereum. Разработчики также дают возможность создавать уникальные смарт-контракты со множеством переменных. NEO, Cardano, Stellar также используют эту технологию.

Что касается других платформ, возможности Bitcoin, NXT, Side Chains очень ограничены. Как правило, пользователю предлагают шаблоны блокчейна с незначительными изменениями.

Примеры смарт-контрактов

Если говорить о программном коде, то пример смарт-контракта будет выглядеть так:

Но о кодах мы поговорим позже, а сейчас давайте рассмотрим, как можно использовать умные контракты в реальной жизни:

  • Тотализатор. Многие бывали или хотя бы видели рекламу сайтов-тотализаторов. Схема простая: делаете ставку, если она выигрывает - получаете деньги. Проблема в том, что эта сфера никем не контролируется и удачливого посетителя могут просто «кинуть». Смарт-контракты же делают исполнение сделки обязательным для обеих сторон, и мошенник не сможет изменить код и отменить транзакцию.
  • Регулярные платежи. У многих банков есть такая услуга - снятие определенной суммы для оплаты счетов, но приходится платить комиссию и зависеть от посредника. Умные контракты позволяют упростить эту схему. С помощью программы можно заключать договоры об аренде, платить ипотечные взносы, совершать покупки без риска.
  • Аутентификация личности. Если система smart-контактов будет внедрена в работу госструктур, то после подтверждения личности можно будет легко заключать договора и контракты онлайн. Дистанционно брать выписки и справки, экономить деньги, время и нервы.

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

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

  1. Полный по Тьюрингу. Такой алгоритм использует Ethereum, RootStock, планирует применять EOS. Программа позволяет задавать любые условия выполнения: функции вероятности, циклы, собственные электронные подписи и прочие.
  2. Неполный. Система использует заранее прописанные смарт-контракты. В произвольном порядке можно использовать лишь некоторые операции, но нельзя полностью изменить цикл или переписать алгоритм. Такие контракты использует Stellar, NEO, Cardano.

Разработка смарт-контракта

Пока IT-специалистов высокого уровня, которые занимаются разработкой смарт-контрактов на рынке немного. Написание смарт-контрактов - направление новое, и необходимо выбрать хорошего программиста, чтобы не потерять свои средства. Это особенно важно, если умные контракты необходимы для запуска ICO и последующей токенизации. Читайте отзывы о разработчиках и не ведитесь на лозунги «15 лет на рынке» - смарт-контракты появились всего 5 лет назад.

Языки программирования

Теоретически смарт-контракты могут быть написаны на любом языке - Python, JavaScript, Goland, PHP, C++ и прочие. Разработчики Ethereum выбрали для своей платформы программный язык Solidity - он похож на JavaScript, но сложнее. Выбор языка программирования зависит от типа блокчейна и требований системы.

Как создать смарт-контракт

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

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

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

Gas Price - фиксированная сумма оплаты за выполнение условий договора и использование ресурсов платформы.

Start Gas - это поле еще называют лимитом, в него вписывается максимальное вознаграждение, которое участник системы готов потратить на выполнение транзакции. Это сделано для того, чтобы в случае ошибки системы со счета пользователя не сняло лишних средств.

Value. Пользователь вписывает сумму, которую необходимо отправить на указанный адрес.

Data . В этом поле прописываются непосредственно условия сделки, для каждой переменной есть свое название и пример кода.

Signature. Публичный ключ для проверки подписи и непосредственно электронная подпись.

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

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

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

Смарт-контракт происходит от английского термина 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 . В настоящее время функционирует бета версия площадки. Разработчики обещают, что с помощью данного инструмента создавать умные контракты на любом совместимом блокчейне смогут пользователи с нулевым уровнем знаний.

Виды умных контрактов

Смарт-контракты сегодня можно разделить на несколько видов. Все зависит от того, насколько все этапы их выполнения автоматизированы. В частности:

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

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

Блокчейн-сети и криптовалюты со смарт контрактами

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

Среди других площадок отметим такие:

  • форки битокина - Super Bitcoin, Bitcoin God;
  • NEO - эту платформу нередко называют китайским Эфиром, поскольку принципы двух систем во многом схожи. Но главное преимущество NEO состоит в том, что тут поддерживаются такие популярные языки программирования как Python, Go, Java.
  • EOS - упор сделан на асинхронные умные контракты, которые могут выполняться параллельно друг с другом, что на порядок увеличивает скорость обработки данных.
  • NXT -платформа, где можно выбрать один из готовых контрактов. Количество пока не очень велико. Создать собственный возможности нет.
  • Cardano - платформа не считает себя конкурентом Эфириума, поскольку позиционируется разработчиками как блокчейн третьего поколения, в то время как Ethereum они называют блокчейном второго поколения.
  • Sawtooth - представленный в конце января 2018 года блокчейн-консорциумом Hyperledger распределенный реестр с ограниченным доступом. Поддерживает смарт-контракты на языке Solidity.

Как бы там ни было, наиболее распространенная криптовалюта для смарт контрактов в настоящее время - Эфириум. Удастся ли другим потеснить его с цифрового Олимпа ­­– покажет время.

Применение смарт контрактов

Очертим главные области, в которые можно успешно внедрить умные контракты. В частности, это:

  • логистика;
  • аудит;
  • страхование;
  • кредитование;
  • здравоохранение;
  • бухгалтерский учет;
  • идентификация личности;
  • регистрация прав;
  • игровая индустрия;
  • выборы и другие всевозможные голосования;
  • краудфандинг и многие другие.

Избирательный процесс

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

Кредитование

Человек берет в кредит квартиру, машину или телевизор и ежемесячно обязан выплачивать n-ную сумму банку. Если заемщик просрочил платеж с помощью смарт-контракта замок автомобиля или жилья будет заблокирован, а телевизор перестанет включаться.

Азартные игры

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

Аренда жилья

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

ICO

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

Смарт контракт - пример из реальной жизни

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

Больше конкретики!

Применение смарт-контракта в недвижимости - уже можно считать сложным вариантом. Впервые в мире квартира подобным образом была продана в Украине на правом берегу Киева. Для проведения сделки использовался смарт контракт Эфириума, а также децентрализованный американский маркетплейс Propy. Покупателем стал советник этой площадки, а также основатель издания TechCrunch Майкл Аррингтон. Оплата происходила в криптовалюте Эфириум. На данном этапе развития смарт-контрактов процесс происходил так:

  1. Покупатель и продавец заключили контракт, и покупатель внес депозит, необходимый для оплаты жилья.
  2. Поскольку участники сделки находились в разных уголках мира, с помощью площадки локальному представителю покупателя была выдана доверенность от его имени, удостоверенная местным нотариусом.
  3. Propy предпринимает необходимые действия по проведению сделки - оплата работы оценщика, всевозможных сборов.
  4. Продавец встречается с представителем покупателя у нотариуса для подписания документов.
  5. Происходит перерегистрация права собственности на покупателя - данные вносятся в реестр.
  6. Как только смарт-контракт получает данные из реестра, он разблокирует деньги, и они переходят к продавцу.

Как видим, пока процесс сложно назвать упрощенным. В будущем его обещают максимально автоматизировать.

Вот как выглядит смарт-контракт данной сделки, выложенный на Githab компании, точнее часть контракта, где описан процесс подписания договора участниками, а недвижимость замораживается в ожидании завершения процесса.

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

Умные контракты vs обычные договора

Смарт-контракты – какие перспективы?

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

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

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

Эксперты уверены, что уже в 2018 году как крупные корпорации, так и целые государства признают огромный потенциал как технологии блокчейн, так и умных контрактов.

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

В 1994 году юрист и криптограф Ник Szabo понял, что системы распределённого реестра могут быть использованы для заключения «умных контрактов», также известных как безличные или цифровые контракты. В этом формате контракты могут быть конвертированы в компьютерный код и воспроизведены на машине, подконтрольной сети других равноправных устройств. Это также позволяет совершать платежи и предоставлять те или иные услуги.

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

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

Смарт-контракты можно сравнить с аппаратом для покупки напитков. Обычно вы пошли бы к нотариусу или юристу и ждали бы своего документа, заплатив за их услуги. Но с появлением смарт-контрактов вы можете «бросить биткоин» в аппарат (т.е. в распределённый реестр), и ваше водительское удостоверение или любой другой документ выпадает из устройства.

К тому же, смарт-контракты не только определяют правила и назначают штрафы, но ещё и навязывают их автоматическое беспрекословное выполнение.

Как сказал разработчик Эфириума Виталик Бутерин на недавнем Blockchain Summit в Вашингтоне , в соответствии с подходом, диктуемым смарт-контрактами, валюта переносится в программу, «а программа исполняет код. В определённый же момент она автоматически подтверждает соответствующее условие и выясняет, должно ли право собственности перейти к новому владельцу или ему остаться у старого ». В то же время ваша информация переносится и на распределенный реестр, что обеспечивает безопасность и неизменность операции.

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

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

Пример смарт-контракта

Ниже приведён пример кода простого смарт-контракта, внедрённого в блокчейн Эфириума. Контракты могут быть привязаны к любому блокчейну, но самый популярный – именно Эфириум, потому что он предоставляет неограниченную возможность обработки.

Этот контракт подразумевает, что его создатель получит 10,000 BTC и позволяет любому владельцу достаточной суммы её выслать.

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

Цепочки поставок

Смарт-контракты работают по чётким алгоритмам. Как говорил Джефф Гарзик :

«UPS может исполнять контракты, в которых прописано: ‘Если я получаю оплату за доставку такого-то продукта по такому-то адресу на таком-то развивающемся рынке, создание такого же продукта должно автоматически начаться на заводе в другом уголке мира.’ Нередко работа с цепочками поставок подразумевает бумажную волокиту – на документы должны ставиться подписи и печати, более того, они могут быть подделаны или вовсе потеряны. Блокчейн упрощает весь процесс, предоставляя легкодоступный цифровой контракт, отчёт и план действий.»

Пример. Банк Barclays использует смарт-контракты для регистрирования смены владельцев и автоматического перевода средств другим финансовым организациям при сделках.

Автопром

Человечество неуклонно движется вперёд. Представьте будущее, в котором все процессы автоматизированы. Google уже давно приближает нас к этим разработками в области телефонии, виртуальной реальности и искусственного интеллекта.

Одна из самых бурно обсуждаемых инноваций – автономные автомобили. Удивительно, но даже им на помощь придут смарт-контракты.

Например, в автомобиле без водителя смарт-контракт может выполнять роль «всевидящего ока» и автоматически определять, кто виноват в аварии двух транспортных средств разных разработчиков. Также эта технология могла бы помочь объективно взимать страховую плату.

Недвижимость

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

Здравоохранение

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

Смарт-контракты – это круто!

Итак, что дают смарт-контракты:

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

Доверие . Ваши документы зашифрованы в распределённом реестре. Не может случиться, что один из участников скажет, что «потерял» их.

Резервное копирование. Представьте, если ваш банк «потеряет» данные о вашем депозите. В блокчейн-системе это невозможно. Эти данные копируются многократно.

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

Скорость. Использование смарт-контрактов устраняет бумажную волокиту, тем самым значительно повышая скорость работы.

Экономия. Избавляясь от посредников, смарт-контракты позволяют вам экономить средства. Пропадает нужда и в нотариусе, и в юристе.

Точность. Автоматические контракты не просто быстрее и дешевле – они также позволяют избежать ошибок, возникающих при ручном заполнении сопутствующей документации.

Джефф Гарзик, создатель блокчейн-сервиса Bloq, описывает смарт-контракты таким образом:

«Смарт-контракты имеют все шансы стать идеальным примером синергии между бизнесом и технологическим сообществом. Уже появилось несколько узкоспециализированных блокчейн-сервисов в финансовом секторе, например, платежный аппарат на Янгонской бирже в Мьянме. Действительный интерес представляют именно такие надстройки на блокчейн. На бирманской бирже блокчейн-сервис решает проблему распределённых соглашений в платёжной системе, синхронизирующей операции лишь дважды в день. Специфика блокчейна позволяет применять технологию в ситуациях, требующих выполнения сложных операций в условиях реального времени. Скоро мы сами увидим такие продукты от Amazon , Microsoft Azure и IBM Bluemix , работающих над созданием BaaS ( Blockchain - as - a - Service ) решений». Пэтрик Хаббард , Head Geek , SolarWinds .

Теперь о проблемах

Смарт-контракты далеки от совершенства. Что если в код закрадется баг? И какова здесь регулятивная роль государства? Каким образом облагать транзакции налогами? Вспомните хотя бы упомянутый выше пример со сдачей квартиры.

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

Список проблем на этом не заканчивается. Разработчики и эксперты работают с ними, но, тем не менее, риски отпугивают многих потенциальных пользователей.

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

В будущем эти проблемы будут постепенно решаться. Одна из групп, уже занимающихся их разрешением – команда юристов из Cornell Tech , настаивающих на внедрении смарт-контрактов в повседневную жизнь.

Так что же такое смарт-контракт? Используя простой язык можно выразиться так: смарт-контракт является алгоритмом, который не только заключает, но и поддерживает контракты в распределённом реестре. Кстати, распределённый реестр в соответствующих кругах получил название блокчейн.

Сферы применения

Основное понятие было представлено выше, появляется вопрос: где можно применить данный алгоритм?

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

В смарт-контрактах указана следующая информация:

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

Немного истории

Когда основной функционал прояснился, можно обратиться к истории.

Данный алгоритм, как идея, был представлен ещё в 1994 году. Именно тогда была определена структура смарт-контрактов: протокол, который должен автоматически заключать сделки, без вмешательства пользователя.

Определённое время технология не использовалась, но очень скоро идеально подошла для криптовалюты биткоин. Следует уточнить, что блокчейн является технологией, которая лежит в основе данной криптовалюты.

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

Что используется в смарт-контрактах

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

Так чем же характерна работа таких алгоритмов? Ответ состоит из нескольких пунктов:

  1. Используется электронная подпись, в основу которой заложены ключи каждой из сторон.
  2. Все операции производятся в приватной среде, у которой есть связь как с реальным, так и с цифровым пространством.
  3. В основу алгоритма заложен не только сам договор, но и инструменты, необходимые для работы с ним. Обычно это расчётные счета и отдельные программы для связи с внешним миром.
  4. В протоколе, в обязательном порядке, прописан порядок исполнения договора. Соглашаясь с данным порядком, пользователя ставят свои электронные подписи.

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