Что такое смарт-контракты на основе технологии блокчейн + пример

Смарт-контракты в блокчейне. Что это и как работает?

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

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

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

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

Упрощённый пример из жизни. Вспоминаем электрическую зубную щётку. Её задача — работать на протяжении двух минут и издавать сигнал каждые 30 секунд. Для работы пользователь должен выполнить условие в виде нажатия кнопки запуска.

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

Откуда они взялись

Определённые базовые принципы смарт-контрактов использовались Сатоши Накамото при разработке Биткоина. Однако в итоге они остались не у дел — ради безопасности соответствующие возможности было решено ограничить.

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

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

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

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

Как работают смарт-контракты

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

Она следит за условиями и получает доступ к предмету договора. Последним выступает определённая сумма криптовалюты, которую участники переводят внутрь программы. Здесь воздействие людей на активы заканчивается — их нельзя забрать у контракта просьбами, угрозами или обманом. Если описанный алгоритм выполняется, продавцу достаётся сумма, а покупателю — товар.

Где пригодятся

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

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

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

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

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

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

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

При этом важно помнить, что контракты пишут люди, а нам свойственно ошибаться. Если в коде будет ошибка, от потери средств не спасёт даже связь с блокчейном и другие технологии. Не так давно эксперты компании по IT-безопасности Hosho назвали опасными 25 процентов смарт-контрактов. Их критические ошибки могут обернуться взломами и потерей доверия комьюнити. Этого допустить нельзя, а поэтому нужно фиксить баги.

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

Вывод

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

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

Авторизуйтесь

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

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

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

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

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

Читайте также:
Биржи криптовалют - рейтинг ТОП-7 лучших, как на них торговать и заработать

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

С переходом к цифровым методам общения, хранения и обработки информации появился фундамент для новой формы контрактов. В 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 миллиардов долларов США.

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

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

Читайте также:
Обменники криптовалют - рейтинг ТОП-15 лучших с наименьшей комиссией

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

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

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

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

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

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

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

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

Оракулы

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

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

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

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

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

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

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

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

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

Выводы

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

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

Автономность и безопасность. Как работают смарт-контракты

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

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

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

Читайте также:
Биткоин кошелек: ТОП-7 лучших, как открыть, пополнить и вывести деньги

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

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

Как работают смарт-контракты?

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

Платформа Ethereum заменяет более ограниченный язык BTC (язык сценариев, насчитывающий около ста) языком, который позволяет разработчикам задавать собственные сценарии. Ethereum позволяет разработчикам программировать свои собственные смарт-контракты. Язык является «полным по Тьюрингу», что означает, что он поддерживает более широкий инструментарий вычислительных инструкций.

Платформа Ethereum использовалась для распространения децентрализованных приложений (DApps). Вместо множества приложений, управляемых многими протоколами, Ethereum позволяет управлять всеми приложениями по одному протоколу.

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

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

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

Автономность

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

Снижение затрат

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

Скорость

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

Безопасность

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

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

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

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

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

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

Контракт разработан на определенном языке (Solidity, Serpent или Mutan), скомпилирован в EVM и, за некоторыми исключениями, соответствует стандартному интерфейсу ERC-20. Solidity является языком, который основан на JS, Python и C++.

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

В документе «Введение юриста в смарт-контракты» для смарт-контрактов описываются два «уровня»: платформа смарт-контрактов (SCP), которая представляет собой инфраструктуру, позволяющую создавать их и управлять ими на блокчейне, и система управления смарт-контрактами (SCMS). Этот протокол добавляется к этой инфраструктуре, чтобы пользователю было проще взаимодействовать с контрактами. То есть, он является графическим интерфейсом.

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

Как происходит процесс оформления смарт-контрактов

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

Читайте также:
Крипторубль - что это, когда появится, можно ли его майнить и купить

Как можно использовать смарт-контракты?

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

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

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

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

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

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

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

Больше новостей о криптовалютах вы найдете в нашем телеграм-канале РБК-Крипто.

Блокчейн и смарт-контракты. Доступно на котиках объясняем, в чем прорыв и перспективы

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

Что такое блокчейн?

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

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

Чем блокчейн отличается от классической базы данных?

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

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

