«Убийца Эфириума - это сам Эфириум; китайский Эфириум, это тоже Эфириум, ну а тайваньский Эфириум – это Эфириум… 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: ускоренные разработки. -
Новые разработки запускются в ускоренном темпе, а затем ведутся работы по повышению их безопасности.
-
Шардинг обеспечивает квадратичную масштабируемость
Бутерин считает, что срок реализации всех этапов составит от трех до пяти лет, однако уже сейчас можно сказать, что общая архитектура достигла стабильного уровня и больше меняться не будет, так что первые прототипы появятся в уже следующем году, а полная альфа-версия – в 2019.
Тем временем, реализация гибридного протокола PoS/PoW (Casper FFG) произойдет в рамках второй части релиза Metropolis – Constantinople, уже в 2018 году. По оптимистичным оценкам, это произойдет в середине года.
Общие впечатления от презентации
Виталик Бутерин ясно дал понять, что новая концепция отдает приоритет ускорению разработок, пусть даже в ущерб стремлению к совершенству, а доработки будут производиться уже в рабочем режиме.
Несомненно, такой подход является вынужденным. В настоящее время Эфириум обрабатывает больше транзакций, чем любой другой публичный блокчейн. В течение прошлого года спрос на транзакции вырос в 10 раз, в то время как производительность сети увеличилась только в 4 раза. Время становится дефицитом, и на первый план снова выходит мантра Кремниевой Долины: двигаться быстро и разрушать границы.