Дают возможность выполнять надежные и приватные транзакции без участия третьих лиц. Кроме того, такие переводы являются отслеживаемыми, прозрачными и необратимыми. Смарт-контракты не только содержат информацию об обязательствах сторон и санкциях за их нарушение, но и сами автоматически обеспечивают выполнение всех условий договора.
Алгоритм записывается в blockchain, где вся его логика помещается в программный контейнер – блок. Он объединяет все сообщения, относящиеся к конкретному смарт-контракту. Сообщения могут выполнять роль входов и выходов программного кода смарт-контракта и приводить к каким-либо действиям за пределами распределенного реестра, в реальном или цифровом мире.
Обязательные составляющие смарт-контракта:
– наличие приватной децентрализованной среды (например, ethereum), в которую записываются смарт-контракты, и которая воспринимает входы и выходы для «оракулов». Оракулы – это те люди или организации, обеспечивающие связь действительности и мира blockchain;
– использование электронной цифровой подписи на основе асиметричного шифрования информации, а именно публичных и приватных ключей;
– предмет договора и наличие необходимых для его исполнения инструментов (криптовалютных счетов для расчетов, достоверных внешних данных);
– точно прописанные условия исполнения, которые участники договора подтверждают своей подписью.
Существуют различные виды смарт – контрактов:
– Полностью автоматические по выполнению;
– С копией на бумажном носителе;
– На бумажном носителе, при этом часть положений перенесена в программный код (например, платежи);
Решения на базе распределенного реестра сейчас находятся в начале большого пути. Из-за этого пока что не используются по-настоящему сложные смарт-контракты. На сегодняшний день подавляющее большинство смарт-контрактов относятся к третьему типу, где автоматизированы лишь пункты соглашений по обмену ресурсами.
Смарт-контракты широко используются в сфере первичных распределений монет (ICO). Например, алгоритм умного контракта может быть запрограммирован на получение криптовалюты от инвесторов с условием, что в случае провала кампании их средства будут автоматически возвращены. Если же проект соберет достаточно средств, то средства будут перечислены разработчикам.
Пример программного кода
Цифровая подпись, ЭЦП, электронная цифровая подпись
Код, генерируемый алгоритмом шифрования с открытым ключом, который прикрепляется к транзакции для проверки подлинности.
Segregated witness, segwit
Реализованное обновление протокола Bitcoin, призванное решить проблему пластичности транзакций и увеличить пропускную способность сети. Аналогичное обновление реализовано и для blockchain сети litecoin, digibyte.
Segwit это «софт форк» протокола Bitcoin и позволяет сети функционировать в штатном режиме. Однако изменяется структура хранения данных в блоке и механизм проверки транзакций для полноценных узлов сети.
Lightning Network
Платежный протокол, который функционирует над сетью blockchain (обычно применяется в сети Bitcoin). Он осуществляет моментальные транзакции между нодами сети и предлагается как решение проблемы масштабируемости.
Сеть lightning network включает в себя узлы и двунаправленные платежные каналы. Платежный канал устанавливается между узлами сети. Каждый из двух узлов платежного канала резервирует в реестре blockchain определенную сумму средств для перевода. В дальнейшем заблокированные средства обрабатываются каналом, используя долговые расписки держателей криптовалюты, а не саму криптовалюту.
Все платежи проходят две обязательные операции:
– Открытие канала – блокировка необходимых средств, которые передаются в управление вновь созданному каналу lightning network;
– Закрытие канала – закрытие канала и перевод средств под контроль blockchain сети;
Иногда происходит так называемое «истощение канала» – это обратимый процесс, в результате которого канал фактически работает только в одном направлении из двух. Если первый узел перевел все средства второму узлу, то направление перевода средств от первого узла второму невозможно до тех пор, пока второй узел не «закинет» часть средств первому. Либо двум узлам понадобится открыть новый платежный канал.
Атомарный своп
Это транзакция обмена одной криптовалюты на другую, которая происходит мгновенно без необходимости иметь требующего доверия посредника в лице биржи или обменника. В итоге контроль над сделкой осуществляют исключительно участвующие в ней стороны.
Атомарные свопы могут осуществляться напрямую между blockchain разных криптовалют, так и за пределами сети. Первый такой обмен был совершен 19 сентября 2017 года между криптовалютами decred и litecoin.
Вот так выглядит реклама Bitcoin на улицах Токио
Stablecoin, стэйблкоин
В переводе с английского «стабильная монета». Это криптовалюта, чья цена зависит от стоимости какого-то традиционного финансового актива. Это может быть американский доллар, нефть, золото и пр.
Привязка курса криптовалюты к цене такого актива является попыткой адаптировать цифровые технологии к реальной жизни. Это дает возможность использовать эти монеты в качестве расчетного средства в товарно-денежных отношениях, поскольку позволяет определять и сравнивать цены на товары и услуги.
Для понимания приведу примеры самых популярных стейблкоинов:
Монетки, выпущенные на базе blockchain Bitcoin с привязкой стоимости монеты к курсу доллара США. Схема работы такова: когда банковский счет компании tether limited пополняется на 1 доллар, она выпускает 1 токен USDT. Если доллары выводятся со счета компании, то токены USDT погашаются. На данный момент в обращении находится примерно 5.3 млрд. USDT.
Монетки, выпускаемые на базе blockchain ethereum. 1 токен DGX соответствует 1 грамму золота, при этом существует возможность деления монеты до эквивалента 0,001 грамма. Схема обеспечения золотом стейблкоина довольно сложна. Использование смарт-контрактов позволило добиться того, что каждый токен digix соответствует определенному реальному слитку золота.