На прошлой неделе Виталик Бутерин опубликовал свое видение дорожной карты Эфириума на следующие 5-10 лет. Ключевой проблемой новой версии блокчейна, по мнению Бутерина, останется масштабирование. Исследовательская группа ETH 2.0 сейчас опирается на новую концепцию - «полиномиальные обязательства», способную уменьшить объем данных, используемых для расчетов в сети, как отметил в своем блоге координатор развертывания ETH 2.0 Дэнни Райан (Danny Ryan).
Названные Бутериным «волшебной математикой», полиномиальные обязательства рассматриваются как способ проверки состояния сети при низких вычислительных затратах – это одна из ключевых целей, которую разработчики хотят достигнуть в следующей версии блокчейна. Однако, исходя из дорожной карты Бутерина, полиномиальные обязательства не будут внедрены раньше третьей фазы многолетнего развертывания Эфириума 2.0.
«Полиномиальные обязательства могут стать основным прорывом, которого мы все ждали», - сказал Райан.
По его мнению, особенно полезными они могут стать в области хранения учетных данных в следующей версии Ethereum.
Волшебная математика
Полиномиальные обязательства похожи на полиномы или многочлены от переменных: математическое выражение с переменными и коэффициентами (то есть Y = 2X). Бутерин описывает полиномиальные обязательства как «своего рода «хэш» некоторого полинома P(x) со свойством, которое позволяет выполнять арифметические проверки хэшей».
Между тем в первоначальной статье о полиномиальных обязательствах математическая схема описывается как «шесть алгоритмов», которые показывают доказательство события, происходящего с как можно меньшим количеством вычислительных данных.
«Мы предлагаем заменить деревья Меркла волшебной математикой, называемой «полиномиальными обязательствами», для получения состояния блокчейна», - написал Бутерин в блоге Ethereum Foundation. «Преимущества этого метода включают сокращение размера не фиксирующих состояние свидетелей клиента (исключая код контракта и данные о состоянии) почти до нуля».
Более подробно о концепции полиномиальных обязательств рассказывает исследователь Эфириума 2.0 Джастин Дрейк (Justin Drake) в видео на YouTube.
Состояние блокчейна
Блокчейны записывают как входы, так и выходы, создаваемые пользователями при совершении транзакций. В целом, учетные системы блокчейнов бывают двух видов: модель неизрасходованных выходов (UTXO) и модель на основе учетных записей. Биткоин использует первую модель, а Эфириум - вторую.
Когда пользователь хочет потратить BTC в модели UTXO, его транзакция тянет за собой всю историю этих монет, которая затем проверяется каждым пиром в сети. Модель учетной записи, с другой стороны, записывает только транзакцию между двумя одноранговыми узлами, в то же время направляя запросы о действительности транзакции в виртуальную машину Эфириума (EVM) вместе с подтверждением транзакции. EVM выполняет изменения состояния от имени пользователей.
Каждый блок в Эфириуме содержит доказательство - дерево Меркла. Это доказательство содержит данные описанного выше состояния и необходимо EVM для выполнения транзакции. Именно эта последняя часть была проблемой для Эфириума, так как деревья Меркла эффективны в отношении данных, но этого недостаточно для амбиций ETH 2.0.
Текущая настройка дерева Меркла занимает около 0.5 МБ на транзакцию. По оценкам Райана, схемы полиномиальных обязательств позволят сократить вес доказательств состояния до 0.001 – 0.01 МБ. Для сети, в которой последнее время происходит около 700 000 транзакций в день, экономия с точки зрения вычисления данных весьма существенна.
Идея не фиксирующего состояния клиента (stateless client) разрабатывалась с октября 2017 года с целью уменьшить объем данных, используемых для большого обновления Ethereum. Множество проектов за пределами Эфириума также по-своему опираются на полиномиальные обязательства, в том числе доказательство с нулевым разглашением Zcash - Halo.
Бутерин сказал, что его концепция внедрения полиномиальных обязательств – лишь одна из многих. Более того, она все еще находится на стадии исследования.
«Хотя это невероятно многообещающая идея, некоторые из этих исследований затрагивают совершенно новую область. Нам нужно больше времени уделять лучшему пониманию сложностей и компромиссов, а также изучению этой новой и захватывающей техники», - заключил Райан.
Разработка Ethereum 2.0 – одна из главных тем сообщества Эфириума. Недавно команда разработчиков Ethereum 2.0 провела сессию ответов на вопросы на форуме Reddit. Разработчики рассказали о работе над обновлением Serenity и алгоритмом доказательства доли (PoS). Напомним также, что в январе один из наиболее важных смарт-контрактов для сети Эфириума 2.0 успешно прошел проверку. Депозитный контракт позволяет валидаторам присоединяться к сигнальной цепи (Beacon Chain) путем отправки ETH на контракт.