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

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

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

Впервые идея смарт-контракта была описана в 1994 году известным ученым в области информатики и криптографии Ником Сабо, но практическое применение она получила только 14 лет спустя с появлением блокчейна. Уже тогда в алгоритм блокчейна Bitcoin были заложены принципы выполнения смарт-контрактов, однако они не были реализованы в клиентском программном обеспечении из соображений безопасности.

Широкое применение смарт-контракты получили с запуском блокчейна Ethereum в 2015 году. На сегодняшний день именно этот блокчейн считается самым удобным для реализации не только смарт-контрактов, но и DApps — децентрализованных приложений. Обязательные условия для смарт-контракта:

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

 Стороны с электронными подписями — участники договора, которые подтверждают свое участие и согласие с условиями контракта электронной подписью.

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

 Условия — алгоритм, описывающий логику исполнения пунктов предмета договора математическим путем.

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

Платформы для смарт-контрактов

Помимо Ethereum реализацию смарт-контрактов предлагают:

Ethereum Classic — сеть образовалась в июле 2016 года в результате хардфорка сети Ethereum. Данный хардфорк стал решением проблем, возникших из-за атаки хакеров на «дочерний» проект DAO, со счетов которого было похищено более 36 миллионов эфиров. Чтобы вернуть средства вкладчиков, членами организации Ethereum Foundation было принято решение откатить всю сеть к опре­де­лен­ной точке перед ата­кой на DAO и за­пу­стить за­пись блокчей­на за­но­во. Однако, это решение не поддержала определенная часть сообщества Ethereum, посчитав хардфорк неприемлемым решением проблемы. Так, сеть, образовавшаяся в результате хардфорка, стала Ethereum, а старый блокчейн продолжил существование под именем Ethereum Classic. Обе версии блокчейна поддерживают разработку и запуск смарт-контрактов, написанных на Solidity.

NEO — данный некоммерческий блокчейн-проект был запущен в Китае в 2014 году для развития децентрализованной «умной экономики». Многие эксперты отмечают, что NEO превосходит блокчейн Ethereum по многим показателям, в том числе и по принципам работы со смарт-контрактами. В сети NEO для выполнения заданных условий смарт-контракты используют виртуальные машины (VM), которые автоматически оптимизируют код смарт-контракта перед тем, как запустить его, организуя его так, чтобы он работал с наивысшим коэффициентом полезного действия. В долгосрочной перспективе такой подход будет более эффективным, несмотря на то, что реорганизация кода требует больше времени для запуска и выполнения, чем в Ethereum.

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

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

Qtum — китайская гибридная блокчейн-платформа, которая была запущена в мае 2017 года с целью объединить тьюринг-полные смарт-контракты и DApps для удобного использования в бизнесе. Криптовалюта платформы сочетает в себе возможности блокчейна Bitcoin с виртуальной машиной Ethereum и совместима с обеими экосистемами. В рамках платформы функционируют умные контракты новой формации — мастер-контракты, особенность которых заключается в том, что контроль над расторжением контракта или его подписанием полностью находится в руках самих участников. Также разработчики предусмотрели запуск мобильной версии платформы, что открывает возможности блокчейн-технологии для более широкого круга пользователей.

Ubiq — децентрализованная платформа с открытым исходным кодом для запуска и реализации смарт-контрактов и DApps, работающих в автоматическом режиме. Платформа была запущена в сентябре 2014 года на обновленном коде Ethereum и стремится стать его более стабильной и надежной альтернативой. Проект Ubiq ориентирован на предоставление автоматизированных смарт-контрактов с высокой пропускной способностью для бизнеса, в то время как разработчики позиционируют платформу в качестве суперкомпьютера для работы с блокчейном.

Urbit — сеть персональных облачных p2p серверов, запущенная в 2016 году для хранения данных, выполнения программ и подключения к другим пользователям. В сентябре 2017 года проект Urbit добавил поддержку смарт-контрактов Ethereum. Согласно блогу компании, смарт-контракты будут основываться на стандарте ERC20, чтобы позволить владельцам «облачной недвижимости» Urbit криптографически защищать свои активы. Таким образом, смарт-контракты Ethereum будут выполнять функцию защиты пользователей.

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

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

Так, согласно исследованию консалтинговой компании Accenture, один только банковский сектор может ежегодно экономить до $12 миллиардов, используя смарт-контракты и блокчейн. Также одним из потенциальных направлений развития смарт-контрактов является выборная система: они позволяют полностью исключить вероятность вмешательства и манипуляций в системе голосования. А в логистике, где используется сложная система поставок, в которой каждое звено должно согласовывать свои действия с другими участниками процесса, ис­поль­зо­ва­ние смарт-кон­трак­тов сэко­но­мит время и поз­во­лит от­сле­жи­вать работу системы в режиме ре­аль­ного вре­ме­ни. Кроме того, в менеджменте использование смарт-контрактов позволит производить выплаты сотрудникам и клиентам по достижении определенных условий, описанных в смарт-контрактах.

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

Среди недостатков смарт-контрактов эксперты отмечают:

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

 Человеческий фактор — поскольку смарт-контракт является сложным алгоритмом, который должен учитывать множество факторов и условий сделки, для его составления нужно прописывать множество вариантов развития. Чем сложнее процесс, тем труднее создать смарт-контракт, и выше шанс допустить ошибку. По оценке издания Motherboard, на данный момент на крипторынке действует более 34,000 смарт-контрактов с ошибками в коде, что подвергает компании огромным потенциальным рискам.

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