Смарт-контракты и платформы для их реализации
С развитием блокчейна все больше компаний заинтересованы в возможностях, которые предоставляет новая технология. Одной из наиболее перспективных считается использование смарт-контрактов — алгоритмов, которые обеспечивают автоматическое выполнение условий коммерческих сделок. Мы рассмотрели данную технологию, платформы смарт-контрактов, а также сферы деятельности, которые могут применять их.
Как работают смарт-контракты
Смарт-контракт или умный контракт — это специальный протокол, который используется для заключения и выполнения коммерческих сделок, проведения транзакций и обмена активами между сторонами без участия третьих лиц. Смарт-контракты автоматически выполняют все условия договора, а также содержат информацию об обязательствах сторон и санкциях за их нарушение.
Впервые идея смарт-контракта была описана в 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 года, а в январе 2017 года сменила блокчейн Jumbucks на блокчейн UBIQ, который основан на Ethereum. Проект Ubiq ориентирован на предоставление автоматизированных смарт-контрактов с высокой пропускной способностью для бизнеса, в то время как разработчики позиционируют платформу в качестве суперкомпьютера для работы с блокчейном.
Urbit — сеть персональных облачных p2p серверов, запущенная в 2016 году для хранения данных, выполнения программ и подключения к другим пользователям. В сентябре 2017 года проект Urbit добавил поддержку смарт-контрактов Ethereum. Согласно блогу компании, смарт-контракты будут основываться на стандарте ERC20, чтобы позволить владельцам «облачной недвижимости» Urbit криптографически защищать свои активы. Таким образом, смарт-контракты Ethereum будут выполнять функцию защиты пользователей.
Практическое применение смарт-контрактов
Использование смарт-контрактов упрощает работу во многих сферах деятельности, повышая доверие между бизнес-партнерами и уровень безопасности проводимых сделок, а также существенно сокращая расходы.
Так, согласно исследованию консалтинговой компании Accenture, один только банковский сектор может ежегодно экономить до $12 миллиардов, используя смарт-контракты и блокчейн. Также одним из потенциальных направлений развития смарт-контрактов является выборная система: они позволяют полностью исключить вероятность вмешательства и манипуляций в системе голосования. А в логистике, где используется сложная система поставок, в которой каждое звено должно согласовывать свои действия с другими участниками процесса, использование смарт-контрактов сэкономит время и позволит отслеживать работу системы в режиме реального времени. Кроме того, в менеджменте использование смарт-контрактов позволит производить выплаты сотрудникам и клиентам по достижении определенных условий, описанных в смарт-контрактах.
Недостатки смарт-контрактов
Среди недостатков смарт-контрактов эксперты отмечают:
Расходы и сложность внедрения новой технологии — для внедрения смарт-контрактов необходимо понимание программирования, а чтобы составить надежный смарт-контракт, отражающий потребности компании, желательно иметь опытного разработчика в штате. Более того, большинство пользователей пока слабо понимают, как работают алгоритмы, на которых построены смарт-контракты.
Человеческий фактор — поскольку смарт-контракт является сложным алгоритмом, который должен учитывать множество факторов и условий сделки, для его составления нужно прописывать множество вариантов развития. Чем сложнее процесс, тем труднее создать смарт-контракт, и выше шанс допустить ошибку. По оценке издания Motherboard, на данный момент на крипторынке действует более 34,000 смарт-контрактов с ошибками в коде, что подвергает компании огромным потенциальным рискам.
Правовой статус — для работы умных контрактов используются криптовалюты, законодательный статус которых определен далеко не во всех странах. Более того, если государственные органы решат создать для смарт-контрактов отдельную законодательную базу, предприниматели могут столкнуться с рядом новых проблем.