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

редактировать

Транзакция на децентрализованной платформе

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

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

Содержание
  • 1 История
  • 2 Правовой статус смарт-контрактов
  • 3 Реализации
  • 4 Копирование названий и исполнение контрактов
  • 5 Проблемы безопасности
  • 6 См. Также
  • 7 Ссылки
История

Смарт-контракты были впервые предложены в начале 1990-х годов Ником Сабо, который ввел термин, используя его для обозначения «набора обещаний, определенных в цифровой форме, включая протоколы, в рамках которых стороны выполняют эти обещания». В 1998 году этот термин использовался для описания объектов на уровне службы управления правами системы Stanford Infobus, которая была частью Stanford Digital Library Project.

Правовой статус смарт-контрактов

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

В реализации Ethereum в 2015 году, основанной на блокчейнах, «смарт-контракт» в основном используется более конкретно в смысле вычислений общего назначения, которые выполняются на блокчейн или распределенный реестр. Национальный институт стандартов и технологий США описывает «умный контракт» как «набор кода и данных (иногда называемых функциями и состоянием), который развертывается с использованием криптографически подписанных транзакций в сети блокчейн». В этой интерпретации, используемой, например, Ethereum Foundation или IBM, смарт-контракт не обязательно связан с классической концепцией контракта, но может быть любой компьютерной программой. Смарт-контракт также можно рассматривать как защищенную хранимую процедуру, поскольку ее выполнение и кодифицированные эффекты, такие как передача некоторой стоимости между сторонами, строго соблюдаются и не могут быть изменены после того, как транзакция с конкретными деталями контракта сохранена. в блокчейн или распределенный реестр. Это связано с тем, что фактическое выполнение контрактов контролируется и проверяется платформой, а не какими-либо произвольными серверными программами, подключенными к платформе.

В 2017 году путем реализации Указа о развитии цифровой экономики, Беларусь стала первой страной, легализовавшей смарт-контракты. Белорусский юрист Денис Алейников считается автором правовой концепции смарт-контрактов, введенной указом.

В 2018 году в отчете Сената США говорилось: «Хотя смарт-контракты могут показаться новинкой, эта концепция коренится в базовом договорном праве. Обычно судебная система разрешает споры по контрактам и обеспечивает соблюдение условий, но также часто используется другой метод арбитража, особенно для международных транзакций. В смарт-контрактах программа обеспечивает исполнение контракта, встроенного в код. " Ряд штатов США приняли законы об использовании смарт-контрактов, например, Аризона, Невада, Теннесси и Вайоминг.

Реализации

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

Кроме того, языки программирования с различной степенью Тьюринга- Полнота как встроенная функция некоторых блокчейнов делает возможным создание нестандартной сложной логики. Измерение с использованием регулярных выражений показало, что только 35,3 {\ displaystyle 35.3}{ \ displaystyle 35.3} % 53757 {\ displaystyle 53757}{\ displaystyle 53757} включены смарт-контракты Ethereum рекурсии и циклы - это связано с проблемой остановки. Из-за остановок и других проблем с безопасностью полнота по Тьюрингу считается риском, и такие языки, как Vyper, сознательно избегают ее. Некоторые из других языков программирования смарт-контрактов, которым не хватает туристической полноты, - это Simplicity, Scilla, Ivy и Bitcoin Script. Примером полных по Тьюрингу языков является объектно-ориентированный язык смарт-контрактов Solidity.

Известные примеры платформ блокчейна, поддерживающих смарт-контракты, включают следующее:
NameОписание
Биткойн Предоставляет язык сценариев, неполный по Тьюрингу, который позволяет создавать пользовательские смарт-контракты поверх Биткойн, такие как учетные записи с несколькими подписями, каналы оплаты, условные депонирования, временные блокировки, атомная межсеточная торговля, оракулы или многосторонняя лотерея без оператора.
Ethereum реализует полный по Тьюрингу язык в своей цепочке блоков, известную структуру смарт-контрактов
Ripple (Codius)Разработка смарт-контрактов остановлена ​​в 2015 году
EOS.IO Блокчейн-платформа для смарт-контрактов
Tezos Блокчейн-платформа, изменяющая свой собственный набор правил с минимальным нарушением работы сети с помощью модели управления в цепочке

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

Реплицируемые заголовки и контракт выполнение

В 1998 году Сабо предложил, чтобы инфраструктура смарт-контрактов могла быть реализована путем репликации реестров активов и выполнения контрактов с использованием криптографических цепочек хеширования и византийской отказоустойчивой репликации. Askemos реализовал этот подход в 2002 году, используя Scheme (позже добавив SQLite ) в качестве языка сценария контракта.

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

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

Проблемы безопасности

Смарт-контракт на основе блокчейна виден всем пользователям указанного блокчейна. Однако это приводит к ситуации, когда ошибки, включая дыры в безопасности, видны всем, но не могут быть быстро исправлены. Такая атака, которую трудно быстро исправить, была успешно проведена на The DAO в июне 2016 года, израсходовав 50 миллионов долларов США в Ether, в то время как разработчики попытались найти решение, которое могло бы достичь консенсуса. Программа DAO имела временную задержку, прежде чем хакер смог удалить средства; был произведен хард-форк программного обеспечения Ethereum, чтобы отобрать средства у злоумышленника до истечения срока.

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

См. также
  • Правовой портал
  • icon Деловой и экономический портал
Ссылки
Последняя правка сделана 2021-06-08 06:34:30
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте