Умный контракт что это такое


Как умные контракты изменят нашу жизнь

Что такое умные контракты, как они работают и почему будущее именно за ними.

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

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

В 1994 году Ник Сабо, специалист в области права и криптограф, понял, что с помощью децентрализованного реестра можно заключать «умные контракты», которые также называют самоисполняемыми, цифровыми или смарт-контрактами. Такие контракты могут быть записаны в виде кода, сохранены и продублированы в системе, а их выполнение обеспечит сеть компьютеров, управляющая блокчейном. Также с помощью реестра можно будет переводить друг другу деньги и получать товары или услуги. Умные контракты позволяют обмениваться деньгами, собственностью, акциями или другими активами, не прибегая к услугам посредников. Для того, чтобы заключить обычную сделку, нужно пойти к юристу или нотариусу, заплатить и дождаться оформления документов. Умные контракты работают как торговые автоматы: вы просто бросаете в автомат (то есть в реестр) биткоин, и хранившийся у третьего лица контракт, водительские права или любая другая услуга, которую вы заказывали, падает на ваш счет. Кроме того, в отличие от традиционных соглашений, умные контракты не только содержат информацию об обязательствах сторон и штрафах за их нарушение, но и сами автоматически обеспечивают выполнение всех условий договора.

На недавнем блокчейн-саммите в Вашингтоне Виталик Бутерин, 23-летний программист из проекта Ethereum, объяснил, что в умном контракте актив или валюта переводятся в программу, которая следит за соблюдением заложенного набора условий.

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

Образец умного контракта, написанного на платформе Ethereum. Источник: www.ethereum.org/token Здесь говорится, что создатель контракта должен получить 10 тыс. биткоинов. Этот контракт позволяет любому, у кого достаточно средств на счете, перевести биткоины другим людям. Используя умные контракты, можно упростить работу во многих сферах жизни, в том числе логистике, менеджменте, юриспруденции и даже в выборах.

Выборы

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

Менеджмент

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

Логистика и снабжение

Разработчик протокола Bitcoin Core Джефф Гарзик говорит: «UPS может исполнять контракты, в которых будет сказано: “Если мы получим оплату за доставку товара, то его производитель, который в цепочке поставок находится на много звеньев выше, немедленно начнет создавать новый такой товар, поскольку этот уже доставлен по назначению”». Снабжение слишком часто страдает из-за бюрократии, когда разные формы должны пройти утверждение в многочисленных инстанциях. Из-за этого мошенники получают возможность заработать, а компании несут убытки. Блокчейн позволяет избежать этих проблем, так как каждый участник цепочки поставок получает доступ к безопасной электронной системе, которая контролирует выполнение работ и платежи. Так, банк Barclays Corporate Bank использует умные контракты для того, чтобы регистрировать переход права собственности и автоматически перечислять платежи в другие кредитно-финансовые учреждения.

Автомобили

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

Другие сферы

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

Патрик Хаббард, главный специалист и старший управляющий маркетингом продуктов в SolarWinds: «Янгонская фондовая биржа в Мьянме производит платежи с помощью распределенного реестра. Особый интерес вызывают те функции блокчейна, которые выходят за рамки традиционного использования технологии. Так на Янгонской бирже удалось решить проблему производимых в разное время расчетов в торговой системе, которая синхронизирует торги всего лишь дважды в день. Благодаря тому, что умные контракты сами обеспечивают исполнение сделок, блокчейны с их надежной системой проведения транзакций могут использоваться в ситуациях, где требуется выполнение сложных операций, зависящих от разных изменяющихся факторов. Вот почему Amazon, Microsoft Azure и IBM Bluemix уделяют такое внимание разработке облачной технологии “блокчейн как услуга”».

Умные контракты далеки от совершенства. Что если в код попадут ошибки? Как должно регулировать эти контракты государство? И как оно будет взимать налоги с таких транзакций? Список возможных проблем этим не ограничивается. Специалисты пытаются решить все вопросы, но подобные трудности отталкивают многих возможных пользователей. Bitcoin: Отличный блокчейн для транзакций с биткоинами, но возможности для работы с документами там ограничены.

Side Chains: Другое название для блокчейнов, параллельных Bitcoin, которые предоставляют несколько большие возможности для работы с контрактами.

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

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

Источник: Blockgeeks.

Смарт-контракт для чайников: что это, как создать, примеры умных контрактов из жизни

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

Что такое смарт-контракт?

