Умный контракт

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Умный контракт (англ. Smart contracts) — электронный алгоритм, описывающий набор условий, выполнение которых влечет за собой некоторые события в реальном мире или цифровых системах[1]. Для реализации умных контрактов требуется децентрализованная среда, полностью исключающая человеческий фактор[2], а для возможности использования в умном контракте передачи стоимости[3] требуется криптовалюта[2][4].

История[править | править вики-текст]

Первые идеи умных контрактов были предложены в 1994 году Ником Сабо (англ. Nick Szabo)[2]. Практические реализации стали возможными, благодаря появлению в 2008 году технологии цепочки блоков[5]. Некоторые принципы умных контрактов были заложены в протоколе первой блокчейн-системы Bitcoin[6], однако они не были реализованы в клиентском ПО, не обладали полнотой по Тьюрингу из соображений безопасности и практически не использовались на практике. С появлением технологии, стали высказываться идеи, что поверх протокола биткойна могут быть созданы различные протоколы более высокого уровня[7] включая полноценные умные контракты[8], по аналогии с тем как поверх TCP/IP существуют множество протоколов прикладного уровня.

Умные контракты впервые начали применяться на практике в проекте Ethereum (рус. Эфириум). Идея создания проекта появилась в 2013 году. В тот момент основатель журнала Bitcoin Magazine Виталик Бутерин пришёл к выводу, что биткойн плохо подходит в качестве базового протокола, поскольку изначально не был спроектирован под данную задачу, и написал в одной из своих статей об идее создания такого протокола с нуля.

Особенности[править | править вики-текст]

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

Объекты умного контракта[править | править вики-текст]

  • Подписанты — стороны умного контракта, принимающие или отказывающиеся от условий с использованием электронных подписей. Прямым аналогом является подпись отправителя средств в сети Bitcoin, которая подтверждает внесение транзакции в цепочку блоков.
  • Предмет договора. Предметом договора может являться только объект, находящийся внутри среды существования самого умного контракта, или же должен обеспечиваться беспрепятственный, прямой доступ умного контракта к предмету договора без участия человека. Это является наиболее сложным вопросом, который невозможно было решить до появления криптовалют в 2009 году.
  • Условия. Условия умного контракта должны иметь полное математическое описание, которое возможно запрограммировать в среде существования умного контракта. Именно в условиях описывается логика исполнения пунктов предмета договора.

Требуемая среда для работы умных контрактов[править | править вики-текст]

Для того, чтобы умные контракты могли существовать, требуются определенные условия:

  1. Использование широко распространенных методов электронной подписи на основе публичных и приватных ключей (асимметричное шифрование).
  2. Существование открытых, децентрализованных и доверительных сторонам контракта баз данных для исполняемых транзакций, работа которых полностью исключает человеческий фактор. Как пример: цепочка блоков в Bitcoin.
  3. Децентрализация среды исполнения умного контракта. Как пример: Ethereum, Codius, Counterparty (англ.).
  4. Достоверность источника цифровых данных. Как пример: корневые центры сертификации SSL в базах современных интернет-браузеров.

Принцип работы[править | править вики-текст]

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

Примеры[править | править вики-текст]

Умный контракт может быть реализован в различных финансовых продуктах, таких как[1][2]:

  • Периодические платежи
  • Партнерские программы
  • Подписываемый перевод
  • Страхование
  • Налогообложение
  • Торговля

Другие примеры[править | править вики-текст]

Вы и ваш приятель играете в тотализатор на исход спортивного матча. Ваши ставки сохраняются в блокчейне в виде транзакций. После окончания матча умный контракт автоматически проверяет его исход на каком-нибудь спортивном сайте и переводит всю сумму победителю. Другой пример — доставка покупок: оплата за товар фиксируется в блокчейне, но только когда приходит автоматическое подтверждение от курьерской службы, деньги поступают продавцу. С развитием так называемого «интернета вещей», когда почти любые бытовые предметы получают доступ к мировой паутине, умные контракты могут регулировать и договор аренды (не заплатил за месяц — замок входной двери перестает работать) и кредитные договоры (не внес платеж — машина перестала заводиться)[9].


См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]