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

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

Но в воздухе во сих пор витает вопрос: что же такое смарт-контракты и как они связаны с продуктом Ethereum? Чтобы ответить на него, нам нужно вернуться в прошлое, конкретно — в 1996 год.

Появление прародителя контрактов Ethereum


Историю концепции контрактов Ethereum можно отследить до 1996 года. Тогда Ник Сабо, исследователь в области компьютерных технологий, юрист, криптограф, выпускник Вашингтонского университета, изложил концепцию смарт-контрактов в своем документе «Smart Contracts: Building Blocks for Digital Markets».

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

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

Смарт-контракты становятся умнее


Зависимость от централизованных посредников была окончательно преодолена в 2009 году, когда аноним под именем Сатоши Накамото создал первую криптовалюту — биткоин. Сегодня биткоин — самая популярная мировая криптовалюта с рыночной капитализацией более 100 млрд долларов (на момент публикации статьи).

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

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



Появление контрактов Ethereum


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

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

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

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

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


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

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

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



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

Комментарии (23)


  1. Scratch
    13.11.2017 19:50
    -1

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


    1. hlogeon
      14.11.2017 13:45

      А зачем упоминать Solidity? Встречали статьи про программы без упоминания C? Ну вот это тоже самое. Даже под Ethereum можно писать без использования Solidity. Главное получить байткод, совместимый с EVM, а как — дело десятое. Да и статья вообще не об этом ;)


      1. Scratch
        14.11.2017 15:14

        Вы правы, статья о вашем продукте.


  1. potan
    13.11.2017 20:11
    +2

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


  1. x893
    13.11.2017 21:30

    А можно какой-то пример счастливой жизни после введения смарт-контрактов?
    Например Выдрапужский тазиковый завод с августа 2017 перешел на использование смарт контрактов. Теперь они вместо пунктов приема металла…
    И сразу все поймут, что счастье рядом.
    Пока только понял, что 50-100$ за конкракт меньше чем 5000-6000$.
    Но на сайте все лица радостные — как будто Хопер деньги вернул.


    1. Umrug
      14.11.2017 00:06

      Примеры самых популярных контрактов на данный день (конец 2017-го):

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

      — Во-вторых децентрализованный рынок этих самых токенов, полностью оформленный в виде смарт-конктракта. Такого в истории человечества еще не существовало, аналогов нет. Главный пример EtherDelta.

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

      Что будет дальше мы пока не знаем.


      1. x893
        14.11.2017 02:02

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

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


        1. Umrug
          14.11.2017 04:54

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

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

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

          > И потом как проверить уникальность этих смарт контрактов, если их подтверждает только тот кто их выпустил?

          Адрес, один-единственный уникальный адрес, который указывается однажды в момент ICO. С этого времени именно то что происходит во внутренней памяти этого контракта и считается значимым. Вот, например, один такой довольно популярный токен OmiseGo: etherscan.io/token/OmiseGo (ссылка на адрес справа).


  1. Alexey2005
    13.11.2017 22:27

    Я видимо слишком чайник, потому что всё равно не понял, как же на практике работают смарт-контракты.
    Хорошо бы на конкретных примерах. Вот я поставщик какой-либо услуги, хочу получить за неё оплату. Мой наниматель готов платить и хочет получить услугу.
    Что делать дальше? Как заключается смарт-контракт и почему его невозможно нарушить? Что, если, получив услугу, наниматель откажется платить? Или что помешает мне оказать услугу некачественно? Сильно сомневаюсь, что смарт-контракт будет иметь юридическую силу, если дело дойдёт до суда.


    1. Umrug
      14.11.2017 05:01

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

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

      Практическое применение: компания B платит компании A за работу, и три независимые доверенные организации следят за выполнением.

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


      1. cicatrix
        14.11.2017 11:03

        три независимые доверенные организации

        Спасибо, не надо

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


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


        1. Umrug
          14.11.2017 13:43

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

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


          1. cicatrix
            14.11.2017 14:27

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

            И где искать выгоду смарт-контракта в сравнении с обычным, бумажным, тогда?

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

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

            Посему мне видится весма нишевое применение смарт-контрактов. То есть будет не так: «смарт-конракты будут распространены благодаря блокчейн-технологиям», а «смарт-контракты будут ограничены рамками применимости блокчейн-технологий».


            1. staticlab
              14.11.2017 15:21

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

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


      1. staticlab
        14.11.2017 11:08

        и три независимые доверенные организации следят за выполнением

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


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

        Боюсь, что любая программа, как и смарт-контракт, может содержать ошибки и закладки. Как неспециалист сможет проверить, что смарт-контракт его не обманет? И если в классическом случае можно подать в суд с целью аннулирования договора или отдельных его пунктов, то что делать в случае смарт-контракта? Допустим, человек взял деньги в кредит, и теперь смарт-контракт ежемесячно переводит деньги с его счёта на счёт банка, пока сумма долга не станет равной 0. Но в этом программист ошибся, и из-за ошибок округления в долге получилось 0,0001. В следующий раз сумма долга станет отрицательной и снова не будет равной 0. Как и кто сможет прервать контракт в этом случае?


        1. Umrug
          14.11.2017 13:57

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

          > то для завершения сделки и перевода денег необходимо

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

          > Тогда стоимость сделки для меня возрастёт на гонорар этим оценщикам. Как проверить, что независимые оценщики действительно независимые, а не подкуплены одной из сторон? Что делать, если недостатки ремонта проявятся позднее?

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

          > Как неспециалист сможет проверить, что смарт-контракт его не обманет?

          И опять вопрос в точку. Действительно это серьёзнейший момент, и основательные конфузы уже случались — The DAO Hack и аж два раза Parity Multisig Wallet Hack. Неспециалист может доверится толпе или специалистам — например есть такие компании New Alchemy и Zeppelin которые подписываются своей репутацией под смарт контрактами, разумеется за деньги. Есть всякие bounties, например. Разрабатываются системы формальной верификации, особенно в эфире над этим активно работают, даже новый язык только что создали.

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

          > Как и кто сможет прервать контракт в этом случае?

          Если не считать возможности хард-форка, никто. Вот так вот. Учимся писать код правильно — а денежки в больших конктрактах немаленькие, вон OmiseGo к миллиарду долларов подбирается по капитализации.

          Если есть еще вопросы буду рад ответить.


          1. staticlab
            14.11.2017 14:10

            По вашим вопросам я понимаю что мне это похоже удалось, правильные вещи спрашиваете.

            Сплошь правильные вопросы, я рад что передал суть системы.

            Если есть еще вопросы буду рад ответить.

            Я рад за вас, но где же ответы на уже заданные вопросы? А если это принципиальные ограничения, то в чём вообще преимущество? Мы отказываемся от государств, но всё равно привлекаем третьих лиц. Но что делать, если у нас возникнут проблемы с этими посредниками? Звать государство? Тогда почему мы тогда ему не доверяли, а сейчас доверяем?


      1. agoook
        14.11.2017 13:41

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


  1. Art3
    13.11.2017 23:19

    Статья бесполезная статья статья


  1. 1Tiger1
    14.11.2017 08:08

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


    1. cicatrix
      14.11.2017 11:04

      люди старались же, неверное даже процент встречаемости считали.

      Смарт контракты, Скачать бесплатно без смс и регистрации

      (как мог)


  1. OKyJIucT
    14.11.2017 11:24

    Шок! Смарт контракты помогли мне избавиться от лишнего веса, паразитов и курения. Надо лишь натощак...


  1. master_of_mastery
    14.11.2017 13:15

    Очень жаль, что так и не удалось услышать начальника транспортного цеха что же такое смарт-контракты и как они должны работать.