Смарт-контракт происходит от английского термина smart contract, что переводится как «умный контракт». Это самоисполняемый компьютерный код, который записывается в блокчейн — децентрализованную цепочку блоков, хранящуюся на множестве компьютеров. Он позволяет обмениваться активами — деньгами, акциями и другими видами собственности напрямую без участия третьих лиц.

В контракте прописаны все условия сделки и, если участники их выполняют, автоматически получают требуемое.

Умный контракт исключает из процесса посредников

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

Придется собирать кучу документов, выстаивать в очередях, заверять их у нотариуса. Все проверки могут занять значительное количество времени, а кроме того, услуги посредников необходимо еще и оплачивать.

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

В этом и заключается одно из основных преимуществ — смарт контракт на блокчейне исключает из процесса посредников, и максимальная оптимизирует процесс. Усилий потрачено минимум, время сэкономлено, исключен человеческий фактор.

Умный контракт сам все проверяет и сам себя исполняет

Немного истории

Нельзя сказать, что умные контракты появились вместе с криптовалютами в последние 9 лет. Идея витала в воздухе еще в 90-х годах прошлого столетия. Первым ее описал известный американский ученый и криптограф Ник Сабо. В частности, по его определению, умный контракт — это «электронный протокол передачи данных, который обеспечивает исполнение условий контракта всеми сторонами»

Однако среды, в которой умные контракты могли бы существовать, на то время не было. А потому описанная идея ждала своего часа. И он настал — в 2008 году с появлением технологии блокчейн и первой криптовалюты биткоин.

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

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

Как работает смарт контракт

Смарт контракт и блокчейн связаны неразрывно. Ведь компьютерный алгоритм должен быть где-то записан и для этого используется так называемая децентрализованная цепочка блоков blockchain.

Смарт-контракт имеет:

  • четко прописанные условия, при достижении которых он будет выполнен;
  • цифровые подписи участников договора;
  • доступ к предмету договора — иначе говоря, к товарам или услугам, о которых идет речь.

Смарт контракт может:

  • отслеживать, выполнены ли все условия, прописанные в нем;
  • самостоятельно на основе предыдущего пункта принимать решения.

Приняв решение умный контракт:

  • завершает сделку, распределяя активы между участниками;

или

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

Активируется смарт-контракт и начинает выполнять запрограммированные действия с помощью транзакции, отправленной с кошелька пользователя, или сообщения от другого умного контракта, переданного ему напрямую через сеть. Для того, чтобы активировать умные контракты Etherium, потребуется необходимое количество газа (Gas), которым оплачиваются транзакции в сети Эфира.

Смарт контракт и внешний мир — оракулы

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

Они связывают smart contract с разными источниками данных за пределами блокчейна. Для примера, умные контракты Ethereum часто используют оракул Oraclize.

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

Среди главных плюсов умных контрактов выделяют такие:

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

Уязвимости смарт-контрактов

Умные контракты все еще находятся на своей экспериментальной стадии развития. А потому предусмотреть при их создании все вероятные баги практически нереально. Во всяком случае пока. А критические ошибки нередко могут привести к непоправимым последствиям.

Вспомним первый децентрализованный венчурный фонд the DAO на Эфириуме. В результате атаки с использованием обнаруженной хакером уязвимости, фонд потерял более 60 миллионов долларов — они постепенно переводились на счета злоумышленника.

Из других недостатков умных контрактов можно отметить такие моменты:

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

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

В настоящее время умные контракты находятся на экспериментальной стадии

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

Многие услышав словосочетание «умный контракт» сразу включают воображение и представляют себе едва ли не всемогущую программу, решающую насущные проблемы. Хотя на деле смарт-контракты преимущественно выполняют весьма прозаичные задачи.

Как создать смарт контракт

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

Программирование смарт-контрактов в сети Эфириума происходит на языке Solidity. В качестве онлайн редактора и компилятора используется Remix. Готовый код советуют сперва залить в тестовую сеть и выловить возможные баги.

В простых контрактах действует логика «if-then-else», «when-do» — если… то…иначе. Часто действие смарт-контракта поясняют на примере торгового автомата. Вы бросаете доллар и этим запускаете следующее действие (если… то) — у вас появляется возможность выбрать товар (то… это). Когда выбор произведен, на очереди следующее действие — вы получаете желаемое.

Пример смарт-контракта на эфириуме и не один можно найти на etherscan.io. Точнее, здесь выложено тысячи исходников, и в каждом можно детально изучить логику построения кода. Вот образец простой голосовалки

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

