Перейти к основному контенту

Код — это закон? Объяснение смарт-контрактов

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

Date published: 18 ноября 2020 г.

Объясняющее видео от Файнматикс, исследующее концепцию «код — это закон» через призму смарт-контрактов в Эфириуме. В нем рассказывается о том, что такое смарт-контракты, как они работают, в чем их преимущества перед традиционными контрактами и почему они являются строительными блоками децентрализованных финансов (DeFi).

Эта стенограмма является доступной копией оригинальной стенограммы видео (opens in a new tab), опубликованной Файнматикс. Она была слегка отредактирована для удобства чтения.

Введение (0:00)

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

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

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

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

Смарт-контракт может полагаться исключительно на информацию, доступную в блокчейне — например, «если вы дадите мне 10 токенов A, я дам вам 10 токенов B». Или он может полагаться на внешний источник данных, например, на цену ETH или S&P 500. Последний пример делает смарт-контракты более сложными, поскольку они должны доверять данным из реального мира. Необходимое доверие можно минимизировать с помощью сервисов оракулов, но даже сервисам оракулов нужно доверять. Уже существует несколько проектов, которые с помощью определенных стимулов повышают вероятность того, что оракулы предоставят правильные данные. Чейнлинк — это проект, который явно выделяется в этой категории.

Смарт-контракты Эфириума (3:09)

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

Смарт-контракты в Эфириуме также децентрализованы, что означает отсутствие единой машины, контролирующей контракт. Фактически, все узлы в сети Эфириума хранят один и тот же контракт с абсолютно одинаковым состоянием. Хотя Эфириум в настоящее время является самой популярной платформой смарт-контрактов общего назначения, он не единственный, и у него есть несколько конкурентов, включая Cardano, Tezos, EOS и Tron — но не все из них обладают одинаковыми характеристиками.

Определение смарт-контракта (4:23)

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

Пример смарт-контракта (4:46)

Допустим, мы хотим написать следующий контракт: если Алиса отправляет X токенов A, а Боб отправляет такое же количество токенов B, токены будут обменяны — Алиса получит токены Боба, а Боб получит токены Алисы.

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

Проблемы смарт-контрактов (5:45)

Этот подход уже показывает несколько проблем, с которыми могут столкнуться Алиса и Боб:

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

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

Скорость (6:47)

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

Стоимость (7:16)

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

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

Мошенничество (7:58)

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

Варианты использования (8:42)

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

DeFi (9:07)

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

  • Децентрализованные стейблкоины — благодаря грамотному использованию смарт-контрактов и определенных стимулов мы можем создать стейблкоин, привязанный к доллару США, без необходимости хранить доллары в реальном мире. MakerDAO — один из проектов, который делает это возможным.
  • Автоматизированное предоставление ликвидности — набор смарт-контрактов может позволить пользователям предоставлять ликвидность и обменивать токены полностью общедоступным и децентрализованным способом. Юнисвоп и Kyber Network являются хорошими примерами таких протоколов.

Краудфандинг и цепочки поставок (10:05)

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

Смарт-контракты будущего (10:29)

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

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

  • Ошибки — один из главных рисков, когда дело доходит до смарт-контрактов, это то, что преследует любое другое программное обеспечение. Лучшим примером является взлом The DAO, который привел к потере эфира на миллионы долларов, поскольку злоумышленник смог вывести средства из смарт-контракта. Это привело к хардфорку Эфириума и вызвало много разногласий в сообществе Эфириума. Со времен взлома The DAO сообщество Эфириума разработало множество дополнительных мер безопасности. В наши дни почти все популярные смарт-контракты прошли аудит безопасности, часто проводимый несколькими командами. Также существует тенденция к использованию методов формальной верификации, чтобы доказать, что определенные контракты всегда будут вести себя ожидаемым образом.
  • Изменения протокола — даже если смарт-контракт не имеет ошибок и прошел аудит, мы все равно не можем гарантировать, что изменение на уровне платформы не вызовет проблем. Обновление самого протокола может привести к тому, что некоторые смарт-контракты начнут вести себя иначе, чем ожидалось.
  • Данные из реального мира — сервисы оракулов могут обеспечить надежный способ получения информации из реального мира в блокчейн. Но представьте, что вы арендовали квартиру или машину и случайно нанесли какой-то ущерб. Как смарт-контракт без какого-либо вмешательства человека мог бы узнать об этом? Есть множество примеров, когда трудно представить, как что-то неожиданное, происходящее в реальном мире, может быть видно смарт-контракту.

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

Можем ли мы заменить юристов? (13:58)

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

Краткие итоги (14:53)

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

  • Полностью автоматизированные
  • Детерминированные результаты
  • Не требующие доверия
  • Быстрые, точные и безопасные
  • Экономичные и прозрачные

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

  • Программные ошибки
  • Изменения протокола
  • Нормативная и налоговая неопределенность

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

Была ли эта страница полезной?