Смарт контракт пример – Введение в смарт-контракты. Их потенциальные и реальные ограничения / MixBytes corporate blog / Habr

Содержание

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

что это, как они реализуются, бизнес-примеры

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

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

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

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

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

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

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

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

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

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

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

Пример кода

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

Кто пишет код?

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

Как используются смарт-контракты

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

  1. Международные расчеты. Смарт-контракты обеспечивают мгновенную оплату с гарантией.
  2. Упрощение торговых процессов. Если продавец предоставил плохой товар, то он должен заплатить штраф.
  3. Можно вести записи финансовых данных внутри одного реестра.
  4. Смарт-контакты автоматизируют обработку платежей.
  5. Отслеживание полной цепочки поставок.
  6. Смарт-контракты обеспечат честную передачу собственности. У вас не получится соврать и откатить операцию задним числом. Все уже вписано в блокчейн.
  7. Упрощение обследований, так как данные о пациенте можно будет передавать через блокчейн.

Примеры работы смарт-контрактов в реальной жизни

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

Смарт-контракты помогут устранить непонятки с арендой. Допустим, в контракте указано, что вы обязаны проплатить аренду с 20 по 30 число. И если вы не сделали этого, то входной замок автоматически блокируется до тех пор, пока вы не оплатите аренду. Также с их помощью вы сможете доказать на сайтах объявлений, что именно вы являетесь хозяином. Как? Сбросьте фото в блокчейн и подпишите их e-подписью в сервисе Stramperry.

Умные контракты помогут банкам бороться со злостными неплательщиками. Если вы взяли автокредит, и не платили несколько месяцев, то блокчейн поможет заблокировать машину до тех пор, пока вы не заплатите деньги. Сайт Blockchain Technologies создал своеобразный гибрид смарт-контракта и стандартного договора. Документ подтверждается блокчейном, и потом делается бумажная копия контракта. Dynamis работает с P2P-страхованием, где смарт-контракты выносят решение по заявке и списывает задолженности. Everledger верифицирует алмазы. E-паспорт, содержит в себе всю информацию о камне, а контракт проверяет их на легальность и соответствие стандартам. Он уже верифицировал несколько миллионов камней, а в 2016 принялся за верификацию элитных вин.

Если вы думаете, что мы безнадежно отстали, то это совершенно не так! Ещё 3 года назад Альфа-банк и S7 провели первую финансовую сделку с применением блокчейна. Использовались сразу два смарт-контракта — для открытия и исполнения аккредитива.

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

  1. Экономия денег и времени.
  2. Избавление от посредников.
  3. Безопасность благодаря децентрализации.
  4. Скорость.

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

  1. Возможна некорректная работа из-за багов, прописанных программистами.
  2. Сложность создания, ибо нужно учесть все варианты развития ситуации.
  3. Узкий круг участников. Большинство пользователей просто не понимают, как пользоваться смарт-контрактами.
  4. Защита устройства пользователя. Если вы потеряете ключ, вы не сможете зайти в блокчейн.
  5. Они не гибкие. Если с человеком можно хоть как-то договориться, то умные контракты беспристрастны.
  6. Если вам нужно будет решать какие-то вопросы в суде, то готовьтесь к огромным ценам, ибо регулятор должен обладать недюжинными навыками и познаниями в этой сфере.

Законодательство и смарт-контракты

В западных странах разрабатывается унифицированный подход для использования смарт-контрактов. В США их уже легализуют. В апреле 2017 в Аризоне приняли закон, признающий легитимность смарт-контрактов и подписей, хранящихся в блокчейне. Во Флориде предложили «Законопроект 1357», где говорится, что если смарт-контракт не будет нарушать текущее законодательство штата, то он признается легитимным.

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

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

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

Credits.ru

Смарт-контракт простыми словами: что это и зачем

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

Что представляют собой смарт\-контракты

Впервые концепция смарт-контракта была озвучена известным учёным, специалистом в области информатики Ником Сабо в 1996 году:

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

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

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

У смарт-контрактов есть ряд преимуществ перед традиционными бумажными документами:

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

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

Смарт\-контракты и ICO

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Менеджмент

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

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

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

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

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

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

Автопром

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Smart contract: понятие, принципы и применение

Дата 23.10.2017 Просмотры 4286 Комментарии Комментариев нет

Благодаря развитию сети Ethereum смарт-контракты обрели популярность еще в 2013 году. Команда ICOtime.ru готова рассказать вам все о данной технологии: ее природу, плюсы и минусы, сферу применения.

Природа явления и его особенность смарт-контрактов

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

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

Смарт-контракты: все, что вы должны знать

Особенности алгоритма

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

  • прозрачность;
  • необратимость;
  • прослеживаемость.

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

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

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

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

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

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

 

Виталик Бутерин - разработчик Ethereum

Принцип работы и структура

Как правило, алгоритм записывается в Blockchain-среде, а вся его логика размещается в одном блоке – своеобразном программном контейнере, который в свою очередь объединяет сообщения, сопровождающие работу smart contract. Функциональное назначение сообщений – это ввод и выход программного кода. Именно они и приводят к определенным действиям вне Blockchain.