Виды умных контрактов

Смарт-контракты сегодня можно разделить на несколько видов. Все зависит от того, насколько все этапы их выполнения автоматизированы. В частности:

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

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

Блокчейн-сети и криптовалюты со смарт контрактами

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

Среди других площадок отметим такие:

  • форки битокина — Super Bitcoin, Bitcoin God;
  • NEO — эту платформу нередко называют китайским Эфиром, поскольку принципы двух систем во многом схожи. Но главное преимущество NEO состоит в том, что тут поддерживаются такие популярные языки программирования как Python, Go, Java.
  • EOS — упор сделан на асинхронные умные контракты, которые могут выполняться параллельно друг с другом, что на порядок увеличивает скорость обработки данных.
  • NXT —платформа, где можно выбрать один из готовых контрактов. Количество пока не очень велико. Создать собственный возможности нет.
  • Cardano — платформа не считает себя конкурентом Эфириума, поскольку позиционируется разработчиками как блокчейн третьего поколения, в то время как Ethereum они называют блокчейном второго поколения.
  • Sawtooth — представленный в конце января 2018 года блокчейн-консорциумом Hyperledger распределенный реестр с ограниченным доступом. Поддерживает смарт-контракты на языке Solidity.

Как бы там ни было, наиболее распространенная криптовалюта для смарт контрактов в настоящее время — Эфириум. Удастся ли другим потеснить его с цифрового Олимпа ­­– покажет время.

Применение смарт контрактов

Очертим главные области, в которые можно успешно внедрить умные контракты. В частности, это:

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

Избирательный процесс

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

Кредитование

Человек берет в кредит квартиру, машину или телевизор и ежемесячно обязан выплачивать n-ную сумму банку. Если заемщик просрочил платеж с помощью смарт-контракта замок автомобиля или жилья будет заблокирован, а телевизор перестанет включаться.

Азартные игры

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

Аренда жилья

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

ICO

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

Смарт контракт — пример из реальной жизни

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

Больше конкретики!

Применение смарт-контракта в недвижимости — уже можно считать сложным вариантом. Впервые в мире квартира подобным образом была продана в Украине на правом берегу Киева. Для проведения сделки использовался смарт контракт Эфириума, а также децентрализованный американский маркетплейс Propy. Покупателем стал советник этой площадки, а также основатель издания TechCrunch Майкл Аррингтон. Оплата происходила в криптовалюте Эфириум. На данном этапе развития смарт-контрактов процесс происходил так:

  1. Покупатель и продавец заключили контракт, и покупатель внес депозит, необходимый для оплаты жилья.
  2. Поскольку участники сделки находились в разных уголках мира, с помощью площадки локальному представителю покупателя была выдана доверенность от его имени, удостоверенная местным нотариусом.
  3. Propy предпринимает необходимые действия по проведению сделки — оплата работы оценщика, всевозможных сборов.
  4. Продавец встречается с представителем покупателя у нотариуса для подписания документов.
  5. Происходит перерегистрация права собственности на покупателя — данные вносятся в реестр.
  6. Как только смарт-контракт получает данные из реестра, он разблокирует деньги, и они переходят к продавцу.

Как видим, пока процесс сложно назвать упрощенным. В будущем его обещают максимально автоматизировать.

Вот как выглядит смарт-контракт данной сделки, выложенный на Githab компании, точнее часть контракта, где описан процесс подписания договора участниками, а недвижимость замораживается в ожидании завершения процесса.

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

Умные контракты vs обычные договора

Умные контракты

Традиционные договора

Самоисполняемость Нужны посредники (нотариусы, брокеры, банки)
Перевод денег автоматически Перевод денег вручную
Минимальные расходы Дорого — оплата услуг посредников
Условия в контракте невозможно переписать задним числом — они соблюдаются неукоснительно Пункты договора могут истолковываться в будущем двояко. Разночтения могут привести к тому, что придется обращаться в суд.
Код — это неподкупный закон Посредников можно подкупить

Смарт-контракты – какие перспективы?

Перспективы у смарт-контрактов поистине огромные. Они способны кардинально изменить многие сферы жизни: от недвижимости до азартных игр, страхования, поставки товаров, голосований. Однако только тогда, когда их работа будет многократно протестированной и предсказуемой. Пока же все находится на стадии экспериментов.

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

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

Эксперты уверены, что уже в 2018 году как крупные корпорации, так и целые государства признают огромный потенциал как технологии блокчейн, так и умных контрактов.