И в такой автоматизированной и защищенной системе можно организовать не только обмен криптовалютами, но и кое-что поинтереснее.

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

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

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

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

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

Читайте также:
Криптовалюта Ripple: перспективы и прогноз на ближайшее будущее

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

Откуда взялась идея смарт-контракта?

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

Этот недостаток отметил Виталик Бутерин, основатель Ethereum, который и решил реализовать расширенный функционал умных контрактов в своем проекте.

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

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

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

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

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

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

Что такое оракул и зачем он нужен?

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

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

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

Что же делает смарт-контракты перспективными?

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

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

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

Какие недостатки есть у смарт-контракта?

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

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

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

Партнерский спецпроект. ООО «ЭС ЭМ ДЖИ», УНП 190247301

Читайте также:

Наш канал в Telegram. Присоединяйтесь!

Быстрая связь с редакцией: читайте паблик-чат Onliner и пишите нам в Viber!

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

В одном из наших первых постов мы рассказывали, что блокчейн представляет собой децентрализованную систему, работа которой поддерживается множеством компьютеров, объединенных в сеть. Блокчейн, хотя и обладает определенного рода недостатками (ограниченной скоростью работы, по сравнению с централизованными базами данных, а также высоким энергопотреблением — в случае блокчейнов на основе доказательства работы), все равно остается безопасным и надежным решением. Поэтому к этой технологии присматриваются разного рода финансовые институты, банки и даже гиганты 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 — инструкция, которая выталкивает из стека два последних элемента (подпись и открытый ключ) и проверяет подпись.

Отпирающий сценарий (для запирающего сценария, представленного выше) состоит из одного элемента — цифровой подписи транзакции. Алгоритм выполнения сценариев выглядит следующим образом:

// 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

Rootstock — «саженец» в блокчейн-среде

Биткойн-блокчейн, хотя и обладает самой высокой стабильностью и безопасностью среди всех блокчейнов, из-за своих размеров все же лишен определенной гибкости, когда дело касается внедрения новых технологий. По этой причине для работы со смарт-контрактами в основном используется платформа 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 говорится, что умные контракты будут представлять собой бумажно-электронный гибрид, когда они подтверждаются блокчейном, а затем распечатываются в виде бумажной копии.

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

Основы технологии блокчейн

Смарт-контракты: что это?

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

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

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

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

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

Это подводит к следующему плюсу – резервированию. Можно положиться на надежность смарт-контрактов, потому что они все зарезервированы. Аннулирование договора по причине потери его копии просто невозможно.

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

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

Шестая причина – это экономия денег на заключении договоров. Нет необходимости прибегать к услугам адвокатов. Можно просто использовать технологию смарт-контрактов.

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

Инструментарий и приложения экосистемы эфириума

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

В экосистеме Ethereum широко используются такие инструменты, как Geth, Parity , Solidity, Remix, Truffle, Webpack, Angular и так далее. Каждый из них используется для решения конкретных задач.

Узлы сети блокчейна: Go-Ethereum, Parity, CPP-Ethereum

Примерами узлов блокчейна выступают такие программы, как Geth, Parity или CPP-Ethereum. Все они работают на клиентской стороне, то есть их можно загрузить и запустить на вашем компьютере, как и для всех других пользователей сети Ethereum. Они все выполняют одну и ту же задачу: реализуют протокол Ethereum. Не смотря на то, что разные инструменты выполняют одну и ту же роль, они написаны на разных языках программирования. Развитием инструментов занимаются различные команды, которые обязательно следят за тем, чтобы даже на разных языках программирования протокол Ethereum был реализован корректно. Если проводить аналогию, то эта схема похожа на использование среды MySQL в режиме “мульти-мастер”, когда все узлы выполняют одну и ту же задачу по репликации базы данных . Это отлично описывает то, что делают все узлы в сети блокчейна – они копируют все блоки на своих компьютерах. Поэтому при загрузке Geth, Parity , или CPP-Ethereum и запуске клиента после установки подключения к другим узлам будет загружено все содержимое блокчейна. Исключение составляет только режим “легкого клиента”, когда загружаются только заголовки блоков.

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

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

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

В 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, которые предоставляют несколько большие возможности для работы с контрактами.

Заключение

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

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: