2023-02-21 13:48:25
Что такое смарт-контракты и как они работают?

Во всем мире принято заключать письменные соглашения, привлекая юристов и других официальных лиц в качестве посредников, а государство в виде гаранта исполнения. Это приводит к рискам и дополнительным затратам. В то же время существует технология, позволяющая осуществлять сделки напрямую между сторонами с более высоким уровнем безопасности. Расскажем, что такое смарт контракты, а также об их принципах работы и преимуществах.
Смарт-контракт сравнивают с функционированием кофейного автомата. Клиент опускает монету в проем и получает нужный напиток. Взаимодействие между ними — это сделка, условиями которой являются товар и фиксированная оплата за него. Если клиент внес деньги, условие считается выполненным. Автомат выдает напиток, выполняя условие со своей стороны.
Появление смарт-контрактов совпало с развитием блокчейн-технологий. Децентрализованная система блокчейна — идеальная среда для выполнения цифровых соглашений, так как код невозможно изменить, и его выполнение не зависит от третьего лица.
FAQ
Смарт контракт — это вид соглашения, условия которого обозначены в цифровом виде, а за их соблюдение отвечает набор протоколов (алгоритмов). Если обе стороны выполняют условия, сделка автоматически закрывается. Такой формат позволяет сторонам закреплять взаимоотношения без бумажных контрактов и использования услуг третьих лиц (юристов, нотариусов).
Классический контракт представляет собой письменное или устное соглашение. Стороны согласуют условия, а их выполнение гарантирует третья стороны (например, государство). Если одна из сторон нарушила условия, можно обратиться в суд, который определит степень вины и вид ответственности.
Что такое смарт контракт? Это в первую очередь цифровое соглашение без участия гаранта. Его функцию выполняет математический алгоритм. Если одна из сторон (или обе) не выполняет условия, контракт считается недействительным. При этом стороны защищены от финансовых и других видов рисков. Уже сейчас прогрессивные компании направляют инвестиции в смарт-контракт, так как очень скоро применение технологии станет массовым.
Блокчейн и его децентрализованная технология работы являются основой для заключения смарт-контрактов. Цифровые соглашения — это наборы математических правил. Они помогают свести любые условия соглашений к простой схеме: «все выполнено — сделка закрыта» или «любое из условий не соблюдено — сделка недействительна».
История появления технологии
Принцип функционирования смарт-контрактов разработал американский криптограф Ник Сабо. Примерно в 1994 году он пришел к мнению, что имеется теоретическая возможность применить цифровой децентрализованный реестр для заключения контрактов, исполняющихся автоматически. В тот момент его идея была слишком футуристичной, поэтому ее никто не реализовал. Лишь в 2005 году были сделаны попытки создать алгоритм цифрового актива Bit Gold, который называют «черновиком Биткоина».
Концепция работы блокчейна, впервые реализованная в Bitcoin, заключается в хранении всей цепочки данных. Причем, реестр с полным перечнем проведенных операций хранится не на центральном сервере у третьей стороны, а у каждого участника сети (нода). Это стало основой для реализации идеи смарт-контрактов. В частности, появилась возможность посмотреть любую информацию о транзакциях за всю историю существования платформы. Вторым преимуществом стала безопасность: даже если часть блокчейна будет выведена из строя, данные легко восстановить благодаря полным копиям, которые хранятся у остальных пользователей.
Однако реализовать смарт-контракты в Bitcoin не получилось: эта функция была сознательно ограничена разработчиками сети. Поэтому первым в истории стал смарт-контракт Эфириум в 2013 году. Разработчик Виталик Бутерин, используя язык Тьюринг, создал децентрализованный блокчейн с возможностью программирования разных вариантов хранения. Правило одно: для полноценной реализации контракты должны соответствовать четким математическим условиям. Сейчас смарт-контракты функционируют и на других блокчейнах: Codius, Counterparty, Solana.
Как работают виртуальные машины блокчейнов
Для функционирования виртуальных машин нужны низкоуровневые языки — так называемые байт-коды. Их применение в первую очередь оправдано повышенной скоростью интерпретации: виртуальные машины воспринимают байт-код оперативнее, чем команды, прописанные на высокоуровневых языках. Для понимания приведем условный пример на основе простого арифметического действия:
- низкоуровневый язык: 3+3=6;
- высокоуровневый (вариант №1): три плюс три равно шесть;
- высокоуровневый (вариант №2): Если Сложить три И три, Получим шесть;
- высокоуровневый (вариант №3): результатом суммирования тройки и тройки будет шестерка.
Читая примеры на высокоуровневом языке, мы все равно в уме переводим их в более просто и удобный формат: 3+3=6. То же самое происходит и в программировании: компилятор преобразует высокоуровневый язык в простой байт-код. Опытные разработчики блокчейнов используют специализированные низкоуровневые языки.
Виды смарт-контрактов
Смарт-контракты классифицируют по:
- среде создания: централизованные и распределенные проекты;
- виду инициирования: предустановленные и ограниченные;
- степени секретности: открытие, частично-открытые и конфиденциальные;
- степени автоматизации: автоматизированные (работают без бумажных носителей), частичные (требуется копия контракта на бумаге).
Простой смарт-контракт с одной точкой входа
Функции, которые пользователи задают в смарт-контракте, называются точками входа (ввода), а возвращаемые значения — выводом. Точка входа является ключевой функцией контракта, так как она отвечает за входящие транзакции и активирует другие необходимые действия. У такого смарт-контракта возможна активация лишь одной последовательности функций. То есть, такое цифровое соглашение не предназначено для выполнения нескольких задач. Например, контракт не сможет принять платеж и отправить его.
Смарт-контракт с несколькими точками входа
Чтобы расширить количество функций, разработчики дополняют точку ввода несколькими псевдоточками. Каждая из них привязана к конкретной функции, а специальный оператор объясняет виртуальной машине, какую из них нужно вызывать в конкретной ситуации. Это расширяет возможности цифровых соглашений.
Преимущества и недостатки умных контрактов
Ключевое преимущество смарт-контрактов заключается в автоматизации рутинных процессов. Это позволяет полностью нивелировать такие факторы риска, как человеческое участие, а также влияние третьей стороны. В целом у технологии следующие плюсы:
- Работа без посредников. Можно провести сделку, полностью или частично избавившись от контроля и участия третьих лиц. Это исключает риски манипуляций, повышает безопасность, делает операции прозрачными, а расходы на их проведение — низкими;
- Прозрачность. В буквальном смысле любая из сторон сделки всегда имеет доступ к проверке правильности выполнения условий без каких-либо ограничений;
- Безопасность. Данные об осуществлении смарт-контракта и условиях содержатся в реестре. Благодаря этому удается почти полностью исключить риски мошенничества и манипуляций. Чтобы контракт «закрылся», каждая из сторон должна четко выполнить условия;
- Перспективность. Сейчас главный объект, для которого инициируют смарт контракт, — это криптовалюта. Но уже есть наработки и направления для более широкого использования технологии. Это сферы государственного управления, здравоохранения, логистики и многие другие;
- Снижение расходов. Технология нивелирует финансовые риски, и не требует дополнительных расходов на услуги третьей стороны.
Недостатки смарт-контрактов:
- Нет правового обоснования. Юридический статус смарт-контрактов не определен, и это ограничивает их использование за пределами криптовалютной сферы;
- Сложность настройки. Нужно просчитать все возможные варианты событий и создать правильный алгоритм;
- Отсутствие доверия. Люди, не связанные вплотную с блокчейном и цифровыми валютами, не могут представить, как можно доверить сделку математическим алгоритмам, и провести ее без посредников. Но это, по большей мере, проблема эволюции технологии;
- Риск ошибки при оформлении. «Человеческий фактор» все-таки может проявиться при подготовке контракта: когда нужно переводить правовые нормы в алгоритмы. Любая ошибка может нивелировать сделку и даже усугубить проблемы;
- Математическая точность. Это и преимущество, и проблема технологии. Смарт контракт не предусматривает форс-мажоров: ему нужно работать по четким параметрам;
- Привязанность к цифровой валюте. Это ограничивает технологию, так как очень много людей не доверяют криптоактивам и не хотят разбираться в них.
Выводы
Принцип работы смарт-контрактов относительно новый, поэтому еще проходит стадии развития, популяризации, исправления недостатков. Но уже сейчас очевидно, что для технологии смарт-контракт криптовалюта — не предел. Если найдутся возможности подвести под этот принцип юридические нормы, цифровые соглашения можно будет использовать в сфере финансового документооборота, для операций с акциями, хранения данных, отслеживания цепочек поставок, идентификации личности и прочих направлений.
