Что такое смарт-контракты и зачем они нужны. Примеры смарт контрактов на эфириуме


О смарт-контрактах простыми словами / Блог компании «Лаборатория Касперского» / Хабр

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

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

О концепте смарт-контрактов

Термин «смарт-контракт» уже устоялся и по сути обозначает определенный код, который выполняется на какой-либо блокчейн-платформе таким образом, что его выполнение проверяется независимыми сторонами.

Что это значит? Это распределенные вычисления? В привычном нам понимании все же нет.

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

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

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

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

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

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

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

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

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

Техническая сторона вопроса

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

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

Сам код выполняется в так называемом Ethereum Virtual Machine (EVM). Надо обратить внимание, что код выполняется и проверяется всеми участниками системы, потому необходим некий механизм, который как-то ограничит потребление ресурсов каждым смарт-контрактом (иначе можно бесконечный цикл написать). Потому в Ethereum введена сущность gas (топливо). Контракт в Ethereum может выполнять любые инструкции, вызывать другие контракты, писать и читать данные и так далее. Все эти операции потребляют топливо, топливо оплачивается криптовалютой (Ether). Цена на топливо криптовалюты Ethеr формируется динамически рынком. Триггером выполнения контракта является транзакция. Стоимость топлива, которое сжигается в определенной транзакции, снимается с аккаунта, который транзакцию запустил. Кроме того, есть лимит потребления топлива, сделан он для того, чтобы защитить аккаунт от ошибок в написании контракта, которые могут привести к бесконтрольному сгоранию всей криптовалюты на данном аккаунте.

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

habr.com

что это, как создать, примеры умных контрактов из жизни

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

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

Смарт-контракт происходит от английского термина 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.

Умные контракты 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 году как крупные корпорации, так и целые государства признают огромный потенциал как технологии блокчейн, так и умных контрактов.

bestinvestpro.com

О смарт-контрактах на пальцах

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

В 1994 году юрист и криптограф Ник Szabo понял, что системы распределённого реестра могут быть использованы для заключения «умных контрактов», также известных как безличные или цифровые контракты. В этом формате контракты могут быть конвертированы в компьютерный код и воспроизведены на машине, подконтрольной сети других равноправных устройств. Это также позволяет совершать платежи и предоставлять те или иные услуги.

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

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

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

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

Как сказал разработчик Эфириума Виталик Бутерин на недавнем Blockchain Summit в Вашингтоне, в соответствии с подходом, диктуемым смарт-контрактами, валюта переносится в программу, «а программа исполняет код. В определённый же момент она автоматически подтверждает соответствующее условие и выясняет, должно ли право собственности перейти к новому владельцу или ему остаться у старого». В то же время ваша информация переносится и на распределенный реестр, что обеспечивает безопасность и неизменность операции.

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

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

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

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

Пример кода смарт-контрактаПример смарт-контракта на Эфириуме. Источник: www.ethereum.org/token

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

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

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

Государственное управление

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

Менеджмент

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

Пример. В 2015 году корпорация DTCC использовала распределённый реестр для обработки 345 миллионов операций более, чем на полтора квадриллиона долларов.

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

Смарт-контракты работают по чётким алгоритмам. Как говорил Джефф Гарзик:

 «UPS может исполнять контракты, в которых прописано: ‘Если я получаю оплату за доставку такого-то продукта по такому-то адресу на таком-то развивающемся рынке, создание такого же продукта должно автоматически начаться на заводе в другом уголке мира.’ Нередко работа с цепочками поставок подразумевает бумажную волокиту – на документы должны ставиться подписи и печати, более того, они могут быть подделаны или вовсе потеряны. Блокчейн упрощает весь процесс, предоставляя легкодоступный цифровой контракт, отчёт и план действий.»

Пример. Банк Barclays использует смарт-контракты для регистрирования смены владельцев и автоматического перевода средств другим финансовым организациям при сделках.

Автопром

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

Одна из самых бурно обсуждаемых инноваций – автономные автомобили. Удивительно, но даже им на помощь придут смарт-контракты.

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

Недвижимость

С помощью смарт-контрактов можно экономить деньги. В традиционной системе вам бы пришлось заплатить посреднику (например, газете), чтобы выставить на продажу вашу квартиру, разместив рекламное объявление. Более того, впоследствии вам пришлось бы платить вторично, чтобы удостовериться в том, что покупатель совершил все платежи по форме. Распределённый реестр устраняет все эти траты. Всё, что вам нужно – это совершить оплату вашими биткоинами и занести соответствующий контракт в блокчейн. Эта информация будет общедоступной, а выгоду получат брокеры, агенты по продаже недвижимости, кредитные организации и прочие участники рынка.

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

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

Смарт-контракты – это круто!

Итак, что дают смарт-контракты:

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

Доверие. Ваши документы зашифрованы в распределённом реестре. Не может случиться, что один из участников скажет, что «потерял» их.

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

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

Скорость. Использование смарт-контрактов устраняет бумажную волокиту, тем самым значительно повышая скорость работы.

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

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

Джефф Гарзик, создатель блокчейн-сервиса Bloq, описывает смарт-контракты таким образом:

«Смарт-контракты имеют все шансы стать идеальным примером синергии между бизнесом и технологическим сообществом. Уже появилось несколько узкоспециализированных блокчейн-сервисов в финансовом секторе, например, платежный аппарат на Янгонской бирже в Мьянме. Действительный интерес представляют именно такие надстройки на блокчейн. На бирманской бирже блокчейн-сервис решает проблему распределённых соглашений  в платёжной системе, синхронизирующей операции лишь дважды в день. Специфика блокчейна позволяет применять технологию в ситуациях, требующих выполнения сложных операций в условиях реального времени. Скоро мы сами увидим такие продукты от Amazon, Microsoft Azure и IBM Bluemix, работающих над созданием BaaS (Blockchain-as-a-Service) решений».  Пэтрик Хаббард, HeadGeek, SolarWinds.

Теперь о проблемах

Смарт-контракты далеки от совершенства. Что если в код закрадется баг? И какова здесь регулятивная роль государства? Каким образом облагать транзакции налогами? Вспомните хотя бы упомянутый выше пример со сдачей квартиры.

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

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

О будущем смарт-контрактов

В будущем эти проблемы будут постепенно решаться. Одна из групп, уже занимающихся их разрешением – команда юристов из Cornell Tech, настаивающих на внедрении смарт-контрактов в повседневную жизнь.

По словам исследователей из IT-центра Smart Compliance, смарт-контракты могут привнести изменения во многие сферы деятельности, например, в юриспруденцию. Юристы начнут разрабатывать стандартизированные смарт-контракты наподобие тех, что сейчас можно найти на LegalZoom, вместо традиционных. Компании из других отраслей, например, аудиторские и кредитные организации, могут прибегать к использованию смарт-контрактов при анализе финансовой отчётности и оценке рисков. На сайте Blockchain Technologies представлено видение будущего смарт-контрактов как гибрида бумажного и цифрового документооборотов. В представленной там модели операции верифицируются в блокчейне и подкреплены физической копией.

Блокчейн-сети, позволяющие размещение смарт-контрактов

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

Побочные блокчейны. Эти сети работают бок-о-бок с блокчейном биткоина и лучше приспособлены для размещения смарт-контрактов.

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

Эфириум представляет собой публичную блокчейн-платформу, наиболее приспособленную для создания и исполнения смарт-контрактов. Эфириум даёт полную свободу творчеству, но за размещение контрактов в блокчейне придётся заплатить токенами ETH.

 Гевин Вуд, CTO Эфириума, заявил:

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

Источник

chainmedia.ru