Что такое смарт-контракты, где можно их применять и при чём тут блокчейн

Рассказывает Дарья Шишко, комьюнити-менеджер в Aeternity

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

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

До определённого момента такой формат соглашений оставался наилучшим.

Что такое смарт-контракт?

С переходом к цифровым методам общения, хранения и обработки информации появился фундамент для новой формы контрактов. В 1996 году Ник Сабо разработал концепцию самоисполнимых цифровых контрактов. Автор назвал их «смарт-контракты» (от англ. smart contract — умный контракт). Согласно определению Ника Сабо, смарт-контракт — это набор описанных в цифровой форме обещаний, включающий набор протоколов, по которым стороны выполняют свои обещания.

В отчёте Сената США за 2018 год сказано:

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

Оригинальный пример прообраза смарт-контракта из работы Ника Сабо — торговый автомат. Человек опускает в автомат монету, и автомат выдаёт напиток или шоколадку. Это взаимодействие — сделка, которая подразумевает покупку товара за установленную сумму. Отличие этой ситуации от классического контракта в том, что автомат самостоятельно выполняет условия сделки: если прошла оплата, механизм выдаёт товар.

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

Смарт-контракты на блокчейне

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

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

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

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

Разработчик и популяризатор блокчейн-технологий Джимми Сонг отметил:

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

Кроме Bitcoin и Ethereum, существуют специализированные платформы для работы со смарт-контрактами: Aeternity, EOS, Hyperledger Fabric, Stellar и другие. Такие платформы отличаются от названных выше пропускной способностью и стоимостью обработки транзакций, алгоритмом консенсуса и позиционированием.

Зачем нужны смарт-контракты?

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

В централизованной платежной системе вроде гигантов Visa и Mastercard есть администрация, которая разрешает возможные споры, поддерживает работу серверов и взимает комиссию с платежей. Администрация может блокировать неугодные ей транзакции или перенаправить платёж на собственный счёт. Репутация системы пострадает, а администрацию такой компании будут преследовать по закону за мошенничество, но с технической точки зрения ничто не мешает таким манипуляциям. В децентрализованной системе ни у кого нет такой власти, а смарт-контракт подчиняется только заранее заложенным в него правилам.

Где можно применять смарт-контракты?

Согласно анализу Deloitte 2016 года, клиринг в торговых операциях и цепочки поставок — первые кандидаты на внедрение смарт-контрактов. Среди других перспективных областей исследователи назвали здравоохранение, страхование, медиаиндустрию, энергетику, ведение архивов и голосование.

Клиринг

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

Например, если Алиса должна заплатить Бобу 100 $ за ремонт компьютера, Боб должен заплатить Крису 150 $ за юридические услуги, а Крис должен заплатить 100 $ Алисе за дизайн сайта, всё, что нужно сделать, — перевести 50 $ от Боба Крису, и все будут в расчёте. Именно такими взаиморасчётами и их оптимизацией занимаются клиринговые компании, только в большем масштабе.

В реальном мире такая деятельность связана с комплексным документооборотом и ведением учёта множества сущностей и транзакций. Это дорого и долго, а из-за сложности процесса возникают ошибки и дополнительные задержки. Клиринговые компании и их клиенты могут использовать блокчейн-реестр для учёта транзакций и взаимных обязательств, а система смарт-контрактов обеспечит автоматическое проведение платежей и фиксацию данных в распределённом реестре. Согласно исследованиям Santander InnoVentures, к 2022 году внедрение блокчейна и смарт-контрактов может снизить ежегодные инфраструктурные затраты на 15–20 миллиардов долларов США.

Цепочки поставок

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

Здравоохранение

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

Интернет вещей

В интернете вещей (Internet of Things, IoT) безопасность и неизменяемость блокчейн-реестра вместе с возможностями смарт-контрактов позволят наладить прозрачные механизмы взаимодействия и обмена ценностями между гаджетами вроде умных холодильников, смартфонов, термостатов и автомобилей. Умный электромобиль может одной транзакцией инициировать оплату за электричество и смарт-контракт активирует зарядное устройство. Права владения этими гаджетами тоже можно фиксировать в блокчейне, а значит, пользователь сможет продать или подарить устройство не покидая блокчейн-сети и без привлечения третьих лиц.

Медиаиндустрия

Для правообладателей и создателей контента актуальна проблема роялти — платы за использование интеллектуальной собственности. Здесь смарт-контракты можно использовать для прозрачного распределения средств.

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

