Что такое смарт-контракты и зачем они нужны. Все, что нужно знать об умных контрактах

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

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

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

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

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

Как появились умные контракты?

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

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

Широкое практическое применение смарт-контракты получили с появлением и развитием проекта Ethereum. В 2013 году будущий его основатель Виталик Бутерин пришел к выводу, что биткоин плохо подходит в качестве базового протокола для смарт-контрактов, поскольку изначально не был спроектирован под эту задачу. Впоследствии Бутерин решил создать с нуля наиболее подходящий для смарт-контрактов протокол.

Как работает смарт-контракт и какие его обязательные элементы?

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

Обязательные атрибуты смарт-контракта:

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

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

В зависимости от степени автоматизации смарт-контракты могут быть:

  1. Полностью автоматизированными.
  2. С копией на бумажном носителе.
  3. Преимущественно на бумажном носителе, при этом часть положений перенесена в программный код (например, когда автоматизированы только платежи).

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

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

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

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

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

Какие преимущества у смарт-контрактов по сравнению с традиционными договорами?

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

Таким образом, среди основных преимуществ умных контрактов можно выделить:

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

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

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

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

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

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

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

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

Что такое смарт-контракт и как он был создан?

Smart-контракт (умный контракт) - это виртуальный протокол, написанный на языке программирования. Он используется как инструмент обмена товарами или заключения договоров, и обеспечивает исполнение условий сторонами этого договора.

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

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

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

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

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

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

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

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

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

Безопасность смарт-контрактов

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

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

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

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

Мнение из сети:

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

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

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

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

В чем фишка смарт-контрактов?

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

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

Как появились умные контракты?

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

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

Широкое практическое применение смарт-контракты получили с появлением и развитием проекта Ethereum. В 2013 году будущий его основатель Виталик Бутерин пришел к выводу, что биткоин плохо подходит в качестве базового протокола для смарт-контрактов, поскольку изначально не был спроектирован под эту задачу. Впоследствии Бутерин решил создать с нуля наиболее подходящий для смарт-контрактов протокол.

Как работает смарт-контракт и какие его обязательные элементы?

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

Обязательные атрибуты смарт-контракта:

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

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

В зависимости от степени автоматизации смарт-контракты могут быть:

  1. Полностью автоматизированными.
  2. С копией на бумажном носителе.
  3. Преимущественно на бумажном носителе, при этом часть положений перенесена в программный код (например, когда автоматизированы только платежи).

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

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

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

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

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

Какие преимущества у смарт-контрактов по сравнению с традиционными договорами?

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

Таким образом, среди основных преимуществ умных контрактов можно выделить:

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

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

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

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

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

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

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

Что такое Эфириум

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

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

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

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

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

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

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

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

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

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

Эфириум позволяет нам делать следующее:

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

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

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

Пример из виртуальной среды:

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

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

Еще пример. Покупатель покупает в интернет магазине товар. Создает умный контракт со следующими условиями:

  • Зарезервировать сумму на покупку с моего лицевого счета
  • Ожидать уведомления от службы доставки 3 дня
  • При получении автоматического уведомления от службы доставки, совершить денежный перевод на счет интернет магазина
  • Если доставка в течении 3 дней не получена, снять блокировку суммы и вернуть деньги на счет

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

  • Покупатель должен иметь нулевую или положительную историю покупок автомобилей
  • Покупатель должен перечислить сумму N за автомобиль на счет Алисы
  • Когда сумма перечислена, произвести перевод документов владения на счет покупателя

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

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

  • Арендатор должен иметь положительный баланс денег на своем счету
  • Арендатор должен иметь положительную или нулевую история («карму») съема квартир
  • Если арендатор перевел нужную сумму на лицевой счет, то послать сигнал дверному замку (или в целом умному дому) на разблокировку квартиры для ключа арендатора
  • Если в текущем месяце не произведена оплата, послать сигнал замку на блокировку

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

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

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

Таким образом, он служит платформой для множества различных типов децентрализованных приложений блокчейн, не ограничиваясь криптовалютами. Сердце Эфириум – Виртуальная Машина Эфириум (EVM), которая выполняет код произвольной алгоритмической сложности. База данных блокчейн поддерживается и обновляется каждым узлом, подключенным к сети. Каждый узел сети Эфириум запускает виртуальную машину у себя и выполняет инструкции, указанные в контракте.

Узлы сети и виртуальные машины Эфириум:

Транзакция создается одним из узлов и отправляется соседним узлам, которые выполняют ее на виртуальной машине EVM:

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

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

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

Газ в сети Эфириум – это плата за исполнение программного кода на Виртуальной Машине Эфириум (EVM). Отправители транзакций платят за каждую операцию в блокчейне при помощи Газа. Газ приобретается за валюту Эфир у майнеров. Газ и Эфир специально разделяются, потому что единицы Газа равны единицам вычислительной стоимости, т.е. равны настоящей цене, в то время как цена Эфира колеблется и формируется рынком. Цена Газа определяется майнерами, которые могут отказаться обрабатывать транзакции с более низкой ценой, чем минимальный лимит у майнера.

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

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

Майнинг Эфира

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

Алгоритм доказательства работы называется Ethash (модифицированная версия алгоритма Dagger-Hashimoto).

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

Алгоритм Ethash больше завязан на память, что усложняет создание ASIC устройств для майнинга. Это достигается тем, что алгоритм требует выбор подмножеств для расчетов из фиксированного файла, размером в несколько гигабайт, который называет DAG файл (Directed Acyclic Graph – направленный ацикличный граф, специальная структура в виде файла для вычисления хешей). DAG файл полностью меняется каждые 30 тысяч блоков или 125 часов. Период в 125 часов называется эпохой.

DAG файл всегда создается заново при первоначальном старте майнинга или при смене эпох.

В криптовалютном мире все чаще звучит фраза «смарт-контракт» в контексте проведения финансовых операций, краудсейлинга, сделок купли-продажи и т. д. Что такое смарт-контракт, для чего нужен smart contract и как работает этот тип соглашений?

Понятие смарт-контракта: что это такое

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

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

Простой образец кода:

Рисунок 1. Образец умного контракта.

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

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

Из чего состоит Smart contract

Итак, смарт-контракты – что такое с точки зрения внутреннего устройства?

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

  • Участники договора (стороны, или подписанты, контракта) – они подтверждают участие в соглашении и свои договоренности посредством уникальной цифровой подписи.
  • Предмет договора – некоторый объект, пребывающий в системе смарт-контракта. Это может быть криптовалюта или другие активы, манипуляции с которыми предусмотрены системой.
  • Условия – алгоритм действий, представляющий собой описанную математическими методами логику работы смарт-контракта и последовательность его работы.

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


Рисунок 2. Пример опционного смарт-контракта.

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

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

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

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

Схематично работу смарт-контрактов можно описать следующими шагами:

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


Рисунок 3. Блок-схема работы смарт-контрактов на примере сделки по продаже дома.

История появления

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

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

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

Виды смарт-контрактов

«Умные соглашения» делятся на несколько видов по уровню автоматизации:

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

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

Сфера применения смарт-контрактов

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

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

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

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

Еще одна важная область применения соглашений – проведение .

Умные контракты и первичное предложение монет

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

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

Плюсы смарт-контрактов, их недостатки и перспективы

Таблица 1. Плюсы и минусы смарт-контрактов

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

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

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

Но эти минусы уже сейчас в известной степени нивелируются бесспорными преимуществами. Рассмотрим их подробнее.

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

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

  • Надежность.

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

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

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

  • Точность.

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

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

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

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

Видео, объясняющее основы смарт-контрактов: