Дорожная карта Ethereum впечатляет. Главным образом планы компании на будущее касаются Ethereum 2.0.
Ethereum 2.0 сочетает в себе следующие проекты:
- Proof-of-stake (Beacon Chain, Casper FFG)
- Шардинг
- eWASM
С запуском Ethereum 2.0 сможет осуществлять огромный поток транзакций, при этом не нарушая баланс между децентрализацией и безопасностью. Если Ethereum выполнят свои планы, у них есть все шансы стать:
- Ключевым звеном в мировой финансовой инфраструктуре
- Платформой для новых экономических систем
- Отправной точкой для глобального сотрудничества
Ethereum 2.0 разрабатывается не какой-то конкретной организацией, он децентрализован на нескольких уровнях.
Лучше всего суть сформулировал сам Виталик Бутерин:
«Блокчейны децентрализованы политически (никто их не контролирует) и архитектурно (в инфраструктуре нет единой точки отказа), однако логически они централизованы (это одна общепринятая структура, которая ведет себя, как один большой компьютер)».
Вдобавок, Ethereum децентрализован в плане операций (ни одна организация не отвечает за продолжение работы блокчейна).
Так как происходит разработка Ethereum 2.0, если нет контроля?
Пожалуй, это один из многих поразительных аспектов Ethereum. Остается надеяться, что его органичность пойдет на пользу человеческой организации в целом.
Протокол Ethereum объясняет взаимодействия, необходимые для создания блокчейна Ethereum. Это огромный проект с открытым исходным кодом. Многочисленное сообщество исследователей и исполнителей предлагают идеи, обсуждают, изменяют и совершенствуют протокол Ethereum. Естественно, в этой работе большую роль играет Ethereum Foundation с его талантливыми исследователями и разработчиками, однако все решения принимаются согласованным мнением сообщества.
Софт, используемый для запуска Ethereum называется клиентом или нодой. Клиентская реализация на Ethereum может быть написана абсолютно разными группами разработчиков с открытым кодом.
Помимо клиентской реализации, существует целая экосистема проектов с открытым кодом, работающих над теми или иными аспектами Ethereum. В их числе:
- Языки смарт-контрактов (Solidity, Vyper)
- RPC библиотеки (web3js, ethers, Nethereum)
- Инструменты разработки (truffle, ganache, solc, solium)
Впрочем, давайте ближе к делу.
Исследование
Для того, чтобы Ethereum 2.0 заработал, нужно провести еще массу исследований по многим направлениям. Эти направления публично документированы на посвященном этому сайте Ethereum Research. Каждый исследователь и разработчик получает возможность предлагать свои решения и вносить свою долю критики.
В темы исследований входят:
- Агрегация подписей
- Случайная генерация чисел
- Выбор форка
- Доступность данных
- Клиентская поддержка
- P2P-коммуникация
- Кросс-шардинговая коммуникация / разделение исполнения
Многие темы уже находятся на стадии внедрения, однако столько же тем еще требует серьезного исследования и работы.
Осуществление и внедрение
На определенном этапе исследования темы преобразуются в технические задания, с помощью которых команды разработчиков работают над созданием Ethereum 2.0.
Чтобы помочь в этой инициативе, Ethereum Foundation разрабатывают справочный клиент, используя Python. Также Ethereum Foundation всячески поддерживают инициативу и еженедельно проводит онлайн-трансляции, отвечая на вопросы, отмечая прогресс и достигая компромиссов в совместных решениях.
Beacon Chain / Шард-клиенты
Следующие команды либо изучают, либо разрабатывают beacon-чейн или шард-клиент:
- Prysm – разработка Prysmatic Labs, написана на языке Go. Каждую неделю у них выходят отчеты о проделанной работе
- Lighthouse – разработка Sigma Prime, язык Rust
- Nimbus – разработка Status, язык Nim
- Lodestar – разработка Chain Safe Systems на JavaScript
- Harmony – разработка Ether Camp, язык Java
- Pantheon – разработан PegaSys, группой по разработке протоколов ConsenSys, написан на языке Java. Команда фокусируется на ключевых проблемах Ethereum, включая масштабируемость и конфиденциальность как для приватных, так и для публичных чейнов
- Trinity – разработка команды Trinity (под управлением Пайпера Мерриама), написана на Python
Команды находятся на разных стадиях в создании Ethereum 2.0. Сейчас все команды работают над созданием Beacon клиента, который станет ключевым для Ethereum 2.0.
В данный момент некоторая работа по созданию Beacon-чейна уже выполнена, в нее входят структуры данных и состояние сети beacon-чейна, переходы от блока к блоку, осуществление форка, разделение структуры данных, P2P протоколы и тп.
Сейчас главным образом обсуждается необходимость в общем языке тестирования. Он позволит исследователям получать унифицированные результаты тестов, которые впоследствии каждая команда сможет использовать для себя, тем самым обеспечивая согласованность и сотрудничество между командами.
eWASM
Подход eWASM к Ethereum 2.0 нельзя назвать специфичным. Проект уже довольно долго находится в процессе разработки, и в данный момент команда eWASM сосредоточена на задаче совместимости с текущей EVM. Команда eWASM пока только прикидывает, как будет работать новый Ethereum 2.0, находясь на раннем этапе исследования.
Например, новая шардинг-система Ethereum 2.0 будет использовать модель отсроченного исполнения. Текущая EVM исполняет смарт-контракты незамедлительно после обработки транзакции.
В новой шардиг-системе Ethereum 2.0:
- Шарды будут отвечать только за порядок транзакций и хранение данных
- Процесс исполнения предполагает считывание транзакции, исполнение кода и сообщение о результате
Оверлей при выполнении процессов может происходить на отдельном уровне, а не внутри блокчейна.
Подводя итоги
Над Ethereum работает огромное множество талантливых людей. Впереди еще много работы, а пока исследование и разработка Beacon-чейна продолжается. Приносим свои извинения, если какие-то термины в статье были употреблены не совсем правильно. Статья достаточно сложная не только в переводе, но и прочтении.
Дисклеймер: не рассматривайте эту статью как рекомендацию по инвестиции. Проведите тщательный анализ, прежде чем инвестировать в какую-либо криптовалюту.