Больше денег: что такое Ethereum и как блокчейн меняет мир - Виталий Дмитриевич Бутерин
ФИНАНСОВЫЕ ДЕРИВАТИВЫ И ВАЛЮТЫ СО СТАБИЛЬНОЙ ЦЕННОСТЬЮ
Финансовые деривативы – наиболее распространенное приложение смарт-контрактов и одно из простейших с точки зрения написания кода. Трудность реализации финансовых контрактов в том, что большинство из них предполагают отсылку к курсу валюты из внешних источников. Например, было бы здорово получить смарт-контракт, хеджирующий риски волатильности эфира (или другой криптовалюты) по отношению к доллару США, но для этого контракт должен знать актуальный курс ETH/USD. Простейший способ реализовать это – через контракт на «поток информации» из конкретного источника (например, NASDAQ), разработанный таким образом, чтобы этот источник мог при необходимости обновлять контракт и предоставил бы интерфейс, позволяющий другим контрактам отправлять сообщение этому контракту и получать в ответ значение курса ETH/USD.
При таких условиях хедж-контракт мог бы выглядеть следующим образом.
1. Дождаться, пока А «вложит в контракт» 1000 единиц эфира.
2. Дождаться, пока B «вложит в контракт» 1000 единиц эфира.
3. Записать в хранилище USD на 1000 эфира по курсу, рассчитанному контрактом на поток информации. Пусть это будет $x.
4. Спустя 30 дней разрешить A или B «реактивировать» контракт, чтобы переслать стороне А эфира на $x (по новому курсу, снова рассчитанному контрактом на поток информации) и остальное – стороне B.
Контракт такого типа был бы очень полезен в криптокоммерции. При обсуждении криптовалют часто возникает проблема волатильности; хотя многим пользователям и продавцам нужны безопасность и удобство работы с цифровыми активами, их вряд ли заинтересует перспектива за один день потерять 23 % своих сбережений. До настоящего времени бороться с этой проблемой обычно предлагали обеспечением криптоактивов привычными активами. То есть пользователь создает субвалюту, единицы которой имеет право выпускать и отзывать, и обеспечивает этой валютой любого, кто обеспечит его (офлайн) соответствующим количеством общепринятого актива (золота, доллара), а также даст гарантию в случае необходимости совершить обратный обмен. Этот механизм позволяет перевести любой обычный актив в криптоактив при условии, что эмитенту можно доверять.
Однако в реальности эмитенты не всегда заслуживают доверия, а банковская инфраструктура бывает недостаточно развита или слишком враждебна, чтобы предоставлять такие сервисы. Альтернативным вариантом могут стать финансовые деривативы. Здесь вместо эмитента, предоставляющего свою валюту в обмен на актив, действует децентрализованный рынок спекулянтов, которые делают ставки на повышение цены соответствующего криптоактива (например, ETH). В отличие от эмитентов, спекулянты не могут просто отказаться возвращать актив, поскольку их средства хранятся в хедж-контракте на эскроу-счете. Отметим, что второй подход все же не полностью децентрализован, поскольку нуждается во внешнем, требующем доверия источнике для информации о курсе, хотя даже при этом условии такой подход кажется куда лучше, поскольку требует меньше инфраструктуры (в отличие от денег, эмиссия информации о курсе валюты не требует лицензий и относится скорее к реализации права свободы слова) и уменьшает возможность мошенничества.
СИСТЕМЫ ИДЕНТИФИКАЦИИ И РЕПУТАЦИИ
Самый первый альткойн – неймкойн – был попыткой использовать блокчейн вроде Bitcoin для создания системы регистрации имен, где люди могли бы регистрировать свои имена в публичной базе данных наряду с другими данными. Самый известным кейсом стала система DNS, привязывающая доменные имена вроде «bitcoin.org» (или, в случае неймкойна, «bitcoin.bit») к IP-адресу. Другие возможные применения – email-аутентификация и потенциально более продвинутые системы репутации. Вот пример простого контракта, который осуществляет подобную систему регистрации имен в Ethereum:
def register(name, value):
if!self.storage[name]:
self.storage[name] = value
Контракт крайне прост: это всего лишь информация о том, что базу данных внутри сети Ethereum можно пополнить, но нельзя ее редактировать или что-либо из нее удалять. Каждый может зарегистрировать имя, навсегда присвоив ему некоторое значение. Более сложный контракт регистрации имени будет также содержать «функцию условия», позволяющую другим контрактам обращаться к нему с запросами, а также интерфейс, позволяющий «владельцу» (то есть первому, кто зарегистрировал имя) изменять данные или передавать право на контракт другому лицу. Более того, поверх можно добавить даже функционал репутаций и web-of-trust.
ДЕЦЕНТРАЛИЗОВАННОЕ ХРАНЕНИЕ ФАЙЛОВ
В последние годы появилось немало стартапов, связанных с онлайн-хранением файлов. Самый известный – Dropbox, предлагающий пользователям загружать и хранить резервную копию своего жесткого диска на отдельном сервере, доступ к которому будет открыт за ежемесячную плату. Однако неэффективность рынка хранения данных заметна невооруженным глазом; «зловещая долина» с пространством в 20–200 гигабайт, где нет ни бесплатных аккаунтов, ни скидок для бизнеса, требует за один лишь месяц хранения файлов больше, чем стоит полноценный жесткий диск. Контракты Ethereum могут развить экосистему децентрализованного хранения файлов, позволяя всем желающим зарабатывать небольшие суммы сдачей в аренду собственных жестких дисков, и неиспользуемое дисковое пространство поможет в дальнейшем снижать стоимость хранения файлов.
В основе здесь лежит то, что мы назвали «децентрализованным Dropbox-контрактом», и работает он следующим образом. Сначала информация разбивается на блоки, для конфиденциальности каждый блок шифруется, и для каждого строится дерево Меркла.
Создается новый контракт, устанавливающий, что каждые n блоков он будет брать случайный индекс в дереве Меркла (используя хеш предыдущего блока как источник случайных чисел) и переводить х эфира первому, кто предъявит SVP-подобное доказательство владения блоком под этим индексом. Когда пользователь захочет повторно скачать свой файл, он может использовать протокол микроплатежей (выплачивая, к примеру, 1 сабо за каждые 32 килобайта); при этом плательщик сможет сэкономить на комиссии, если будет не запрашивать по первой цене весь файл, а публиковать транзакции с тем же одноразовым кодом каждые 32 килобайта, предлагая каждый раз чуть меньшую цену.
Этот протокол особенно ценен тем, что, хотя сохранность файла и кажется зависимой от большого количества случайных нод, риски можно свести практически к нулю, разделив файл на множество частей с помощью технологии разделения секрета и наблюдая за хранением этих кусочков. Если выплаты по контракту продолжаются, это криптографически доказывает, что нода продолжает хранить файл.
ДЕЦЕНТРАЛИЗОВАННЫЕ АВТОНОМНЫЕ ОРГАНИЗАЦИИ
Децентрализованная автономная организация (ДАО) – виртуальный объект, состоящий из конкретных членов или акционеров, где определенная часть членов, скажем, 67 %, могут согласовать решения о трате средств из общего фонда и модификации кода. Члены коллективно решают, как организация должна распределять свои средства. Методы распределения могут быть самые разные: от зарплат и премий до более оригинальных механизмов вроде вознаграждений во внутренней валюте.
ДАО напоминают обычные компании или некоммерческие организации, только решения здесь принимаются через криптографические