Проблемы смарт-контрактов

Оракулы

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

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

Оракулами могут быть:

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

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

Юридическая сила

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

Недоверие к блокчейну

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

Выводы

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

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

Не смешно? А здесь смешно: @ithumor

Иное применение блокчейнов: Смарт-контракты

В одном из наших первых постов мы рассказывали, что блокчейн представляет собой децентрализованную систему, работа которой поддерживается множеством компьютеров, объединенных в сеть. Блокчейн, хотя и обладает определенного рода недостатками (ограниченной скоростью работы, по сравнению с централизованными базами данных, а также высоким энергопотреблением — в случае блокчейнов на основе доказательства работы), все равно остается безопасным и надежным решением. Поэтому к этой технологии присматриваются разного рода финансовые институты, банки и даже гиганты IT-индустрии (IBM, Cisco и Intel).

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

/ изображение Jason Benjamin PD

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

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

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

Особенности консенсуса в блокчейнах обеспечивают атомарность выполнения контракта — он может быть или успешно выполнен, или отменен с активацией автоматической очистки аналогично транзакциям в СУБД. Невозможно «застрять» посреди выполнения контракта или получить различные результаты выполнения на разных узлах сети.

Выполнение смарт-контракта

Ethereum — пожалуй, наиболее популярный блокчейн для написания сложных смарт-контрактов. Вот пример кода, написанного для контракта на специально разработанном языке смарт-контрактов Solidity (язык достаточно легок для восприятия и похож на JavaScript, только со статической типизацией). Этот код реализует простейший токен, то есть полностью цифровой актив, который можно выпускать и переводить между кошельками Ethereum. В рамках смарт-контракта при каждом запросе на перевод токенов автоматически проверяется наличие необходимого их количества. Если все в порядке, то смарт-контракт изменяет баланс токена для отправителя и получателя.

Как видно из кода, смарт-контракты в Ethereum представляют собой объекты (точнее, агенты), хранящие состояние и методы, при помощи которых это состояние обновляется. Транзакции в Ethereum, соответственно, представляют собой вызовы методов контрактов. Контракты могут взаимодействовать между собой, вызывая методы других контрактов, но любое действие в конечном счете инициируется транзакцией из-за пределов блокчейна (то есть невозможно, например, настроить смарт-контракт Ethereum так, чтобы он выполнялся по расписанию).

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

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

На биткойн-блокчейне смарт-контракты представлены условиями, при которых можно тратить биткойны. Как уже было отмечено, биткойн-блокчейн строится на транзакциях. Эти транзакции содержат один или несколько вводов и выводов. При этом каждый ввод транзакции является неизрасходованным выводом (UTXO — Unspent Transaction Output) одной из предыдущих транзакций, записанных в блокчейне.

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

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

Сценарий выглядит как последовательность инструкций для стековой машины, а-ля Forth. Инструкции сценария выполняются по очереди, а каждая инструкция может влиять на стек, например, добавлять в него новый элемент, выталкивать элемент с верхушки стека, менять два верхних элемента стека местами и так далее. В языке сценариев биткойна есть инструкции для ветвления, а вот циклов нет — язык намеренно является неполным по Тьюрингу для того, чтобы минимизировать риски DoS-атак.

Чтобы запирающий сценарий успешно выполнился, надо предоставить отпирающий сценарий, который тоже является последовательностью инструкций для стековой машины. Он будет выполнен до запирающего сценария и сформирует для него начальный стек. В простейшем случае запирающий сценарий приводит некоторый открытый ключ и требует цифровой подписи соответствующим закрытым ключом: CHECKSIG где:
  • — инструкция добавить в стек байты, соответствующие открытому ключу;
  • CHECKSIG — инструкция, которая выталкивает из стека два последних элемента (подпись и открытый ключ) и проверяет подпись.
Отпирающий сценарий (для запирающего сценария, представленного выше) состоит из одного элемента — цифровой подписи транзакции. Алгоритм выполнения сценариев выглядит следующим образом: // 1. Инициализация сценарий: стек: пусто // 2. Выполняется единственная инструкция отпирающего сценария сценарий: пусто стек: // 3. Начинается запирающий сценарий сценарий: CHECKSIG стек: // 4. Первая инструкция — добавить ключ в стек сценарий: CHECKSIG стек: // 5. Вторая инструкция — проверить подпись сценарий:

стек:

