«Убийца Эфириума - это сам Эфириум; китайский Эфириум, это тоже Эфириум, ну а тайваньский Эфириум – это Эфириум… 2.0». Этими словами Виталик Бутерин открыл свое выступление на конференции BeyondBlock в Тайбэе. Его тема – план по увеличению производительности сети до масштабов Visa и Mastercard в течение следующих 3 – 5 лет.

По его словам, перед Эфириумом стоят три главные задачи: приватность, надежность и масштабируемость.

Хардфорк Byzantium, эмблема которого красовалась на футболке Бутерина, решил проблему приватности на три четверти. Конечно, ни доказательства с нулевым разглашением, ни алгоритмы кольцевых подписей не решают проблему приватности сами по себе, однако они дают разработчикам все необходимые инструменты для построения таких решений. Последние же 25% проблемы касаются утечки приватности на уровне протокола: даже если пользователь проводит транзакции через соответствующий миксер, все равно газ-комиссии остаются видимыми в блокчейне. Бутерин говорит, что эта проблема будет решена в сайдчейнах – надстройках над основным блокчейном. Приватность в этом контексте означает возможность скрыть транзакцию, или открыть ее ограниченному кругу участников.

Решения главных задач Эфириума выглядят следующим образом:

  • Приватность: хардфорк Byzantium 16/10/2017.

  • Безопасность/надежность консенсуса: Casper.

  • Безопасность/надежность смарт-контрактов: Формальная верификация, Viper (новый функциональный язык программирования смарт-контрактов).

  • Масштабируемость: ?????????????????

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

Одновременное решение трилеммы «децентрализация, безопасность и масштабируемость» – вот настоящая сверхзадача. Обеспечить решение двух частей из трех не составляет труда. Бутерин привел несколько примеров, демонстрирующих это утверждение:

  • Жертвуем масштабируемостью: Существующие блокчейны.

  • Жертвуем безопасностью: множество взаимодействующих блокчейнов.

  • Жертвуем децентрализованностью: Супер-большие блоки, мастерноды, частные блокчейны.

Пример: Биткойн и Эфириум, в их нынешней реализации, приносят в жертву масштабируемость, в то время как большие (>10Гб) блоки заставят отказаться от децентрализации. Plasma, Raiden или Lightning относятся ко второму пункту.

Цель Эфириума – решить всю трилемму одновременно; тысячи и сотни тысяч транзакций в секунду ончейн, не пользуясь мастернодами. Это шардинг, новую концепцию которого Бутерин представил впервые. Следует отметить, что она существенно отличается от версии, изложенной в «лиловой книге» 2016 года.

шардинг

Кратко можно охарактеризовать шардинг так... вернее, его простую версию: создаем блокчейн, состоящий, скажем, из сотни вселенных, каждая из которых представляет собой отдельное пространство адресов […] Вы можете создать адрес или контракт в какой-то из этих вселенных, и это будет влиять только на события в этой вселенной. Различные вселенные могут быть объединены протоколами передачи данных или ресурсов, однако эти протоколы будут ограничены, возможно асинхронными (задержки передачи данных), и в общем случае не такими «чистыми» и удобными, по сравнению с деятельностью внутри одной вселенной. Однако, несмотря на ограничения, это не изолированные вселенные, они взаимодействуют. В частности, они объединены общим консенсусом, и для того, чтобы взломать одну из них, придется взломать все.

В дальнейшем, коммуникации между вселенными станут размываться, и границы между ними сотрутся.

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

Бутерин кратко обрисовал ближайший этап перехода к шардингу. На существующем блокчейне разворачивается контракт «Менеджер валидаторов», управляемый внутренним PoS. Этот контракт контролирует набор шардов – те самые 100 вселенных. Менеджер валидаторов случайным образом присваивает своим валидаторам право создания блока в каждом шарде. Эти блоки, и содержащиеся в них транзакции, не передаются в основной блокчейн, а остаются в шарде. Вообще говоря, шард воспроизводит на своем уровне всю структуру блокчейна; заголовки блоков группируются в структуры («обобщения» – collation). Менеджер валидаторов передает в основной блокчейн только обобщения, оставляя себе копии, и хранит состояние шарда.

Другими словами, получается разделение труда, в котором менеджер валидаторов выступает в качестве легкого клиента для каждого шарда.

формы консенсуса

По словам Бутерина, получаются два мира. Старый мир (основной блокчейн) продолжает существовать на «малой скорости», ограниченной производительностью самого медленного клиента в сети.

Новый мир обладает квадратичной масштабируемостью, так как ноды подтверждают отдельные шарды и служат легкими клиентами для других шардов. Кроме того, поскольку новый мир управляется чистым PoS, апгрейды шардов могут производиться не с помощью хардфорков, а ETH голосованием с помощью менеджера валидаторов. Другими словами, получается двухскоростной Эфириум, в котором «скоростное шоссе» шардов работает с собственным адресным пространством, не затрагивающим основную сеть.

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

Новая дорожная карта Эфириума

Новая дорожная карта Эфириума выглядит следующим образом:

  1. Имплементация шардинга в виде «второго слоя» посредством контракта менеджера валидаторов.

  2. Двусторонние коммуникации.

  3. Интеграция обобщений шарда в основную цепь.

  4. Слияние слоев.

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

Можно выделить базовые принципы, на которых построена новая дорожная карта:

  1. Разделение текущих разработок на два слоя:
    Слой 1: безопасный и консервативный;
    Слой 2: ускоренные разработки.

  2. Новые разработки запускются в ускоренном темпе, а затем ведутся работы по повышению их безопасности.

  3. Шардинг обеспечивает квадратичную масштабируемость

  4. Код уже существует

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

Тем временем, реализация гибридного протокола PoS/PoW (Casper FFG) произойдет в рамках второй части релиза Metropolis – Constantinople, уже в 2018 году. По оптимистичным оценкам, это произойдет в середине года.

Общие впечатления от презентации

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

Несомненно, такой подход является вынужденным. В настоящее время Эфириум обрабатывает больше транзакций, чем любой другой публичный блокчейн. В течение прошлого года спрос на транзакции вырос в 10 раз, в то время как производительность сети увеличилась только в 4 раза. Время становится дефицитом, и на первый план снова выходит мантра Кремниевой Долины: двигаться быстро и разрушать границы.