Что такое смарт контракты? Как они работают? Примеры
Смарт контракт - это это самоисполняющийся контракт, в котором условия соглашения между покупателем и продавцом прямо записаны в коде. Код и содержащиеся в нем соглашения существуют в распределенной децентрализованной сети блокчейн. Код контролирует выполнение, а транзакции отслеживаются и необратимы.
Цифровые соглашения, которые выполняются автоматически на основе реальных данных. Если условие А выполнено, то выполняется условие В (условие смарт контакта).
Другими словами, смарт-контракты - это фрагменты компьютерного кода, которые выполняют набор инструкций.
Тем, что компьютерный код не может обмануть или задержать условие выполнения в отличие от традиционного контракта. Если задано условие, то оно автоматически выполняется, иначе деньги заказчик не получит, если не выполнит условие смарт-контракта.
Примеры
Петр сдал квартиру в аренду через блокчейн, а арендная плата была произведена в криптовалюте. Арендатор получил квитанцию, которая содержится в смарт-контракте на следующих условиях:
Петр должен предоставить арендатору ключ к указанной дате. Если ключ не приходит вовремя, блокчейн выпускает возврат денег. Если ключ передан вовремя, то смарт-контракт подтверждает это и передает как арендную плату Петру, так и ключ к арендатору.
Смарт контракт работает на программных условиях «Если-То» («If-then»), поэтому арендатор может ожидать безупречную доставку. Если Петр дает арендатору ключ, то ему обязательно заплатят. Если арендатор отправляет определенное количество криптовалюты, то арендатор получает ключ от Петра.
Мы все знакомы с приложениями и магазинами приложений. Вы просматриваете, загружаете приложение, которое хотите, и все готово.
За прекрасными интерфейсами UX и UI эти приложения выполняют определенный набор инструкций, изложенных их создателем. Это может быть игра, календарь или способ покупки товаров и услуг.
Смарт контракты выполняют очень похожую функцию.
Смарт контракт, выраженный в виде фрагмента код, который предназначен для выполнения набора инструкций.
Разница лишь в том, что отсутствует третье лицо. Там нет человека или компании, хранящей вашу информацию или проверяющей ее. Блокчейн проверяет и хранит запись для Вас.
Виталик Бутерин и сообщество Эфира считают, что это будущее блокчейна. Если Биткоин - это золото делового мира, то смарт контракты - это нефть, на которой работает бизнес.
Для чего нужны в смарт-контракты?
Итак, вы хотите купить автомобиль онлайн без смарта контракта. Для этого вам необходимо:
- Список с информацией о всех автомобилях, которые вы хотели бы увидеть.
- Способ общения с продавцами
- Платежная система, позволяющая вам обменивать деньги после того, как вы нашли свой автомобиль
- Возможности получить возмещение, если машина окажется бракованной
- Вы также должны будете заключить договор и зарегистрировать машину.
Каждый из этих пунктов требует от вас доверия к сайту или услуге, к которой вы обращаетесь, - и большую часть времени каждая часть этого процесса контролируется другой компанией или отдельным лицом.
Подлому человеку или организации не потребовалось бы много времени, чтобы изменить что-либо из вышеперечисленного, сделав весь процесс недействительным.
Смарт контракт устраняет необходимость доверять многим людям в процессе покупки чего-либо.
Почему? Все просто, смарт контракты это:
Безопасность – все вносится в публичный блокчейн
Прозрачность - каждый может увидеть на блокчейне, что такое смарт контракт и для чего он используется.
Отсутствие посредников - умные контракты не нуждаются в третьей стороне для проверки. Блокчейн сделает это за вас.
Автономность - они работают автоматически, поэтому вам не нужно ждать, пока кто-нибудь нажмет кнопку.
Точность - потому что смарт контракты написаны в коде, они не полагаются на просто слово.
Как работают смарт контракты?
В основе умного контракта, как правило, лежит механизм, который говорит (в компьютерном коде) «если это произойдет, то сделай это».
Они уже существуют сегодня. Допустим, вы хотите заплатить за что-то с помощью дебетовой или кредитной карты. Программное обеспечение, на котором работает ваш банк, будет использовать «если это произойдет, то сделайте это» следующим образом:
- Если сумма на банковском счете превышает запрашиваемую сумму, выслать средства
- Если сумма на банковском счете меньше запрашиваемой суммы, не высылать средства
Разница с смарт контрактами заключается в том, что банк (или любая третья сторона) контролирует любое решение, а в случае смарт контракта решение уже находится в блокчейне.
Поэтому, взяв приведенный выше пример и применив его к смарт контракту, основанному на блокчейне, вы увидите следующее:
- Если сумма в цифровом кошельке больше и она еще не потрачена, выслать средства.
- Если сумма в цифровом кошельке меньше или уже потрачена, не высылать средства.
Интересная особенность смарт контрактов заключается в том, что каждый может заключить соглашение с кем-либо еще, когда блокчейн ведет учет всего этого.
Другой пример действий сразу нескольких контрактов
Смарт-контракт может быть вызван из другого смарт-контакта (других смарт-контрактов).
пример цепочек смарт-контрактов
Умные контракты - это самодостаточные соглашения, встроенные в компьютерный код, управляемый блокчейном. Контракт содержит набор правил, в соответствии с которыми стороны этого умного договора соглашаются взаимодействовать друг с другом. Если (и когда) предопределенные правила соблюдены, соглашение автоматически вступает в силу.
Пример кода
pragma solidity >=0.4.0 <0.7.0; contract SimpleStorage { uint storedData; function set(uint x) public { storedData = x; } function get() public view returns (uint) { return storedData; } }
Первая строка сообщает вам, что исходный код написан для языка Solidity версии 0.4.0 или более новой версии, но не включая версию 0.7.0. Это делается для того, чтобы контракт не компилировался с новой (несовместимой) версией компилятора, где он мог бы вести себя по-другому.
А что насчет Dapps?
Dapps - это децентрализованные приложения, которые объединяют смарт контракты в пакеты, с которыми люди могут взаимодействовать.
Dapps или децентрализованные приложения лучше всего рассматривать как связку смарт контрактов.
Сам по себе смарт-контракт может использоваться только для одного типа транзакции. Однако Dapp может объединять несколько смарт контрактов, чтобы делать более сложные вещи.
Dapp также может поставить удобный интерфейс поверх контрактов - так же, как это делают приложения.
Знаменитые Dapps
- Golem - это приложение, которое позволяет людям заимствовать вычислительные мощности других людей, когда они ими не пользуются.
- Augur - полностью открытая и децентрализованная рыночная платформа для прогнозирования
- Melonport - позволяет вам управлять и инвестировать в другие цифровые активы
- Cryptokitties - игра
Вывод
Мы все еще находимся на стадии развития того, что смарт контракты и Dapps могут в будущем нам предложить. Но есть компании и даже правительства, которые уже экспериментируют с их потенциалом.
- «Правительство - такие страны, как Эстония, уже начали использовать блокчейн для управления государством.
- Каналы поставок - такие стартапы, как Provenance, помогают производственным компаниям использовать блокчейн для покупки и доставки товаров.
- Страхование - такие стартапы, как Etherisc, помогают создавать страховые платформы для авиационной и сельскохозяйственной отрасли.