Смарт-контракты Ethereum. Как это работает?

Смарт-контракты Ethereum. Как это работает?


Часть 1. Когда бумага знает, что ты ей сказал и делает это

Немного истории

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


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


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


Умный контракт сам все сделает

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


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


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

Обычно смарт-контракты записываются в Blockchain (хотя они могут существовать и в другой среде). В Blockchain-среде вся программная логика смарт-контракта записывается и находится в блоке, который является программным контейнером, который объединяет все сообщения, относящиеся к конкретному смарт-контракту. Сообщения могут выполнять роль входов и выходов программного кода смарт-контракта и приводить к каким-либо действиям в реальном или цифровом мире за пределами блока Blockchain.


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

1. Цифровая идентификация и наличие цифровых подписей (публичного и приватного ключа) двух или более сторон договора.

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

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

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


Какие бывают смарт-контракты

В зависимости от степени автоматизации смарт-контракты могут быть различных моделей: 

  • Полностью автоматизированные смарт-контракты;
  • Смарт-контракт с копией в виде бумажного носителя;
  • Контракты на бумажном носителе, часть положений которого перенесена в программный код (частично автоматизированные смарт-контракты). Например, могут быть автоматизированы только платежи. К таким видам смарт-контрактов можно отнести, например, трудовые смарт-контракты, если оценку работы человека нельзя перевести в конкретные величины).

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


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


Глядя на то, с какой скоростью такие гиганты, как IBM, Intel, Cisco, Microsoft и Linux разрабатывают фреймворки для создания закрытых блокчейн-экосистем, которые позволяют хранить и исполнять смарт-контракты, не нарушая при этом корпоративных принципов конфиденциальности данных и режима коммерческой тайны — это все не за горами.


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


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




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

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


Самый известный пример использования технологии — это децентрализованные автономные организации, или DAO (The DAO, Digix.io, Fermat). Работа в таких организациях полностью основана на смарт-контрактах и управляется коллективными решениями ее участников, владельцами токенов. При этом абсолютно все рабочие моменты, от ежедневных задач до графика выплаты зарплат, прописываются в программном коде. Это делает децентрализованные организации гораздо более эффективными по сравнению с традиционными: если участник такой организации систематически не выполняет свои обязанности или, например, часто грубит другим членам сообщества, то владельцы токенов могут просто отозвать свою поддержку в отношении этого участника, и тогда он автоматически потеряет контракт и будет исключен из DAO.


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


Например, британский банк Barclays, который в сентябре прошлого года провел первую в мире торговую сделку через блокчейн, уже использует смарт-контракты для того, чтобы регистрировать переход права собственности и перечислять платежи в другие кредитно-финансовые учреждения, а разработчик протокола Bitcoin Core Джефф Гарзик однажды предложил следующее применение смарт-контрактов: «UPS может исполнять контракты, в которых будет сказано: «Если мы получим оплату за доставку товара, то его производитель, который в цепочке поставок находится на много звеньев выше, немедленно начнет создавать новый такой товар, поскольку этот уже доставлен по назначению».


Часть 2. От хайпа к реальности

Зачем использовать смарт-контракты? Что это дает?


По сравнению с обычными бумажными контрактами смарт-контракты обладают рядом фундаментальных преимуществ:


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


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


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


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


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


Немного примеров из экономики:


Инвестиционный банкинг: при торговле синдицированными кредитами корпоративные клиенты с помощью смарт-контрактов могли бы рассчитывать на более короткие циклы расчетов. Вместо нынешних 20 или более дней, умные контракты могут обеспечить циклы расчетов продолжительностью в 6-10 дней. Это может привести к увеличению спроса на торговлю данными инструментами на 5%, что приведет к дополнительным доходам в размере от $2 до 7 млрд в год для профессиональных трейдеров.


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


Банковские услуги: индустрия банковских инструментов и кредитования (корпоративного, потребительского, ипотечного и др.) сможет получить огромную выгоду при внедрении смарт-контрактов. Автоматизировав процедуры заключения банковских контрактов и исполнения транзакций по ним, а также исключив из процесса людей, которые занимаются обработкой и заполнением документов, банки смогут рассчитывать на экономию в размере от $480 до 960 за каждый кредит — это приведет к экономии от $3 до 11 млрд в год. Для потребителей данная экономия может выразиться в снижении пунктов по процентным ставкам кредитования, а также снижении операционных издержек на банковские комиссии и транзакции. 


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




Недостатки

Отсутствие среды и инфраструктуры. Как мы уже говорили в первой статье, технология блокчейн напоминает нам интернет 90-х годов, когда на всю сеть едва ли было 20-30 достойных программ и сервисов. Вследствие этого многие возможности еще не реализованы. В случае со смарт-контрактами, например, нет программ-оракулов, которые могли бы обеспечить привязку цифрового мира к реальному и предоставить смарт-контрактам все необходимые входные данные для исполнения их бизнес-логики. Это создает определенные препятствия для интеграции смарт-контрактов в повседневную жизнь организаций. Большинство контрактов так или иначе имеют отношение к внешнему миру – отгрузки, таможня, логистика и прочее. Для всех этих данных требуется прочная сеть оракулов, которые будут предоставлять их безопасным и надежным способом.


Решение. Ускоренное развитие технологий и участие в их разработке таких гигантов как Linux, IBM, Intel, Microsoft и многих других, позволяет нам с разумной уверенностью говорить о том, что решение данного недостатка — это всего лишь вопрос пары лет.


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


Решение:




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


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


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


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


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

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


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


источник: geektimes.ru

Report Page