В биткойне реализуемы и более сложные смарт-контракты, например, контракт депонирования средств с возможностью возврата по таймауту: IF // Требует любые 2 из 3 подписей от Алисы, Боба или арбитра. 2 3 CHECKMULTISIG ELSE // Проверяет, что со времени поступления средств на адрес депонирования // прошло 7 дней. // DROP — инструкция вытолкнуть из стека элемент; здесь она нужна // для обратной совместимости — CHECKSEQUENCEVERIFY распознается // не всеми версиями узлов биткойна CHECKSEQUENCEVERIFY DROP // Если предыдущая проверка успешна, то средства может забрать Алиса CHECKSIG

ENDIF

Этот сценарий полезен в том случае, если Алиса платит Бобу биткойны за некоторый товар, но стороны не доверяют друг другу — Алиса не хочет платить до получения товара, а Боб не хочет отдавать товар до получения биткойнов. В этом случае Алиса и Боб могут выбрать арбитра, который будет разрешать возможные спорные ситуации. После этого Алиса отправит средства на адрес, ассоциированный со сценарием выше. В случае успешного выполнения контракта Боб получит возможность забрать средства, подписав транзакцию вместе с Алисой. Если же возникнет спорная ситуация, может вмешаться арбитр и принять сторону Алисы или Боба, подписав транзакцию вместе с одним из них. Наконец, если с момента перевода средств на адрес прошло много времени (скажем, 7 дней, как в примере выше), Алиса может вернуть депонированные средства обратно, даже без одобрения арбитра или Боба. В терминах стековой машины биткойна, варианты отпирающего сценария могут быть такие: // Перевод средств по согласию Алисы и Боба. // Первый 0 необходим из-за бага в инструкции MULTISIG — // она берет из стека на один элемент больше чем нужно. // Последняя единица активирует ветку IF в запирающем сценарии. 0 1 // Арбитр согласился с Алисой 0 1 // Арбитр согласился с Бобом 0 1 // Возврат средств по тайм-ауту. // 0 активирует ветку ELSE в запирающем сценарии. // Этот сценарий не будет валидным, если тайм-аут еще не прошел.

0

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

Поэтому сообщество задумалось о создании сети, которая брала бы лучшее от двух миров: надежность и защищенность от биткойна и удобство работы от Ethereum. Это привело к появлению блокчейн-решения Rootstock от RSK Labs, которая 22 мая получила инвестиции в размере 3,5 млн долларов. В развитие проекта вложились Энтони ди Иорио (Anthony Di Iorio), CEO криптовалютного кошелька Jaxx, а также несколько майнинговых фирм, в том числе Bitfury и Bitmain.

В одном из интервью генеральный директор RKS Labs Диего Зальдивар (Diego Gutierrez Zaldivar) отметил, что целью проекта является создание блокчейна, который бы получил поддержку как биткойн-майнеров, так и разработчиков приложений для смарт-контрактов, сейчас работающих с Ethereum.

По своей сути, Rootstock представляет собой децентрализованную Тьюринг-полную платформу для смарт-контрактов. Вот только вместо того, чтобы формировать всю систему с нуля, Rootstock использует экосистему биткойна, но с некоторыми улучшениями. На сегодняшний день платформа способна обрабатывать 400 транзакций за секунду, в то время как биткойн может обрабатывать лишь семь. В перспективе RSK планирует достигнуть значения в 2 000 TPS, используя протокол LTCP (Lumino Transaction Compression Protocol).

Самое большое преимущество Rootstock над другими платформами, использующими собственные блокчейны, – это объединенный майнинг (merged mining) с биткойном, что поднимает ее безопасность до уровня старшей блокчейн-сети. Технология пока испытывается в тестовой сети, но в скором времени будет запущена в реальную жизнь. Учитывая, что RSK использует биткойн-блокчейн, который на сегодняшний день является самым безопасным блокчейном, смарт-контракты на RSK смогут превзойти Ethereum в некоторых вопросах защиты. Например, они предоставят большую защищенность против отката транзакций в блокчейне и «атаки 51%».

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

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

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

Стоит отметить и другие индустрии, такие как кредитование и бухгалтерский учет. Здесь смарт-контракты будут использоваться для оценки рисков и проведения аудита в реальном времени. На сайте Blockchain Technologies говорится, что умные контракты будут представлять собой бумажно-электронный гибрид, когда они подтверждаются блокчейном, а затем распечатываются в виде бумажной копии.

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

