Что такое смарт-контракты и как работают

Что такое смарт-контракты и как работают

MEDIAFLAGMAN


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

Казалось бы, куда уж дальше? Но в 2014 году общественность ждал новый разрыв шаблона – смарт-контракты, которые заменяют юристов и регулируют экономические отношения между людьми.

Впервые идея «умных контрактов» была озвучена еще 20 лет назад американским криптографом Ником Сабом. Основной его задумкой было создание компьютерного алгоритма для заключения коммерческих сделок между людьми без участия посредников.

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

По сути, смарт-контракт – это программный код, который содержит информацию о сделке в формате «если… то».

Например, «Если пользователь X вносит в систему 10000 ETH, то получает от пользователя Y 1000 токенов N», «Если Y вносит в систему 1000 токенов N, то получает от пользователя X 10000 ETH». То есть, если X и Y выполняют свои условия, каждый из них получает оговоренный ресурс. А если X внесет свои 10000 ETH, а Y уклонится от выполнения обязательств, сделка не будет выполненной, а X получит свои средства обратно.

Создатель Ethereum Виталик Бутерин объясняет принцип работы смарт-контрактов следующим образом: актив вводится в программу, и она сама следит за выполнением условий договора. Когда они выполняются, продавец получает деньги, а покупатель – товар.


Основными атрибутами любого смарт-контракта являются:

  • Подписанты – стороны договора, принявшие оговоренные условия (для этого используется электронная подпись или мультиподпись, если подписантов много).
  • Предмет договора – собственно, ресурсы для обмена. При этом они должны находиться внутри системы, в рамках которой реализуется контракт. Если X и Y из нашего примера составляют договор в Ethereum, X должен иметь оговоренные 10000 ETH на счету, а Y должен разместить на платформе токены N в количестве не менее 1000.
  • Условия договора – точнее, математически подтвержденное описание условий, при которых контракт будет считаться выполненным.

 

Ключевые преимущества смарт-контрактов

Очевидно, что главное преимущество смарт-контрактов – проведение сделок без привлечения третьих лиц (в обычных условиях они выступают гарантами выполнения договора).

Чтобы обменять криптовалюту на токены, X и Y не придется обращаться к юристам или другим посредникам. Благодаря смарт-контракту сделка произойдет автоматически, как только выполнятся оговоренные условия.

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

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

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

 

Обязательные условия для реализации смарт-контрактов

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

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

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

  • Bitcoin – мало кто знает, что в самой первой криптовалюте прописана функция смарт-контрактов. Но они настолько плохо проработаны, что практически никто ими и не пользуется.
  • Side Chains – сайд-проект блокчейна Bitcoin с упором именно на смарт-контракты.
  • NXT – криптовалютная площадка с ограниченным набором смарт-контрактов.
  • Ethereum – платформа, на которой можно написать любой смарт-контракт.


Как использовать смарт-контракты

На сегодняшний день именно Ethereum дает больше всего возможностей для реализации смарт-контрактов.

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

Поэтому рассмотрим последовательность действий для исполнения смарт-контракта на примере Ethereum.

Для начала вам нужно зарегистрироваться в сети Ethereum и скачать официальный криптокошелек. Сделать это очень просто:

  1. Зайдите на сайт https://www.ethereum.org/.
  2. Выберите вкладку “Ethereum Wallet” и скачайте криптокошелек. Обратите внимание, что по умолчанию вам предложат установить версию кошелька для 32-битного Windows. Если на вашем ПК установлена другая операционная система, выберите подходящую программу вручную.
  3. Установите криптокошелек, придумайте приватный ключ и создайте электронную подпись. Последние два пункта можно выполнить в автоматическом режиме – просто следуйте всплывающим инструкциям.

Теперь у вас есть аккаунт в Ethereum, ключ и подпись – это все, что поначалу понадобится для работы со смарт-контрактами.

Чтобы запустить контракт, нужно просто создать транзакцию. В разделе “Create transaction” введите данные своего кошелька, данные кошелька получателя (или получателей) и сумму перевода. Под этими строчками вы увидите поле с программным кодом – это и есть смарт-контракт.

Дальше у вас есть два пути:

  • Использовать готовые шаблоны

Благодаря встроенному алгоритму система сама прописывает смарт-контракты под разные сделки. Если вас все устраивает, остается просто выбрать шаблон и подтвердить сделку.

  • Создавать собственные смарт-контракты

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

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

Еще один важный момент – Ethereum снимает комиссию за исполнение смарт-контрактов. Оплата производится в Gas – специальной валюте, созданной для внутрисистемных расходов. Величина комиссии зависит от условий контракта и подсчитывается системой автоматически.

 

Возможности использования смарт-контрактов

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

С появлением Ethereum их использовали преимущественно для покупки криптовалюты у других пользователей. Однако на самом деле возможностей куда больше.

Например, смарт-контракты – очень полезный инструмент для участников ICO.

В последнее время появляется все больше криптовалютных стартапов, но многие их них оказываются провальными. Инвесторы несут убытки и больше не рискуют вкладываться в ICO.

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

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

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

 

Неужели смарт-контракты идеально надежны?

Конечно же, нет.

Нельзя забывать, что смарт-контракт – это, прежде всего, программа. И, как любая программа, он не лишен недостатков:

  • Сложность самостоятельного составления смарт-контрактов.
  • Высокая зависимость от человеческого фактора (смарт-контракты могут работать некорректно из-за ошибок, допущенных при написании программного кода).
  • Недостаточная гибкость (данные, внесенные в блокчейн, невозможно изменить).
  • Плохая масштабируемость (при одновременном запуске нескольких контрактов пропускная способность системы снижается).

Отдельно стоит отметить проблему правового регулирования смарт-контрактов.

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

Тем не менее, опыт Ethereum доказывает, что платформа может обезопасить своих пользователей. В 2016 году хакеры взломали известный ICO-проект DAO и вывели из него миллионы долларов инвестиций. Но команде Виталика Бутерина удалось найти ошибку в коде, осуществить «откат» системы и вернуть средства вкладчикам.

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

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

 

Смарт-контракты: чего ждать дальше?

Несмотря на все описанные проблемы, большинство экспертов сходятся во мнении, что смарт-контракты – очень перспективное направление развития криптовалютного рынка.

Рейтинговое британское издание The Economist вообще заявило, что самовыполняющиеся контракты – самая важная и прогрессивная технология, реализуемая на блокчейне.

К счастью, уже сегодня существует много площадок, которые предоставляют безопасные инструменты для реализации смарт-контрактов. Прежде всего, это Waves, Stratis, NEO, RootStock и Propy.

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

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

Подписывайся на канал и будь в курсе самых основных новостей! MEDIAFLAGMAN



Report Page