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

Блокчейн Статья Новичок
29/3/2022
284
Avatar
Автор
Oracle Labs
Смарт-контракт — это защищенная от взлома программа, которая исполняется в сети блокчейн при выполнении определенных предопределенных условий.

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

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

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

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

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

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


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

Как работают умные контракты

Умные контракты — это защищенные от взлома программы на блокчейне со следующей логикой: "если/когда произойдет событие x, то выполнить действие y". Один смарт-контракт может иметь несколько различных условий, а одно приложение может иметь несколько различных смарт-контрактов для поддержки взаимосвязанного набора процессов. Существует также несколько языков программирования смарт-контрактов, наиболее популярным из которых является Solidity от Ethereum.

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

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

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

Условие 1: Если товар прибывает вовремя, то выполняется платеж от розничного торговца поставщику в полном объеме.
Условие 2: Если товар прибывает с опозданием на один день, то выполняется платеж от розничного продавца поставщику на 98% от полной суммы.

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

Условие 1: Если пользователь вносит залог в определенный смарт-контракт, он может получить кредит в размере до 50% от стоимости своего залога (т.е. при депозите в $100 можно получить кредит в размере до $50).
Условие 2: Если коэффициент обеспеченности пользователя (залог/стоимость кредита) опускается ниже 200%, то залог пользователя автоматически ликвидируется и передается кредиторам, чтобы они не потеряли деньги.
Условия 3: Кредиторы могут внести средства в определенный контракт, по которому другие пользователи могут брать займы с заранее определенным коэффициентом обеспечения, а кредитор получает право на часть выплат по процентной ставке.

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

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


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

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

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

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

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

Примеры использования смарт-контрактов

Управление правами (токенами)

Смарт-контракты токенов используются для создания, отслеживания и назначения прав собственности на конкретные цифровые токены, существующие в сетях blockchain. Контракт на токены программирует функциональность выпускаемых им токенов, предоставляя держателям такие возможности, как использование/страхование в dApp (ютилити-токен), право голоса в протоколе (токен управления), доля в компании (токен безопасности), право собственности на уникальный реальный мир или цифровой актив (невзаимозаменяемый токен) и многое другое. Например, токен FIL используется для оплаты услуг децентрализованного хранилища Filecoin, а токен COMP позволяет пользователям участвовать в управлении протоколом Compound.

Финансовые продукты (DeFi)

Децентрализованные финансы (DeFi) состоят из приложений, использующих смарт-контракты для воссоздания традиционных финансовых продуктов и услуг, таких как денежные рынки, опционы, стейблкоины, биржи и управление активами, а также для объединения нескольких услуг с целью создания новых финансовых примитивов посредством композиции без разрешения. Смарт-контракт может хранить средства пользователя в условном депонировании и распределять их между пользователями на основе заранее определенных условий. Например, BarnBridge использует смарт-контракты для автоматизации сделок для пользователей, желающих получить фиксированный актив, подверженный воздействию ценовой пары (например, 45% токена A, 55% токена B), а Aave использует смарт-контракты для облегчения кредитования и заимствования без разрешения и децентрализованным образом.


Игры и NFT

Игры на основе блокчейна используют смарт-контракты для защиты от несанкционированного выполнения игровых действий. Одним из примеров является PoolTogether, беспроигрышная сберегательная игра, в которой пользователи вкладывают свои средства в общий пул, который затем направляется на денежный рынок, где на него начисляются проценты. По истечении заданного периода времени игра заканчивается, и победитель случайным образом получает все накопленные проценты, а все остальные могут снять свои первоначальные вклады. Аналогичным образом NFT с ограниченным тиражом могут иметь справедливые модели распространения, а ролевые игры могут поддерживать непредсказуемое выпадение лута с помощью случайности, помогая обеспечить всем пользователям справедливые шансы на получение редких цифровых активов. Многие проекты получают доступ к случайности с помощью верифицируемой случайной функции (VRF) Chainlink - генератора случайных чисел (RNG), который использует криптографию для доказательства своей защищенности от взлома, что означает публичный аудит процесса RNG (Random Number Generator).


Страхование

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


Ограничения смарт-контрактов

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

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


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

Присоединяйтесь к русскоязычному сообществу Chainlink в Телеграм.

https://chain.link/education/smart-contracts | What Is a Smart Contract?


Время чтения: 10 минут
Поделитесь в соц. сетях:
Наверх