Что такое смарт-контракты (умные контракты) на базе блокчейна?

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

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

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

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

Что такое умные контракты?

Умные контракты позволяют обмениваться деньгами, собственностью, акциями или другими активами, не прибегая к услугам посредников.

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

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

Умный контракт (англ. Smart contracts) — электронный алгоритм, описывающий набор условий, выполнение которых влечет за собой некоторые события в реальном мире или цифровых системах. Для реализации умных контрактов требуется децентрализованная среда, полностью исключающая человеческий фактор, а для возможности использования в умном контракте передачи стоимости требуется криптовалюта. Определение Википедии.

На недавнем блокчейн-саммите в Вашингтоне Виталик Бутерин, 23-летний программист и создатель проекта Ethereum, объяснил, что в умном контракте актив или валюта переводятся в программу, которая следит за соблюдением заложенного набора условий. 

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

Рассмотрим конкретный пример смарт контракта

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

Образец умного контракта, написанного на платформе Ethereum. Источник: www.ethereum.org/token

Здесь говорится, что создатель контракта должен получить 10 тыс. биткоинов. Этот контракт позволяет любому, у кого достаточно средств на счете, перевести биткоины другим людям.

Практическое применение умных контрактов

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

Выборы

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

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

Менеджмент

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

Логистика и снабжение

Разработчик протокола Bitcoin Core Джефф Гарзик говорит:

«UPS может исполнять контракты, в которых будет сказано: “Если мы получим оплату за доставку товара, то его производитель, который в цепочке поставок находится на много звеньев выше, немедленно начнет создавать новый такой товар, поскольку этот уже доставлен по назначению”».

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

Так, банк Barclays Corporate Bank использует умные контракты для того, чтобы регистрировать переход права собственности и автоматически перечислять платежи в другие кредитно-финансовые учреждения.

Автомобили

Задумайтесь о будущем, где все будет автоматизировано. Google уже строит его, создавая умные телефоны, умные очки и даже умные автомобили. И здесь на помощь придут умные контракты.

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

Другие сферы

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

Патрик Хаббард, главный специалист и старший управляющий маркетингом продуктов в SolarWinds:

«Янгонская фондовая биржа в Мьянме производит платежи с помощью распределенного реестра. Особый интерес вызывают те функции блокчейна, которые выходят за рамки традиционного использования технологии. Так на Янгонской бирже удалось решить проблему производимых в разное время расчетов в торговой системе, которая синхронизирует торги всего лишь дважды в день. Благодаря тому, что умные контракты сами обеспечивают исполнение сделок, блокчейны с их надежной системой проведения транзакций могут использоваться в ситуациях, где требуется выполнение сложных операций, зависящих от разных изменяющихся факторов. Вот почему Amazon, Microsoft Azure и IBM Bluemix уделяют такое внимание разработке облачной технологии “блокчейн как услуга”».

Плюсы смарт контрактов

Если рассматривать смарт-контракты при использовании в разных сферах жизнедеятельности, то можно выделить ряд важных преимуществ. Среди плюсов:

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

Минусы умных контрактов

Умные контракты далеки от совершенства. Что если в код попадут ошибки? Как должно регулировать эти контракты государство? И как оно будет взимать налоги с таких транзакций?

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

Умные контракты нельзя назвать идеальным инструментом для построения взаимоотношений между людьми. У них тоже есть несколько недостатков. Среди минусов:

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

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

Блокчейны, где можно заключить умные контракты?

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

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

Bitcoin: Отличный блокчейн для транзакций с биткоинами, но возможности для работы с документами там ограничены.

Side Chains: Другое название для блокчейнов, параллельных Bitcoin, которые предоставляют несколько большие возможности для работы с контрактами.

Заключение

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

Если умные контракты и дальше будут распространяться по всему миру, то это положительно скажется на стоимости Эфириума. Поэтому, мы рекомендуем обратить внимание на эту криптовалюту для инвестирования. Ее курс и дальше будет расти.

Смарт контракты, что это простыми словами? Примеры, применение умного контракта

Основываясь на блокчейн-технологии, появилась концепция «смарт контракта», идея которой зародилась в голове информатика и ученого Ника Сабо. Суть ее в том, что для заключения сделок не нужны посредники в лице госструктур. Контракт записывается в виде компьютерного кода, хранится и дублируется в системе. За его реализацию отвечает сеть компьютеров, работающих по технологии blockchain. Основные преимущества – это безопасность сделок и отсутствие необходимости тратить деньги на нотариусов, юристов и пр.

