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

Image border

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

 

Смарт-контракт сравнивают с функционированием кофейного автомата. Клиент опускает монету в проем и получает нужный напиток. Взаимодействие между ними — это сделка, условиями которой являются товар и фиксированная оплата за него. Если клиент внес деньги, условие считается выполненным. Автомат выдает напиток, выполняя условие со своей стороны.

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

FAQ

1. Что такое смарт-контракт простыми словами?

Смарт контракт — это вид соглашения, условия которого обозначены в цифровом виде, а за их соблюдение отвечает набор протоколов (алгоритмов). Если обе стороны выполняют условия, сделка автоматически закрывается. Такой формат позволяет сторонам закреплять взаимоотношения без бумажных контрактов и использования услуг третьих лиц (юристов, нотариусов).

2. Чем смарт-контракт отличается от обычного?

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

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

3. Что такое смарт-контракт на блокчейне?

Блокчейн и его децентрализованная технология работы являются основой для заключения смарт-контрактов. Цифровые соглашения — это наборы математических правил. Они помогают свести любые условия соглашений к простой схеме: «все выполнено — сделка закрыта» или «любое из условий не соблюдено — сделка недействительна».

История появления технологии

Принцип функционирования смарт-контрактов разработал американский криптограф Ник Сабо. Примерно в 1994 году он пришел к мнению, что имеется теоретическая возможность применить цифровой децентрализованный реестр для заключения контрактов, исполняющихся автоматически. В тот момент его идея была слишком футуристичной, поэтому ее никто не реализовал. Лишь в 2005 году были сделаны попытки создать алгоритм цифрового актива Bit Gold, который называют «черновиком Биткоина».

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

Однако реализовать смарт-контракты в Bitcoin не получилось: эта функция была сознательно ограничена разработчиками сети. Поэтому первым в истории стал смарт-контракт Эфириум в 2013 году. Разработчик Виталик Бутерин, используя язык Тьюринг, создал децентрализованный блокчейн с возможностью программирования разных вариантов хранения. Правило одно: для полноценной реализации контракты должны соответствовать четким математическим условиям. Сейчас смарт-контракты функционируют и на других блокчейнах: Codius, Counterparty, Solana.

Как работают виртуальные машины блокчейнов

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

  • низкоуровневый язык: 3+3=6;
  • высокоуровневый (вариант №1): три плюс три равно шесть;
  • высокоуровневый (вариант №2): Если Сложить три И три, Получим шесть;
  • высокоуровневый (вариант №3): результатом суммирования тройки и тройки будет шестерка.

Читая примеры на высокоуровневом языке, мы все равно в уме переводим их в более просто и удобный формат: 3+3=6. То же самое происходит и в программировании: компилятор преобразует высокоуровневый язык в простой байт-код. Опытные разработчики блокчейнов используют специализированные низкоуровневые языки.

Виды смарт-контрактов

Смарт-контракты классифицируют по:

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

Простой смарт-контракт с одной точкой входа

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

Смарт-контракт с несколькими точками входа

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

Преимущества и недостатки умных контрактов

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

  • Работа без посредников. Можно провести сделку, полностью или частично избавившись от контроля и участия третьих лиц. Это исключает риски манипуляций, повышает безопасность, делает операции прозрачными, а расходы на их проведение — низкими;
  • Прозрачность. В буквальном смысле любая из сторон сделки всегда имеет доступ к проверке правильности выполнения условий без каких-либо ограничений;
  • Безопасность. Данные об осуществлении смарт-контракта и условиях содержатся в реестре. Благодаря этому удается почти полностью исключить риски мошенничества и манипуляций. Чтобы контракт «закрылся», каждая из сторон должна четко выполнить условия;
  • Перспективность. Сейчас главный объект, для которого инициируют смарт контракт, — это криптовалюта. Но уже есть наработки и направления для более широкого использования технологии. Это сферы государственного управления, здравоохранения, логистики и многие другие;
  • Снижение расходов. Технология нивелирует финансовые риски, и не требует дополнительных расходов на услуги третьей стороны.

Недостатки смарт-контрактов:

  • Нет правового обоснования. Юридический статус смарт-контрактов не определен, и это ограничивает их использование за пределами криптовалютной сферы;
  • Сложность настройки. Нужно просчитать все возможные варианты событий и создать правильный алгоритм;
  • Отсутствие доверия. Люди, не связанные вплотную с блокчейном и цифровыми валютами, не могут представить, как можно доверить сделку математическим алгоритмам, и провести ее без посредников. Но это, по большей мере, проблема эволюции технологии;
  • Риск ошибки при оформлении. «Человеческий фактор» все-таки может проявиться при подготовке контракта: когда нужно переводить правовые нормы в алгоритмы. Любая ошибка может нивелировать сделку и даже усугубить проблемы;
  • Математическая точность. Это и преимущество, и проблема технологии. Смарт контракт не предусматривает форс-мажоров: ему нужно работать по четким параметрам;
  • Привязанность к цифровой валюте. Это ограничивает технологию, так как очень много людей не доверяют криптоактивам и не хотят разбираться в них.

Выводы

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