Жизненный цикл смарт-контрактов в экосистеме блокчейна
Жизненный цикл разработки смарт-контрактов включает важные этапы: создание, замораживание, выполнение и завершение.
Статья рассматривает следующие вопросы.
- Что такое смарт-контракт в блокчейне?
- Что служит основой для смарт-контрактов DeFi?
- Фазы жизненного цикла смарт-контрактов
- Каковы плюсы и минусы жизненного цикла смарт-контракта?
- Можно ли уничтожить смарт-контракт?
Что такое смарт-контракт в блокчейне?
Смарт-контракты — это, по сути, программы, которые запускаются при соблюдении определенных критериев и поддерживаются в блокчейне.
Смарт-контракты обычно используются для автоматизации исполнения соглашения, чтобы все стороны могли быть уверены в решении сразу, без посредников и траты времени. Они также могут автоматизировать рабочий процесс, начиная с определенных моментов.
Чтобы смарт-контракты работали, в код на блокчейне записваются простые строки-условия «если/когда…то…». Когда заданные условия удовлетворены и подтверждены, компьютерная сеть выполняет оговоренные действия.
Они могут включать, например, перевод платежей соответствующим сторонам, отправку предупреждений, регистрацию транспортного средства или выдачу билета. Когда транзакция завершена, блокчейн обновляется. Это означает, что транзакцию нельзя изменить, а результаты видны только тем, кому предоставлен доступ.
Ethereum (ETH) — это наиболее широко используемый блокчейн смарт-контрактов для выполнения автоматических соглашений. Смарт-контракты в Ethereum часто пишутся на Solidity, языке программирования, полном по Тьюрингу, а затем компилируются в низкоуровневый байт-код, который может выполнять виртуальная машина Ethereum.
Polkadot (DOT) — еще одна экосистема смарт-контрактов, созданная Гэвином Вудом, одним из соучредителей Ethereum. Поняв, что ETH еще далеко до реализации своего потенциала в качестве безопасной и масштабируемой системы, он решил запустить свою сеть блокчейнов.
Финансовые приложения для торговли, инвестирования, кредитования и заимствования являются примерами вариантов использования смарт-контрактов. Их можно использовать в самых разных отраслях, включая здравоохранение, игры и недвижимость, а также для построения целых структур компании.
Что служит основой для смарт-контрактов DeFi?
Распределенные реестры и криптовалюты — это две технологии, которые служат основой для децентрализованных смарт-контрактов.
Во-первых, содержащиеся данные, то есть транзакции, должны быть надежно сохранены для формирования цифровой книги. Это означает, что общий рейтинг и содержание транзакций должны быть сохранены. Отдельные транзакции объединяются в блоки в блокчейнах, которые затем сохраняются в последовательном порядке.
Виртуальные деньги, разработанные и торгуемые на таких цифровых платформах, как Биткойн (BTC), охарактеризованы Европейским центральным банком как «нерегулируемая, децентрализованная цифровая криптовалюта». В 1990-х годах уже были инициативы по созданию цифровой валюты. Однако эти попытки требовали использования банка (хранителя бухгалтерской книги) для отслеживания счетов владения деньгами.
Сегодня блокчейны предоставляют техническое решение для распространения этой книги или журнала транзакций по одноранговой сети при сохранении целостности журнала транзакций. Благодаря этому прорыву теперь возможны нерегулируемые рынки криптовалют.
Какие фазы входят в жизненный цикл смарт-контрактов?
Формирование смарт-контракта, замораживание смарт-контракта, выполнение смарт-контракта и завершение смарт-контракта — это четыре важных этапа жизненного цикла смарт-контракта. Он отличается от жизненного цикла разработки блокчейна, который начинается с определения проблемы, которую вы хотите решить с помощью вашего блокчейн-продукта, и заканчивается минимально жизнеспособным продуктом.
Формирование
Этап формирования (или создания) смарт-контракта включает переговоры по нему и его реализацию. Во-первых, стороны должны согласовать общее содержание и цели договора. Это похоже на традиционные переговоры по контракту и может проводиться онлайн или офлайн. На базовой леджерной платформе все участники должны иметь кошелек. Его идентификатор в большинстве случаев является псевдонимом и используется для идентификации сторон и перевода платежей.
После согласования сторонами целей и содержания контракта он должен быть преобразован в код. Кодификацию контракта ограничивает выразительность основного языка кодирования смарт-контрактов. Большинство систем смарт-контрактов предоставляют инфраструктуру для создания, обслуживания и тестирования смарт-контрактов для проверки их поведения и содержимого при выполнении.
Преобразование требований в код, наблюдаемое в традиционных языках программирования, требует многократных итераций между заинтересованными сторонами и программистами. Смарт-контракты не будут исключением, и между этапами переговоров и реализации, вероятно, состоится несколько итераций.
На этапе публикации, после того как стороны согласовали кодифицированную форму договора, он загружается в распределенный реестр. На этом этапе узлы распределенного реестра получают контракт как часть блока транзакции. Контракт доступен для исполнения после того, как большинство узлов подтвердят блок. Поскольку децентрализованные смарт-контракты не могут быть изменены после их принятия блокчейном, любые изменения в смарт-контракте потребуют разработки нового договора.
Хотя смарт-контракт размещается в блокчейне, сам по себе этот факт не следует интерпретировать как согласие стороны на заключение контракта, поскольку любой может отправить смарт-контракт в блокчейн, что подразумевает обязательство для любого случайного владельца кошелька. Точно так же децентрализованные смарт-контракты могут принести пользу любому участнику блокчейна, независимо от того, решат ли они получить преимущества заранее.
Замораживание
После отправки в блокчейн смарт-контракт подтверждается большинством участвующих узлов. За эту услугу нужно заплатить определенную цену, чтобы предотвратить наводнение экосистемы смарт-контрактами.
Контракт и его стороны теперь открыты для общественности и доступны через публичный реестр. На этапе замораживания любые переводы на адрес кошелька смарт-контракта блокируются, а ноды работают как совет управления, проверяя выполнение предварительных условий контракта.
Завершение
После выполнения смарт-контракта обновленная информация о его состоянии и результирующие транзакции помещаются в распределенный реестр и подтверждаются с использованием процесса консенсуса. Ранее зафиксированные цифровые активы передаются (активы размораживаются), и контракт завершается для подтверждения всех транзакций.
Каковы плюсы и минусы жизненного цикла смарт-контракта?
Каждый этап жизненного цикла смарт-контракта обещает снизить затраты, повысить прозрачность и укрепить доверие, но также создает новые препятствия, затраты и юридические несоответствия.
Поскольку формирование децентрализованных смарт-контрактов разделено на две фазы: традиционную фазу согласования условий и фазу реализации кода, гонорары, сэкономленные за счет использования меньшего количества юристов, должны быть сопоставлены с расходами на программистов смарт-контрактов.
Инфраструктура децентрализованного исполнения и его участники берут на себя роль исполнителей контрактов благодаря криптографически защищенной связи между исполнением контракта и завершением платежа. Этот встроенный процесс разрешения конфликтов повышает открытость и справедливость для всех вовлеченных сторон.
С другой стороны, необратимый характер заключенных смарт-контрактов создает дополнительные проблемы, связанные с возмещением ущерба, поскольку полученный в результате набор транзакций является неизменным и безотзывным по определению.
В то время как некоторые аспекты жизни смарт-контракта в настоящее время требуют специальных технических знаний (таких, как программирование смарт-контракта), ожидаемое широкое распространение децентрализованных смарт-контрактов, подпитываемое обещанием экономии затрат, несомненно, снизит существующие барьеры для входа и приведет к разработка удобной среды для создания, тестирования и обмена смарт-контрактами.
Можно ли уничтожить смарт-контракт?
Да, смарт-контракты можно уничтожить с помощью функции самоуничтожения.
Смарт-контракты Ethereum предоставляют функцию самоуничтожения, которая позволяет им уничтожить контракт в системе блокчейна. Однако это палка о двух концах для разработчиков. С одной стороны, функция самоуничтожения позволяет разработчикам удалять смарт-контракты из Ethereum и передавать ETH в случае чрезвычайной ситуации, такой как атака. С другой стороны, эта функция может усложнить разработку и предоставить злоумышленникам канал атаки.
Когда обнаруживаются недостатки безопасности или необходимо обновить функциональность смарт-контракта, разработчики уничтожают контракт. Они запустят свежую версию контракта после устранения ошибок или обновления текущей версии.
Злоумышленники обнаружили уязвимость под названием Reentrancy в смарт-контракте Децентрализованной автономной организации (DAO) в 2016 году, и организация DAO потеряла 3,6 миллиона ETH (270 долларов США за эфир на февраль 2020 года) в результате этой уязвимости. Эту печально известную атаку иногда называют DAO-атакой.
Взлом DAO длился несколько дней, и в то время организация не знала, что ее контракт был скомпрометирован. Из-за свойства неизменяемости смарт-контрактов нельзя было остановить атаку или переместить эфир. Если в контракте есть функция самоуничтожения, DAO-организация может быстро перевести весь ETH и избежать финансового ущерба.
Комментарии
Комментарии для сайта Cackle
Интересно? Поделись с друзьями!