Libra: шаг в будущее или возвращение в прошлое?

Делитесь и голосуйте:

Содержание статьи:

  1. Технический обзор
  2. Консенсус, децентрализация и семантика
  3. Макроэкономические, социальные и геополитические эффекты

Не так давно Facebook снял завесу тайны со своей новой валюты Libra. В рамках своей презентации они опубликовали документы – официальный и три технических – о блокчейне Libra, языке Move и LibraBFT. Несмотря на вызванный этим шторм в Твиттере и троллинг на Github, я дал себе труд немного подождать, чтобы лучше оценить ситуацию прежде, чем сесть за клавиатуру.

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

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

Именно эта часть вызывает у меня наибольшее разочарование в отношении Libra. Увы, в Libra нет ничего особенного, а в некоторых вещах я бы даже воспринял её технические решения как регресс. Давайте начнем обзор Libra с той её части, которая наиболее напоминает Эфириум – её структуры TX:

Документ Move VM

Перевод документа: “3.2 Транзакционная структура. Транзакция – это подписанное сообщение, содержащее следующие данные:

 

  • Адрес отправителя: адрес учётной записи отправителя транзакции. Виртуальная машина считывает последовательность номера, ключа аутентификации и баланса хранящихся на учётной записи Libra.

    Т ресурсов.

  • Открытый ключ отправителя: открытый ключ, соответствующий закрытому ключу, используемому для подписи торговой операции. Хеш этого открытого ключа должен совпадать с ключом проверки подлинности, хранящимся на учётной записи Libra.

    Т отправителя.

  • Программа: сценарий транзакции перемещения байт-кода для выполнения, дополнительный список входов в сценарий и необязательный список модулей байт-кода для публикации.
  • Цена на газ: количество монет Libra, которые отправитель готов заплатить за единицу газа за выполнение транзакции.
  • Максимальное количество газа: максимальное количество единиц газа, которое транзакция может использовать до того, как она будет остановлена.
  • Порядковый номер: целое число без знака, которое должно быть равно порядковому номеру учётной записи Libra.

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

Первое, что бросается в глаза, это то, что, подобно Эфириуму и в отличие от Биткойна, основу Libra составляют учётные записи, а не UTXO (выход неизрасходованных транзакций). Мы можем видеть порядковый номер (известный в Эфириуме как “nonce”), подсчитывающий транзакции на каждой учётной записи, чтобы предотвратить дублирование транзакций. Следующий момент, совпадающий с Эфириумом – это цена газа и максимальное число единиц газа – Libra даже заимствует сам термин “газ” у Эфириума.

Во-вторых, стоит отметить, что требуется указывать и адрес, и открытый ключ, с которого отправляются TX. Это делается, чтобы распространить различные схемы подписей, как это уже происходит в Эфириуме – этот механизм реализован у них достаточно хорошо. Тем не менее, на практике, Libra требует подписи только одной схемы – ECDSA, которая давно не является инновацией. Увидеть что-то вроде подписей Шнорра было бы более актуально и по-новаторски, и оставляло бы гораздо лучшее впечатление.

Первое интересное отличие Libra от Эфириума заключается в том, что у первой отсутствует поле значения, а именно, понятие нативного токена системы в виртуальной машине Libra (она называется Move), где токен Libra реализован так же, как и любой другой токен поверх виртуальной машины Move (MVM). Я лично считаю этот ход сугубо позитивным явлением. Большинство разработчиков Эфириума признают, что одновременная поддержка эфира и ERC20 – весьма странное мероприятие.

Однако в программном поле обнаруживается более важное отличие от Эфириума. Здесь мы обнаруживаем, что MVM действует совершенно иначе, нежели EVM (виртуальная машина Эфириума). Чтобы отличить их друг от друга, важно посмотреть на утверждение в отношении MVM:

Документ Move VM

В Эфириуме, когда вы публикуете контракт, он получает свой собственный адрес, который действует как отдельный “объект” со своим собственным хранилищем, и т.д. Он также может обращаться к другим контрактам, и это обращение будет неотличимо от любого другого (здесь есть небольшая тонкость, касающаяся tx.origin, в которую я не буду вдаваться).

Тем не менее, в MVM код хранится в виде модулей. Когда модуль публикуется, он сохраняется на адресе, который его создал. Модули могут создавать ресурсы, сохраняемые под учётными записями, с которыми они связаны (см. рисунок).

Поле программы в транзакции похоже на основной программный метод. Оно содержит код, который также может вызывать различные модули. Обратите внимание, что это ощутимо отличается от Эфириума, так как даже если модуль использует другой модуль, вызывающая сторона всегда является исходной учётной записью. Это совсем другой тип “смарт-контрактов”, чем в Эфириуме.

Одной из иллюстраций этой разницы можно считать отсутствие библиотек в Эфириуме. Весь код, опубликованный в Эфириуме – это код смарт-контрактов, наделяемый своей собственной сущностью. Для подобных целей люди придумали такие вещи, как прокси и логические контракты, которые позволяют перерабатывать код. Но в Эфириуме это реализовано очень неестественно, что привело к таким вещам, как, например, взлом Parity. Libra придерживается прямо противоположного подхода: здесь контракты не наделяются свойствами суверенных субъектов, но имеются модули, которые могут быть использованы (со схожими целями).