Атрибутика

К обязательным элементам компьютерного протокола относятся такие:

  1. Электронная подпись, основанная на технологии приватных и публичных ключей, которыми обладают все стороны договора.
  2. Наличие приватной Blockhain-сети. В данном случае имеется в виду Эфириум или любая другая среда, базирующаяся на распределенном реестре. В ней производится запись смарт-контрактов, поддержание входов и выходов, а также обеспечение взаимодействия между цифровым и реальным миром.
  3. Наличие предмета договора, а также инструментария, предназначенного для выполнения обязательств. Речь идет о программах-оракулах, расчетных счетах для цифровых валют и т.д.
  4. Максимально конкретизированные условия выполнения обязательств по договору, утвержденные непосредственно участниками соглашения при помощи специальной подписи.
  5. Достоверный источник цифровой информации.

Разновидности смарт-контрактов

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

  1. Автоматизированные в полном объеме.
  2. Обладающие копией на носителе из бумаги.
  3. Частичная автоматизация с преимущественным размещением элементов на бумажном носителе.

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

Сфера применения

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

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

Смарт-контракты могут быть интегрированы в разные сферы

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

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

Плюсы и минусы технологии

Как и любое явление, данная технология не идеальна и, естественно, обладает как сильными, так и слабыми сторонами.

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

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

Таким образом, в числе преимуществ смарт-контрактов выделим следующие:

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

Недостатки

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

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

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

Ethereum – один из топовых блокчейнов

Наиболее популярные на сегодняшний день платформы смарт контрактов blockchain – это:

  • Bitcoin. Это предшественник Эфириума, который, однако, подходит по большей мере для непосредственных операций с первой криптовалютой. К сожалению, возможности написания смарт-контрактов в данной сети существенно ограничены, а потому ими мало кто пользуется.
  • Side Chains. Это общее название для параллельных биткоину блокчейнов. Их отличительна черта – более широкие возможности для разработки умных контрактов.
  • NXT. Данная платформа является открытой, в ней присутствуют образцы различных видов документов. Недостаток этого варианта очевиден – вы не можете написать ничего нового, в распоряжении пользователя только то, что заложено разработчиками изначально.
  • Ethereum. Наиболее популярная и, строго говоря, едва ли не единственная существующая на современном этапе платформа, которая дает возможность смарт-контрактам раскрыть свой функционал в полном объеме. Разработчик может создать код любого типа. Однако за право пользоваться вычислительными ресурсами Эфириума необходимо платить криптовалютой, которая функционирует внутри данной сети – ETH.

Несмотря на наличие конкурентов, именно Виталику Бутерину с проектом Эфириум удалось добиться действительно значимых успехов. Никто не станет отрицать, что широкое применение смарт контрактов по всему миру началось благодаря платформе, разработанной гениальным канадско-российским специалистом и командой профессионалов. Примеры смарт контракт на Эфириуме можно найти в Сети. Для их написания используется специальный язык – Solidity, который во многом схож с более известным JavaScript, существенно отличаясь от него только статическим характером типизации. Освоить этот язык просто, так как он является интуитивно понятным. Для написания первого smart contract blockchain вам не понадобится закупать дополнительное оборудование, достаточно просто браузера.

Что такое Gas?

Если переводить этот термин дословно, то Gas будет означать «топливо». Это определенная стоимость смарт контракта, которую платформа Ethereum взымает за его запуск. Технология оплаты за smart contract ico защищает майнера от мошенников, вернее – от их злоупотребления его ресурсами. Произвести расчет цены достаточно просто: необходимо скомплимировать готовый код и конвертировать в определенную последовательность ассемблерных команд. В Интернете сегодня есть калькуляторы, в которые достаточно вбить некоторые данные, чтобы получить ответ на интересующий вопрос.

Практическое применение технологии

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

  • Избирательна сфера. Многие эксперты считают, что умный контракт практически полностью ликвидирует риски, традиционно сопровождающие избирательные кампании. Речь идет, к примеру, о фальсификации результатов. Голос каждого человека может размещаться в рамках распределенного реестра в виде цифровой информации. Для декодирования таких данных мошенникам придется применить исключительные вычислительные машины, которых на сегодняшний день не существует.
  • Менеджмент. Smart contract – это средство ликвидации недопонимания между сторонами сотрудничества, а также ликвидирует риск возникновения конфликтов в случае заключения дополнительных договоренностей между отдельными сторонами без уведомления остальных участников взаимодействия.
  • Логистика. Автоматический формат запуска цепи событий, прописанный в коде, может позволить упростить и ускорить все логистические процессы. Проблема этой сферы на данном этапе связана с высоким уровнем бюрократии, который делает ее уязвимой для мошенников.
  • Дорожно-транспортная сфера. Будущее автомобильной промышленности – автоматизация всех процессов. Это наверняка повлечет за собой массу противоречий в случае ДТП. Между тем, цифровой эксперт, который сможет объективно оценить ситуацию и определить виновного даст возможность урегулировать этот вопрос. Его образ можно прописывать в smart contract, чтобы человеческий фактор в случае возникновения инцидента не смог повлиять на исход дел.
