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

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

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

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

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

Третья сторона не участвует в выполнении смарт-контрактов
Третья сторона не участвует в выполнении смарт-контрактов

Концепция смарт-контрактов была впервые предложена в 1994 году Ником Сабо, американским компьютерным ученым и криптографом, который в 1998 году изобрел виртуальную валюту под названием «Bit Gold». Об этом я уже писал в статье «Кто придумал блокчейн?».

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

Одной из реальных метафор смарт-контракта, с которой многие из вас, возможно, сталкивались, является торговый автомат! У смарт-контрактов на блокчейне и торговых автоматов много общего.

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

  1. Вы выбираете продукт — банку газировки.
  2. Торговый автомат сообщает сумму, необходимую для покупки выбранного продукта.
  3. Вы вставляете нужную сумму.
  4. Торговый автомат проверяет, что вы ввели правильную сумму.
  5. Затем торговый автомат выдает выбранный продукт.

Предположим, стоимость банки газировки составляет $3. Если у вас в кармане только $1, сколько бы вы ни пытались, вы не сможете купить напиток. С другой стороны, если вы положите в торговый автомат $4, автомат выдаст вам банку газировки вместе со сдачей в $1. А если вы положите $3, автомат выдаст только банку газировки.

Торговый автомат: метафора смарт-контрактов
Торговый автомат: метафора смарт-контрактов

Аналогично, смарт-контракты — это правила, определяемые и выполняемые строками кода на блокчейне.

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

Жизненный цикл смарт-контрактов состоит из четырех последовательных фаз: создание, развертывание, исполнение и завершение.

1. Создание смарт-контрактов

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

После окончательного согласования условий договора они переводятся в программный код, называемый смарт-контрактом. По сути, код представляет собой ряд различных условных утверждений, которые описывают возможные сценарии будущей сделки. Они работают, следуя простым утверждениям “if…then…else” (“если…то…иначе”), которые записаны в коде на блокчейне. Оператор «if» — это самое простое условие, которое используется для принятия решения о том, будет ли выполнено условие или нет. Если условие истинно, то будет выполнен оператор «then». Если условие ложно, то будет выполнен оператор «else». Например, если A истинно, то будет выполнено B, иначе будет выполнено C.

Диаграмма процесса If-Then-Else
Диаграмма процесса If-Then-Else

2. Развертывание смарт-контрактов

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

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

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

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

3. Исполнение смарт-контрактов

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

4. Завершение смарт-контрактов

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

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

Жизненный цикл смарт-контрактов
Жизненный цикл смарт-контрактов

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

Доверие

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

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

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

Прозрачность

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

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

Неизменяемость

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

Более эффективное использование времени

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

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

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

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

Смарт-контракты Ethereum

Смарт контракты лежат в основе блокчейна Ethereum. Умные контракты в блокчейне Ethereum выполняются на виртуальной машине Ethereum Virtual Machine или EVM, которая присутствует на каждом узле сети. Цель EVM — выполнение смарт-контрактов.

Как рассчитывается комиссия в сети Ethereum?

Выполнение смарт-контракта в EVM имеет свою цену. Для любой операции в EVM потребуются вычислительные мощности CPU, доступ к диску и памяти хостинговой машины. Каждое вычисление, происходящее в EVM для выполнения строк кода смарт-контрактов, требует определенного количества газа. Проще говоря, газ — это единица измерения количества вычислительных усилий, необходимых EVM для выполнения транзакций в блокчейне Ethereum. Поэтому газ используется для назначения платы за каждую транзакцию в смарт-контракте. Чем сложнее вычисления, тем больше газа требуется для выполнения смарт-контрактов. За каждую транзакцию, которую вы проводите на платформе Эфириума, вы должны оплатить газ в виде криптовалюты Ether (ETH). Цены на газ оплачиваются в gwei. Каждый gwei равен 0,000000001 ETH (10^-9 ETH).

Комиссия за транзакцию = лимит газа * (базовая комиссия + комиссия за приоритет)

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

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

Например, стандартный перевод ETH требует лимит газа в 21 000 единиц газа. Допустим, Алисе нужно перевести 1 ETH Филу. Базовая комиссия за перевод ETH составляет 200 gwei, а Алиса добавляет к ней комиссию за приоритет в размере 10 gwei. Таким образом, комиссия за перевод 1 ETH составит:

21 000 * (100+10) = 2 310 000 gwei или 0,00231 ETH.

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

На каком языке написаны смарт-контракты Ethereum?

В блокчейне Ethereum смарт-контракты написаны на языке программирования под названием Solidity.

Блокчейны со смарт-контрактами

Хотя Ethereum в настоящее время является самой важной платформой для смарт-контрактов, она не единственная. Другие платформы блокчейн, подходящие для разработки смарт-контрактов:

  • BNB
  • Cardano
  • Avalanche
  • Chainlink
  • Stellar
  • Algorand
  • Solana
  • Polkadot
  • Tezos
  • VeChain

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

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

Страховая отрасль

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

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

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

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

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

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

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

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

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

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

Понравилась статья? Поделитесь в соцсетях

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *