Смарт-контракты, smart-contracts или умные контракты – уникальная концепция, пришедшая к нам вместе с возможностями технологии блокчейн и виртуальными валютами.
Сейчас понятие smart-контрактов для многих остаётся чем-то загадочным и неясным. А между тем, стоит понимать это явление, поскольку новые технологии и криптовалюты быстро входят в нашу жизнь.
Рассмотрим, что такое умные контракты и как они помогают пользователям, создаются, применяются. Проанализируем некоторые моменты на примере смарт-контрактов Ethereum.
- Что такое смарт-контракты
- Когда появились smart-контракты
- Как работают смарт-контракты Ethereum
- Что такое Оракулы в смарт-контрактах
- Преимущества смарт-контрактов
- Недостатки смарт-контрактов
- Как создавать смарт-контракты
- Виды смарт-контрактов
- Блокчейн-проекты и криптовалюты со смарт-контрактами
- Применение смарт-контрактов
- Некоторые особенности смарт-контрактов Ethereum
- Заключение
Что такое смарт-контракты
Концепция smart-контрактов появилась давно, однако, технологические возможности не позволяли её реализовать в полной мере. С развитием блокчейна всё изменилось. Термин смарт-контракт имеет полностью английское происхождение (smart contract) и дословно переводится как умный контракт.
Алгоритм даёт возможность обмена активами, существующими в цифровом формате – акции, деньги, договоры и иные варианты права собственности. Важно, что этот обмен при помощи смарт-контрактов осуществляется без участия посреднических сторон.
Нюанс! В умном контракте прописываются все аспекты совершаемой сделки. Когда сторонами исполняются условия, происходит автоматическая реализация сделки или транзакции!
Объясняя, что такое смарт-контракты для чайников, можно привести понятную аналогию. Есть продавец квартиры, желающий получить деньги и найден покупатель, готовый заплатить. В обычных условиях, которые были раньше, никто по понятным причинам друг другу не доверяет. Из-за этого привлекаются посредники – банк, нотариусы, юристы и т. п.
Когда люди не могли применять умные контракты, проведение сделки «раздувалось» и затягивалось. Обязательно была куча бумажной работы, бюрократия, а также масса дополнительных затрат.
Но использование smart-контрактов в корне меняет эту ситуацию. Здесь остаётся в сделке только покупатель квартиры, её продавец и специальный компьютерный код с функцией самоисполнения.
После сбора нужной документации и оформления договора алгоритм проверяет выполнение условий по сделке и в автоматическом режиме совершает распределение активов.
Если выполнены все условия, заложенные в коде, контролирующем данный тип сделки, то продавец получает деньги, а покупатель права на квартиру и саму недвижимость. Ну, разумеется, описан идеальный сценарий, к которому стремится технология.
Сразу тут проявляется важное преимущество смарт-контрактов.
При совершении любых сделок и транзакций умные контракты на блокчейне убирают из операций любого посредника и делают процесс максимально оптимальным.
Затрачивается минимум усилий, экономится время, устраняются риски человеческого фактора. Алгоритм смарт-контракта самостоятельно проверяет исполнение параметров сделки и автоматически реализуется.
Когда появились smart-контракты
Концепция умных контрактов была озвучена до изобретения блокчейна, следовательно, появились они до первых криптовалют. Идея принадлежит американскому специалисту в области криптографии Нику Сабо.
Он в 90-х годах прошлого века описан принцип работы и варианты применения смарт-контрактов. Специалист дал такое определение своему изобретению – умные контракты – это вариант электронного протокола передачи информации, обеспечивающего точное выполнение условий транзакции или сделки каждой участвующей стороной.
Но в 90-е годы не существовало систем и технологий, которые могли бы обеспечивать поддержку с выполнением умных контрактов. Концепция просто оставалась теорией. Она пребывала в таком состоянии до начала 2000-х и когда появился блокчейн (ориентировочно в 2005–2007) разработчики получили возможность создания умных контрактов для практического использования.
Да, была основа для реализации идеи, однако, блокчейн биткоина не обладал нужным потенциалом, чтобы формировать и использовать смарт-контракты. Разработчики могли лишь писать элементарные алгоритмы и тестировать разные нюансы передовой идеи. Так появились зачатки современных smart contract.
Всё кардинально изменилось, когда Виталий Бутерин представил функционирующую платформу Ehtereum. На ней применение смарт-контрактов стало максимально полным. Программистам теперь представилась возможность работы на совсем другом уровне – они могли разрабатывать приложения, не создавая отдельные блокчейны.
Теперь умные контракты могли существовать и началась эра их использования. Всё стало получаться благодаря написанию smart-контрактов в Ethereum на тьюринг полном языке программирования. В системе первой популярной криптовалюты bitcoin нет достаточной полноты по Тьюрингу.
Как работают смарт-контракты Ethereum
Блокчейн и умные контракты имеют полную взаимосвязь. Понятно, что самоисполняемый компьютерный код нужно записать, чтобы он где-то существовал. Оптимальным решением для этого оказался распределённый реестр – последовательность из блоков с хешированной информацией – блокчейн.
Первоначально в smart-контракте имеется:
- право полного доступа к предметам конкретного договора – это услуги либо товары, по которым осуществляется операция;
- комплект цифровых подписей, принадлежащих участникам договора;
- чёткое обозначение условий, которые нужно исполнить для выполнения сделки или операции.
Возможности смарт-контракта:
- производить отслеживание точного выполнения всех прописанных параметров;
- делать самостоятельное принятие решений, основываясь на предыдущее условие или пункт.
После принятия решения алгоритм смарт-контракта производит одно из двух действий:
- Выполняет завершение сделки через распределение активов между участвующими сторонами. Или:
- Назначает штраф, когда условия не выполняются. Пеня начисляется участнику, «сорвавшему» операцию. Возможна автоматическая блокировка активов в случае серьёзных нарушений.
Активация умных контрактов и запрограммированное выполнение условий происходит посредством транзакций, отправленных с криптовалютного кошелька участника. Возможен запуск через сообщение, отправленное напрямую в сети другим связанным smart-контрактом.
Смарт-контракты Ethereum можно активировать только при наличии некоторой суммы газа (расчётная единица комиссии gas в системе Эфириума). Таким образом оплачивается работа умного контракта.
Что такое Оракулы в смарт-контрактах
Из-за того, что алгоритм умного контракта записан в структуре конкретного блокчейна, его функционирование ограничивается исключительно одной системой. Но принятие решения между разными участниками операции предусматривает работу смарт-контракта за приделами родной экосистемы.
Нужно проверять параметры сделки и статус её выполнения, к примеру, ход платёжной транзакции, изменение цен и проч. Чтобы это осуществлять были созданы Оракулы в смарт-контрактах.
Это специальные структуры, создающие связь умного контракта с разными источниками информации, располагающимися вне пределов блокчейна. Так в смарт-контрактах Ethereum практически всегда задействуется Оракул, имеющий название Oraclize.
Преимущества смарт-контрактов
Специалисты выделяют следующие плюсы smart contract:
- чёткая стандартизация в отрасли – постепенно формируется всё большее количество смарт-контрактов Ethereum, Tron и других систем. Нетрудно подобрать нужный вариант для операции;
- автоматизация даёт большую скорость исполнения – даже сложные процедуры, оформления по которым занимают многие дни в обычной жизни, через умные контракты реализуются за минуты;
- минимизация расходов благодаря исключению посреднических звеньев;
- неподкупность smart-контрактов – используются строгие математические алгоритмы, действие которых нельзя переманить для выполнения собственных интересов;
- самовыполняемость и самопроверяемость;
- прозрачность исполнения – для задействованных участников открыт доступ к просмотру процесса исполнения условий. Но конфиденциальность при этом остаётся полной;
- отличная защищённость, неизменяемость, невозможность утраты информации. Эти аспекты обусловлены спецификой блокчейна – распределённый реестр с децентрализованным хранением многочисленных копий.
Недостатки смарт-контрактов
Поскольку концепция умных контрактов ещё проходит экспериментальную стадию, есть ещё множество недостатков и слабых мест.
Разработчики по мере сил и по факту появления убирают различные баги, но ещё остаётся очень вероятной возможность критических ошибок, последствия которых невозможно будет исправить.
Хорошим примером таких проблем служит первый в истории венчурный фонд на блокчейне Эфириума the DAO. Какой-то хакер нашёл уязвимость и похитил свыше 60 000 000 долларов. Причём процесс перевода средств был осуществлён мелкими транзакциями и происходил долго.
Другие недостатки смарт-контрактов:
- остаётся вероятность подмены информации, размещённой на внешних источниках;
- нет в системе гибкости – только выполнение строгих программных задач. Любые ошибки исправлять уже невозможно, а условия никак не подкорректировать под изменяющиеся условия;
- требуется доработка технологии блокчейн. Есть проблемы с масштабируемостью и скоростью обработки транзакций;
- нуждаются в оптимизации программы Оракулов;
- отсутствует всякое правовое регулирование отрасли;
- нахождение smart contract в экспериментальной фазе, где необходимо ещё сделать много корректировок и оптимизаций.
Негативным фактором является оплата смарт-контрактов Ethereum и их аналогов исключительно криптовалютой, которая пока неудобна для крупных бизнес-проектов. Правовой статус цифровых монет неопределённый, волатильность котировок большая – это большой риск для серьёзных сделок.
Дополнительный негатив, угнетающий развитие популярности умных контрактов, исходит из плохой осведомлённости людей про возможности этой технологии. Мало кто понимает, что такое смарт-контракты. А ведь их возможности многим могут помогать в решении различных задач.
Некоторых пугает сам термин смарт-контракт. Есть люди, которые ожидают от этой концепции фантастических результатов. Но в реальности, например, через смарт-контракты Ethereum выполняются обычные операции.
Как создавать смарт-контракты
Нужно понимать, что работа с блокчейном и умными контрактами – это прежде всего программирование, поэтому следует понимать соответствующие языки. В противном случае необходимо нанимать сторонних специалистов.
Следующим этапом является выбор блокчейна. На нём будет работать создаваемый smart-контракт.
Написание кода для смарт-контрактов Ethereum производится на языке программирования Solidity. Для компиляции и редактирования задействуется Remix. После создания код рекомендуется проконтролировать в тестовой сети, чтобы обнаружить и устранить баги.
Создавать смарт-контракты с простой структурой нетрудно. Здесь реализуется простая логика – if-then-else – when-do – если…то…иначе… Хорошим примером работы умного контракта является автоматический автомат для торговли чем-то. Человек бросает в него монету и активирует алгоритм …если…то…
Поскольку монетка брошена, выполнено условие …если… Остаётся сейчас решить задачу …то… – выбрать товар, который нужно получить из автомата. Как только устройство выдаст желаемый продукт или изделие, сделка будет выполнена. То есть контракт разрешён.
Примеры смарт-контрактов на Ethereum нетрудно отыскать на портале etherscan.io. Представлены уже сформированные исходные коды, в которых можно обстоятельно изучать логический принцип структуры кода.
В середине осени 2017-го была запущена специализированная платформа Etherparty – блокчейн-проект для максимального упрощённого создания smart-контрактов. Специально, чтобы люди, не знающие языков программирования, реализовывали собственные идеи.
По заверениям разработчиков функционал инструмента позволяет писать умные контракты на совместимых блокчейнах. Причём специальных навыков программирования не требуется.
Виды смарт-контрактов
Технология блокчейн ещё в начальной стадии своего развития. Несмотря на это уже существует несколько видов смарт-контрактов. Данная классификация строится на одном параметре – сколько этапов в контракте автоматизировано.
Выделяют такие варианты:
- полностью автоматизированные – каждый этап зафиксирован в коде алгоритма, поэтому условия реализуются автоматически;
- частично автоматизированные – базовая часть программы находится на бумажном носителе, а в электронном виде прописан какой-то этап. К примеру, выполнение платежа или получение транзакции.
В некоторой обособленности стоят smart contract, имеющие двойную копию – есть полный программный код и полная версия на бумаге.
Сейчас самым востребованным видом смарт-контрактов является вариант с частичной автоматизацией. Какой-то этап выполняется алгоритмом, а остальная часть – вручную участниками.
Блокчейн-проекты и криптовалюты со смарт-контрактами
В каждом блокчейне у умных контрактов свои специфические возможности. Самые простые образы возможно создать в распределённом реестре биткоина, однако, такие модели будут фактически бесполезными. Сейчас наиболее популярной блокчейн-платформой для генерации и использования смарт-контрактов является Ethereum.
Есть альтернативные варианты – другие площадки, на которых можно создавать smart contract:
NEO – уникальная платформа, получившая неофициальное название «китайский эфириум». Общие принципы функционирования у них идентичные, но важным преимуществом NEO является поддержка популярных языков программирования – Java, Go и Python;
— некоторые форки bitcoin – система Bitcoin gold и Super bitcoin.
NXT – развивающийся проект, на платформе которого можно будет использовать уже готовые контракты. Сейчас архив небольшой, но активно пополняется новыми кодами. Свои варианты прописывать нельзя.
EOS – главная специализация этой площадки – создание асинхронных smart-контрактов. Технология уникальна тем, что такие контракты способны исполняться параллельно. Здесь значительно увеличивается быстрота обработки информации.
Sawtooth – система от консорциума Hyperledger – умные контракты пишутся на Solidity в распределённом реестре, имеющем ограниченный доступ (эксклюзивный блокчейн).
Cardano – платформа, не являющаяся конкурентом системы Ethereum (блокчейн второго поколения), поскольку разработчики представляют её, как систему с блокчейном третьего поколения. Это совершенно разные уровни криптографического кодирования.
Tron – проект с современной площадкой для удобного создания адаптивных приложений и умных контрактов.
Stellar – одна из старейших площадок для создания смарт-контрактов на блокчейне. Преимущественная ориентация на ICO. Простая в использовании, дешевле, чем smart-контракты Ethereum. Однако, не может поддерживать разработку сложных моделей взаимодействия.
Можно видеть, что мест для создания смарт-контрактов достаточно. Однако, безоговорочным лидером в этом направлении остаётся система Ethereum.
Применение смарт-контрактов
По мере развития блокчейн-технологии расширяется сфера применения умных контрактов. Уже активно задействуется эта концепция в отраслях:
- криптовалюты и платёжные системы;
- кредитование;
- аудит;
- регистрация прав;
- страхование;
- логистика;
- голосования и выборы;
- здравоохранение;
- краудфандинг;
- бухгалтерский учёт;
- игровая индустрия, беттинг (ставки на спорт);
- идентификация личности;
- ICO, IEO, SCO и STO;
- азартные игры;
- и др.
Некоторые особенности смарт-контрактов Ethereum
В зависимости от специфики кода умные контракты бывают различной сложности. Некоторые алгоритмы простые, вторые относительно средние. Ну а третьи собой представляют комплексные модели, вычисления по которым очень сложные.
Примером простого смарт-контракта является мультиподпись (multisig). Допустим, семь человек заключаю сделку, но доверия между ними нет. Они ведут переговоры, замораживают на специальном счёте деньги и подписывают договор.
Теперь средства исполнители не могут получить, пока минимум 4 человека не поставят подпись под принятием результата сделки. Здесь используется простой смарт-контракт.
Если рассмотреть применение умных контрактов в операциях с недвижимостью, то зачастую они являются сложными. Тут многоступенчатая процедура с подключением юристов и экспертов. Нужна регистрация прав собственности и денежные расчёты. Поэтому каждый этап прописывается отдельно либо создаются отдельные контракты.
Казалось бы, умные контракты лучше, чем нотариусы. Действительно это так, поскольку процессы упрощаются, сделки ускоряются, а вероятность фальсификаций практически устраняется.
Рассмотрим, чем смарт контракты отличаются от обычных договоров.
1. Особенности криптовалютных smart contract:
- самоисполняемые;
- математический код является неподкупным инструментом;
- средства переводятся автоматически;
- невозможно вносить корректировки в контракт. Все пункты соблюдаются с абсолютной строгостью;
- низкие расходы.
2. Специфика классических договоров:
- требуется подключение посредников – банки, брокеры, нотариусы и др.;
- возможны сговоры, подкуп, обман людей;
- транзакцию нужно подготавливать и выполнять вручную;
- можно подменять листы или двояко истолковывать условия. Потом всё будет решать суд, который часто ошибается;
- услуги привлекаемых специалистов дорого стоят.
Заключение
Перспективы у применения смарт-контрактов невероятно большие. Эта концепция действительно способна внести значительные перемены во многие сферы современной жизни. Однако, широкое распространение smart contract пока не получают из-за сильной молодости технологии, в которой ещё остаётся много трудностей, ошибок и непредсказуемых результатов.
Наверняка развитие технологии блокчейн и задействование разных видов смарт-контрактов вскоре начнёт создавать серьёзную конкуренцию людям, работающим в смежных отраслях. Ведь когда-то роботы заменили людей на многих заводских производствах.
В любом случае о мрачных сценариях думать ещё рано. Пока нужно понять, что такое смарт-контракты простыми словами, чтобы знать потенциал технологии и её возможности.
Появляется всё больше платформ, позволяющих создавать smart-контракты. Любой желающий может заняться эти делом. Лидером в индустрии остаются смарт-контракты Ethereum.
Обязательно посетите мой Телеграм блог, где я показываю все свои сделки по крипте и фондовому рынку: https://t.me/sergeysmirnovinvest