Смарт-контракты Waves. Что и когда ожидать
Криптовалюты — это деньги на блокчейне. Тот же децентрализованный подход применим и к языкам программирования, в результате чего можно получить приложения, которые работают сами по себе, без ошибок и необходимости вести надзор за их работой.
Биткоин ввел в нашу жизнь технологию, с помощью которой можно совершать денежные транзакции без проверок. Нужно отметить, что в данном случае слово «деньги» подразумевает единицы информации. За единицами информации может скрываться что угодно, поэтому блокчейн можно использовать в более широком спектре сфер, помимо финансовых услуг. В дополнение к P2P-платежам блокчейн также используется для написания и запуска разного рода программного обеспечения.
Смарт-контракты
Помимо того, что Ethereum — самая узнаваемая платформа, обладающая к тому же наивысшей капитализацией, она стала первой использовать смарт-контракты. Ethereum использует так называемые Тьюринг-полные смарт-контракты, поэтому, теоретически, на платформе можно разработать и запустить любую программу, которую только придумает воображение. На Ethereum создается множество проектов от кошельков с мультиподписями до сложных платформ электронной коммерции, ставящих амбициозные цели в виде свержения Amazon и eBay через внедрение децентрализованной модели взаимодействия.
Хотя смарт-контракты Ethereum обладают мощной функциональностью, для значительной части обычных пользователей она недоступна — для работы с ними нужно знать язык программирования. Более того, при ошибке придется дорого расплачиваться: известны случаи провалов проектов, повлекших многомиллионные убытки после хакерских атак. Всему виной — некорректно прописанный код.
Смарт-контракты Waves
Подход Waves к смарт-контрактам совершенно иной: Тьюринг-полные смарт-контракты обязательно будут запущены, но акцент также делается на облегченные смарт-контакты — так называемые Тьюринг-неполные, доступные любому пользователю. Цель в том, чтобы внедрить сценарии использования таких смарт-контрактов в клиент Waves, чтобы каждый мог найти им применение, не обладая при этом знаниями программирования.
Функциональность таких смарт-контрактов будет включать в себя, например, аккаунты с мультиподписями и возможность замораживать токены на определенное время, предотвращая их перемещение и продажу. После тщательного тестирования Тьюринг-неполных смарт-контрактов, Waves выпустит Тьюринг-полные смарт-контракты, применимые для абсолютно любого типа задач.
Смарт-аккаунты
Обычный аккаунт может подписывать транзакции только перед их отправкой в блокчейн. В свою очередь, смарт-аккаунт проверяет транзакцию на соответствие определенным требованиям, установленным скриптом, до ее отправки для включения в следующий блок. Скрипт является частью аккаунта, поэтому он может проверить каждую транзакцию перед её подтверждением.
Стоимость наших смарт-контрактов будет такой же, как у обычных транзакций, а комиссии будут фиксированными. Газа или других дополнительных комиссий взиматься не будет. Это стало возможным благодаря тому, что время на выполнение операции в целом предсказуемо. Как в Ethereum и Nxt, в основе платформы Waves — модель, где главную роль играют аккаунты, а не система ввода/вывода, как в Биткоине, поэтому смогли внедрить ограничительные скрипты (сценарии) для аккаунтов.
В нашем понимании, смарт-аккаунты не могут отправлять транзакции или средства самостоятельно, согласно определенным условиям, но они могут обрабатывать информацию из блокчейна (например, высоту блока или подписи транзакций), возвращая результаты расчетов, которые получили на основе такой информации.
Язык смарт-аккаунтов должен быть максимально простым, чтобы им мог пользоваться любой, кто не знаком с языками программирования. Язык смарт-аккаунтов Waves будет легким и простым. Мы намеренно не предоставляем пользователям возможность самим прописывать функции, рекурсии и циклы. Ранее мы пояснили, что не приветствуем комплексные конструкты, развитие которых невозможно предсказать заранее и завершить за строго определенное количество шагов.
Смарт-активы
Если вводить ограничения на все операции с активом, то использовать смарт-аккаунт будет невозможно. Именно для этого и существуют смарт-активы. По аналогии со смарт-контрактами, такие активы также работают в связке со скриптом. Транзакции с участием смарт-активов будут завершаться только после того, как скрипт всё заверит. Например, скрипт может подтвердить разрешение на действие, предусмотренное условиями транзакции или третьей стороной, или проверить, не установлено ли временных ограничений на операции с токеном. Скрипт срабатывает после выполнения следующих команд с активом:
- TransferTransaction
- MassTransferTransaction
- ReissueTransaction
- BurnTransaction
Сферы применения
Главные сферы применения первой версии смарт-контрактов Waves:
- безопасность
- интеграция
- краудфандинг
Если говорить о безопасности, то наиболее яркий пример — аккаунты с мультиподписью. Такие аккаунты будут полезны для предприятий с участием нескольких заинтересованных стороны или сделок, требующих нескольких подписей. С помощью аккаунтов с мультиподписмью стороны, которые не доверяют друг другу, могут заморозить определенное количество токенов на блокчейне, пока не будет предоставлено ранее оговоренное количество подписей.
Следующая область внедрения смарт-контрактов Waves — интеграция, в частности, с использованием Оракулов. Оракул — это специальное приложение, которое дает доступ к определенному источнику информации. Оракул вводит информацию из внешнего источника в блокчейн с помощью транзакций, при этом он не может данную информацию как-либо изменить. Такая информация может быть основанием для выполнения условий транзакции по переводу денег. Если же стоит задача исключить участие третьей стороны в операции, то можно прибегнуть к помощи смарт-контракта для создания атомарного свопа. Атомарные свопы — следующий шаг в развитии децентрализации, позволяющий напрямую осуществлять обмен криптовалютой, находящейся на разных блокчейнах. Обмен в таком случае либо состоится, либо не состоится вообще, если все условия смарт-контракта не будут выполнены. В данном случае ни одна из сторон не сможет присвоить средства и обмануть другую сторону.
На DEX можно проводить краудсейл и без смарт-контрактов, но они будут полезны после проведения ICO. Например, для контроля над использованием средства третьей стороной или при голосовании держателей токенов по тем или иным вопросам.
Вы можете скачать whitepaper по смарт-контрактам Waves (на английском языке) или -ознакомиться с разделом о смарт-контрактах на нашем сайте (также на английском).