Как и многие вещи в индустрии блокчейна, «смарт-контракты», или как их еще называют «умные контракты», также являются не вполне очевидными понятиями. Давайте разберемся что это, и как они работают.
Что такое смарт контракт?
Смарт контракты — это новая технология, существование которой стало возможно благодаря блокчейну. Она довольно непроста к пониманию, поскольку ее суть не совсем точно описывается самим термином.
В то время как в стандартных договорах излагаются условия взаимоотношений (как правило, подкрепляемые законодательством), умный контракт устанавливает отношения с криптографическим кодом.
Иными словами, смарт-контракты Эфириума - это программы, которые выполняют именно то, что задумал их создатель.
Идея таких программ была описана в 1993 году компьютерным ученым и криптографом Ником Сабо, как своего рода цифровой торговый автомат. В своем знаменитом примере он описал, как пользователи могут вводить данные или значение, и получать результат от машины, все-равно что шоколадный батончик или безалкогольный напиток.
Например, если пользователь Эфириума хочет отправить 10 эфиров своему другу в определенную дату, используя смарт контракт, он [пользователь] должен создать контракт и передать данные этому контракту, чтобы тот, в свою очередь, мог выполнить требуемую команду.
Ethereum - это платформа, созданная специально для создания смарт-контрактов. Но эти новые инструменты не предназначены для использования изолированно. Считается, что они также могут формировать строительные блоки для «децентрализованных приложений» (см. «Что такое Daap?») И даже целые децентрализованные автономные компании (см. «Что такое DAO?»)
Как работают смарт контракты в сети Эфириум?
Стоит отметить, что биткоин был первым, кто поддержал основные умные контракты в том смысле, что сеть могла передавать ценности от одного пользователя другому. Сеть узлов будет проверять транзакции только при выполнении определенных условий.
Но биткоин может быть использован только как валюта.
Эфириум же позволяет разработчикам писать свои собственные программы для множество разнообразных приложений, не ограничиваясь только транзакциями цифровой валюты, как биткоин.
С помощью Ethereum можно создавать собственные смарт контракты или так называемые «автономные агенты». Данный язык является «Тьюринг-полным», что означает, что с его помощью можно реализовать практически любую функцию.
Смарт-контракты Эфириум могут:
- Функционировать, как учетные записи с несколькими подписями, так что средства переводятся только тогда, когда это будет согласовано с определенным процентом участников
- Управлять соглашениями между пользователями, например, если один покупает страховку у другого
- Быть полезными для других контрактов (подобно тому, как работает библиотека программного обеспечения)
- Хранить информацию о приложении, например, информацию о регистрации домена или записи о членстве
Сила в цифрах
Экстраполируя этот последний пункт, смарт контракты Эфириума, вероятно, нуждаются в помощи от других умных контрактов.
Когда кто-то ставит ставку на температуру в жаркий летний день, это может вызвать последовательность связанных контрактов.
В этом случае, один контракт использовал бы внешние данные для определения погодных условий, а другой, в свою очередь, мог бы урегулировать ставку на основе информации, полученной им от первого контракта, когда его условия будут выполнены.
Запуск каждого контракта требует оплаты транзакций в валюте Эфириума — Эфире, сумма которых зависит от требуемой вычислительной мощности.
Ethereum запускает код смарт-контракта, когда пользователь или другой контракт отправляет ему сообщение с достаточной комиссией.
Затем виртуальная машина Ethereum выполняет умные контракты в «байт-коде», представляющих собой серии единиц и нулей, которые могут быть прочитаны и интерпретированы сетью.