Поиск решения проблем

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

Оценить статью:

Смарт-контракты могут быть интегрированы в разные сферы Загрузка…

Поделиться ссылкой:

Создаем первый смарт-контракт на Ethereum менее чем за 60 минут

Расскажем, как создать смарт-контракт на блокчейне Ethereum при помощи сервера Ganache и программы на ЯП смарт-контрактов Solidity.

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

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

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

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

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

Первым делом необходимо установить Ganache — инструмент для создания приватного блокчейна, работающего на вашем компьютере. Советуем загрузить версию 1.0.2, так как последняя версия по нашему опыту пока некорректно обрабатывает запросы смарт-контрактов. Также вам понадобится локальная копия MyEtherWallet (url-сайт на в рассматриваемом случае не подойдет). По последней ссылке вам нужно загрузить пакет с названием вида etherwallet-v3.xx.x.x.zip.

После того как у вас имеется все необходимое, переходим на сайт https://remix.ethereum.org/ и видим следующий экран онлайн-IDE Remix.

Онлайн-редактор Remix содержит компилятор для языка Solidity. При первом посещении страницы редактор для наглядности загружается с некоторым кодом. Этот код можно безболезненно стереть и заменить программой контракта Counter:

pragma solidity ^0.4.0;
contract Counter {
    int private count = 0;
    function incrementCounter() public {
        count += 1;
    }
    function decrementCounter() public {
        count -= 1;
    }
    function getCount() public constant returns (int) {
        return count;
    }
}

Он содержит одну переменную count и три функции. Переменная представляет собой целое число и является локальной – доступна только в пределах контракта Counter. Первая и вторая  функции incrementCounter()  и decrementCounter() изменяют значение count: повышают или понижают на единицу. Третья функция getCount()  возвращает текущее значение переменной count.

При переносе кода в Remix он будет автоматически скомпилирован (по умолчанию на сайте стоит галочка Auto compile).

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

Запустите предварительно установленное приложение Ganache. Обратите внимание на ссылку на RPC SERVER. Она также нам вскоре понадобится.

Разархивируйте сохраненную ранее zip-папку MyEtherWallet и откройте index.html в веб-браузере. В правом верхнем углу находится кнопка с надписью Network ETH. По умолчанию в качестве сети выбирается основная сеть Ethereum (mainnet). Для изменения этого параметра, в выпадающем списке выбираем Add Custom Network / Node.

При этом откроется окно, в котором вы можете вставить информацию о RPC Server, предоставленную Ganache. Имя узла (Node Name) можно выбрать произвольное.

С этого момента локальная копия MyEtherWallet подключится к вашему блокчейн серверу на Ganache.

Воспользуемся MyEtherWallet, чтобы загрузить смарт-контракт Counter. Для этого в верхней навигационной панели нажимаем на Contracts и на открывшейся странице контрактов выбираем Deploy Contract.

Видим, что MyEtherWallet запрашивает байт-код контракта. Возвращаемся в Remix IDE и нажимаем кнопку “Details”.

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

Переносим байт-код в MyEtherWallet. Параметр Gas Limit определится автоматически.

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

Копируем ключ, выбираем Private Key и вставляем значение

Теперь, если нажать Unlock, MyEtherWallet попросит нас подтвердить транзакцию.

При нажатии Sign Transaction под кнопкой добавятся Raw Transaction и Signed Transaction. Нажимаем на Deploy Contract.

Соглашаемся с предупреждением.

В результате транзакции в Ganache в разделе текущих обрабатываемых блоков (Current Blocks) число изменится с 0 на 1. Также на 1 возрастет счетчик для выбранного ключа.

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

Для того, чтобы провзаимодействовать со счетчиком контракта, возвращаемся в MyEtherWallet и выбираем раздел Interact With Contract.


Как видим, MyEtherWallet запрашивает адрес контракта и бинарный интерфейс приложения (Application Binary Interface, ABI). Адрес контракта хранится в Ganache, в разделе Transactions.

При выборе соответствующего раздела откроется лог всех проведенных транзакций.

При нажатии на запись о транзакции будет выведена вся информация о ней, среди которой необходимый адрес контракта – Created Contact Address.

Копируем адрес и вставляем в соответствующее поле MyEhtherWallet.

Все, что осталось – это найти ABI – то, что сообщает MyEtherWallet как взаимодействовать с нашим контрактом. Для этого возвращаемя к тому месту, где мы остановились в Remix (Details), в разделе ABI копируем информацию в буфер обмена, переносим в MyEtherWallet и нажимаем Access. При этом появится раздел Read / Write Contract, у которого при помощи выпадающего списка станет доступен выбор функций из тех, что мы записали в нашей программе.

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

То есть функция работает корректно. Функция инкремента предполагает активное действие с нашей стороны – осуществление транзакции. При выборе функции нажимаем Write и соглашаемся с запросом транзакции.

В результате при новом запросе функции getCount видим 1 вместо 0 (и выросшее число транзакций в Ganache).

Аналогичным образом вы можете протестировать поведение функции decrementCount().

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

Источник

Leave a comment