Для меня это серьёзный шаг в неверном направлении. Я чувствую, что контракты как субъекты открывают огромный спектр возможностей, наиболее очевидными и перспективными из которых безусловно являются DAO структуры. Я не уверен, что понимаю, из каких соображений был выбран именно такой подход. Главным аргументом Libra стала небезопасность смарт-контрактов, что, безусловно, является вопросом чрезвычайной важности. Однако, на мой взгляд, эти типы проблем могут быть решены на более высоких уровнях, таких как компиляторы, без влияния на архитектуру системы.

Последний технический комментарий касается конфиденциальных транзакций. Если и была у Libra возможность произвести что-то реально революционное, привнести в свой продукт ряд существенных технологических инноваций, позволяющих производить конфиденциальные транзакции, подобно Monero, ZCash и т.п. – то эта возможность Libra была полностью проигнорирована, и это по-настоящему обидно.

Механизм консенсуса у Libra основан на давней академической традиции протоколов BFT. Эти протоколы используются для достижения консенсуса между набором известных валидаторов. Такое решение явно не децентрализовано, в прямом соответствии с техническим документом Libra.

Проект Libra утверждает, что в будущем они намерены перейти к модели proof-of-stake, при которой валидаторы могут быть панелизированы, а также изменены. Мне очень трудно в это поверить по двум причинам: во-первых, чем крупнее актив, тем труднее централизованным субъектам отказаться от его контроля, как из-за желания сохранить свою власть, так и из-за требований регулирующих органов. Поэтому, если они не решают децентрализовать контроль над механизмом консенсуса в тот период, когда использование актива ещё очень мало, трудно поверить, что они сделают это в будущем.

Во-вторых, Libra строит модель, при которой токен поддерживается индексом активов. Это само по себе делает его централизованной системой. Трудно себе представить, как можно объединить безошибочное доказательство модели proof-of-stake с привязанным токеном такого рода, который ассоциация Libra должна будет эмитировать и сжигать.

Ещё одним вопросом, подлежащим обсуждению, я считаю семантику. Ассоциация Libra называет свою систему блокчейном. Хотя этот термин может быть верным с технической точки зрения, я бы всё же счёл его вводящим нас в глубокое заблуждение. Надо разделять блокчейн с разрешения (такой как Libra) и блокчейн не требующий разрешений (такой как, например, Биткойн, Эфириум и т.д.), в котором каждый может принимать участие в процессе консенсуса. Здесь нет истинного или ложного, так как это чистая семантика, но я считаю, что блокчейн – это концепция, которая была разработана с тем, чтобы прийти к консенсусу без необходимости в разрешениях. Разрешённые системы были известны и возможны до выхода в свет статьи, написанной Сатоши, и поэтому я думаю, что (в случае Libra) использование термина блокчейн – это лишь попытка пропиариться на криптошумихе.

Пожалуй, самое интересное в Libra, это социальные последствия, которые несёт с собой новая криптовалюта. И хотя я довольно критически настроен в отношении её технических особенностей, думаю, всё же запуск Libra – это огромный шаг в правильном направлении. За последнее столетие деньги успели полностью трансформироваться в систему фиата, монополизированную государствами. Я считаю, что частные компании, такие как Facebook, выпускающие свои собственные токены и конкурирующие с фиатными валютами на свободном рынке, где участники имеют возможность выбирать, что им лучше использовать – принесут безусловную пользу пользователям цифровых валют по всему миру.

Я также хотел бы указать на выбор Libra в отношении того, чтобы не привязывать свой токен к доллару США. Это может показаться мелочью, но на самом деле это серьёзное решение, которое, вероятно, долго и много обсуждалось. Выбрав этот путь – и даже во всеуслышанье объявив о нём в заявлении, что целью решения является поддержание стабильной стоимости токенов – Libra (и Facebook) вступили в прямое столкновение с центральными банками, и, прежде всего, с Федеральной резервной системой США. Военные не замедлили сделать стойку: министр финансов Франции, Конгресс США и даже сам Дональд Трамп встали в оппозицию к этому шагу со стороны Facebook.

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

Нельзя недооценивать этот сдвиг в расстановке сил. Хотя Libra не децентрализована, она является открытой системой. А именно, она не опирается на государственную систему идентичности. Любой человек может получить учётную запись Libra, просто создав пару закрытого и открытого ключей. Это может подарить эквивалент банковского обслуживания двум миллиардам людей, лишенным возможности пользоваться банковскими услугами.

И последнее, о чём хотелось бы сказать – это о том, как вся эта история повлияет на судьбу не требующих разрешения бухгалтерских книг. Я вижу два сценария: в одном регуляторы в некоей эпической битве будут сражаться с Libra и одержат победу. Facebook откажется от своего проекта и закроет его. В этом случае системы, не требующие разрешения, получат большой толчок к развитию, поскольку они, будучи децентрализованными, окажутся единственной реальной альтернативой, которая будет способна помочь избежать давления регуляторов. Во втором сценарии Libra преуспеет на свободном рынке, где частные токены будут конкурировать с фиатными валютами. В этом случае каждому пользователю придётся выбирать между такими функциями, как привязка к фиату, децентрализация, конфиденциальность и т.д. Хотя это может занять больше времени, чем мне того хотелось бы, я по-прежнему оптимистично настроен в отношении того, что в долгосрочной перспективе децентрализация рано или поздно проявит себя как наиболее ценимое из всех свойств криптовалюты.

Источник

 

Государство и общество

Ждем новостей

Нет новых страниц

Следующая новость