Определение

Смарт Контракт (от англ. “Smart” – “Умный”) – это алгоритм, который используется для формирования, контроля и предоставления сведений об обладании чем-либо.

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

Как работает?

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

Как работает смарт-контракт? Его можно сравнить с торговым автоматом. Вы бросаете «монету», подтверждаете свой выбор и сразу получаете свой «товар» – в этом случае необходимую вам услугу. Все быстро, просто и без посредников. Именно это упрощение приводит к тому, что многие компании обращаются к умным контрактам.

Примеры

  1. Выборы. Так как написанный код исключает участие извне, сфальсифицировать выборы невозможно. Это обеспечивает прозрачность результатов голосования.
  2. Технологии. Например, возьмем самоуправляемые автомобили. Как определить, кто виноват в столкновении, неудачной парковке – водитель или “мозги” автомобиля? Смарт-контракты позволят выявить виновника. Также они помогут страховым компаниям вычислять размер взносов индивидуально для каждого водителя в зависимости от того, в каких условиях и где водитель ездит на авто.
  3. Документооборот. На сайте Blockchain Technologies умные контракты осуществляются в электронно-бумажном виде: они подтверждаются блокчейном и получают материальное воплощение в виде бумажной копии. 

Смотрите видео-лекцию о том, что такое смарт-контракты – тут простым языком рассказывается о технологии.

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

[colorbl style=”green-bl”]Смарт-контракты включают данные об обязательствах, правах и ответственности для сторон, а также контролируют их реализацию. Стороны соглашения сохраняют свою анонимность, и договор попадает в реестр. Процедура обеспечивает надежность и не позволяет участникам транзакции изменять какие-либо пункты соглашения. Когда выполняются условия, записанные непосредственно в коде, происходит событие, которое приводит к окончательному состоянию контракта.[/colorbl]

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

Содержание умного контракта

  • электронная подпись, которая основывается на публичных и приватных ключах;
  • предмет договора;
  • средства, с помощью которых сделка выполняется;
  • условия договора.

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

Области применения

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

  1. финансовая;
  2. юридическая;
  3. голосование, выборы;
  4. регистрация права собственности;
  5. логистическая;
  6. бухучет, аудит;
  7. определение личности.

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

Turing-полнота

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

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

[colorbl style=”green-bl”]Полные по тьюрингу платформы идеально подходят для работы со смарт-контрактами – программами, которые выполняются при конкретных условиях. Для их исполнения не нужно участие людей. Благодаря реализации умных контрактов вне блокчейна, они работают максимально точно по заданному алгоритму. То есть, сбои, мошеннические операции, задержки в работе исключаются полностью.[/colorbl]

Языки программирования для Эфириума все-таки не абсолютно полны: вычислительный объем в Эфириуме ограничен комиссиями. Это необходимо, чтобы предотвратить бесконечное выполнение некачественного кода.

Особенности смарт-контрактов для Ethereum

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

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

Требование о комиссиях позволяет избежать появления нерешаемых задач – бесконечной зацикленности и периодических выборок внутри сети. За исполнение каждой итерации придется заплатить незначительным количеством gas, которое будет забираться у отправителя. Цена газа отдаётся майнеру, который первым вычислит новый блок.

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

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

Преимущества

Суммируя все приведенные выше свойства, мы можем говорить о следующих преимуществах:

  1. Независимость. Смарт-договор позволяет не тратить время на поиск специалиста для завершения транзакции, в которой вы нуждаетесь.
  2. Безопасность. Контракт в виде кода зашифровывается и отправляется в реестр для хранения.
  3. Надежность. Любой контракт, который попадает в регистр, многократно дублируется в блок-цепочке.
  4. Точность и безошибочность. Смарт-контракт автоматически определяет множество данных, что позволяет пользователю избежать ошибок при заполнении разных форм.

Недостатки

  1. Слабое регулирование. Так как правовые акты при внедрении умных контрактов отсутствуют, они не способны успешно работать с госструктурами. Это вызывает сомнения и недоверие у людей к технологии.
  2. В коде могут находиться критические ошибки.
  3. Подходят не для всех областей. Так, банки не будут отправлять конфиденциальные сведения о сделках через открытые реестры.

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

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

Однако многие компании, которые разрабатывают свои собственные умные контракты, готовы с удовольствием объяснить пользователю, как это работает именно в их системе. В будущем электронные сделки могут полностью заменить традиционные.


Смотрите также