Logo
Поделиться этой статьей

3 заблуждения о смарт-контрактах

По словам консультанта по блокчейну Оливье Риккена, ажиотаж вокруг смарт-контрактов создает новые операционные проблемы.

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

В этой статье на CoinDesk Риккен описывает три распространенные ошибки, которые совершают новички, пытаясь использовать Технологии смарт-контрактов на основе блокчейна.

Продолжение Читайте Ниже
Не пропустите другую историю.Подпишитесь на рассылку Crypto Long & Short сегодня. Просмотреть все рассылки

ONE из самых перспективных разработок в области блокчейна является идея смарт-контрактов.

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

Тем не менее, это привело к путанице вокруг смарт-контрактов. (Для тех, кто менее знаком со смарт-контрактами,Эта статья представляет собой хорошее введение).

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

Вот три проблемы, с которыми я сталкиваюсь чаще всего:

1. «Смарт-контракты — это всего лишь код, а не контракты»

Часто цитируемая фраза: «смарт-контракты не являются ни смарт-контрактами, ни контрактами, это просто глупый код».

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

Когда мы рассматриваем обычные контракты, семантика контракта состоит из двух основных элементов, а именно:

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

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

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

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

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

2. «Умные контракты могут работать полностью автономно»

Это подводит нас ко второму заблуждению.

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

Блокчейн, по своей сути, управляется транзакциями. Это также касается смарт-контрактов и, таким образом,смарт-контракты являются реактивными.

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

Кроме того, информация, доступная смарт-контракту во время исполнения, весьма ограничена.

Как указано в Ethereum документация, «Это выполнение должно быть полностью детерминированным, его единственным контекстом является положение блока в блокчейне и все доступные данные». Кроме того, «оно не только изолировано, но и фактически полностью изолировано, что означает, что код, работающий внутри EVM, не имеет доступа к сети, файловой системе или другим процессам. Умные контракты даже имеют ограниченный доступ к другим умным контрактам».

Доступные данные — это данные, отправленные в контракт в транзакции или сообщении, а также данные в хранилище (состоянии) и памяти контракта.

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

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

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

«УМНЫЙ КОНТРАКТ»

Не существует такого понятия, как смарт-контракт.

Поскольку люди часто совершают ошибку, говоря о блокчейне, вместо того чтобы ссылаться на конкретный блокчейн (например, Bitcoin, Ethereum, гиперледжер и ETC.), та же ошибка часто совершается и в отношении смарт-контрактов.

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

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

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

Изображение красного карандашачерез Shutterstock

Примечание: мнения, выраженные в этой колонке, принадлежат автору и не обязательно отражают мнение CoinDesk, Inc. или ее владельцев и аффилированных лиц.

Picture of CoinDesk author Olivier Rikken