У сообщества эфириума теперь есть дорожная карта, хотя и довольно запутанная. В прошлую среду Виталик Бутерин представил план развития эфириума 2.0 на следующие пять-десять лет, выделяя при этом ключевую особенность следующей версии блокчейна: масштабируемость.
В комментарии для Coindesk разработчик эфириума 2.0 Дэнни Райан сказал, что сейчас особый интерес представляет новая концепция под названием «полиномиальные обязательства». Бутерин называет это «волшебной математикой» и рассматривает полиномиальные обязательства в качестве нового способа проверки состояния сети при низких вычислительных затратах (а это является ключевой целью эфириума 2.0).
«Полиномиальные обязательства могут стать тем самым прорывом, который мы искали», ― отметил Райан.
Концепция полиномиальных обязательств связана с многочленами (или полиномам), которые все мы изучали в школе. Но, опять же, это «волшебная математика», так что не все так просто.
Бутерин описывает полиномиальные обязательства как «своего рода “хэш” некоторого полинома P(x) со свойством, по которому вы можете выполнять арифметическую проверку хешей». Математическая схема состоит из шести алгоритмов, которые показывают доказательство события с минимальным количеством данных.
«Мы предлагаем заменить дерево Меркла волшебной математикой, называемой «полиномиальными обязательствами», чтобы хранить состояние блокчейна», ― написал Бутерин в блоге Ethereum Foundation, отметив в качестве преимущества значительное сокращение данных клиента.
В целом, системы хранения данных в блокчейне бывают двух видов: модель неизрасходованных транзакций (UTXO) и модель аккаунта. В биткоине используется первая модель, в эфириуме ― вторая.
Когда пользователь желает потратить биткоин в модели UTXO, транзакция тянет за собой всю историю этих монет, которая проверяется каждым пиром в сети. Модель аккаунта записывает только транзакцию между двумя пирами, в то же время направляя запрос о действительности транзакции в виртуальную машину эфириума (EVM) вместе с подтверждением транзакции. EVM выполняет изменение состояния от имени пользователя.
Каждый блок в эфириуме также содержит доказательство, дерево Меркла, которое связывает историю сети. Это доказательство содержит получение указанного выше состояния и необходимо EVM для выполнения транзакции.
Однако дерево Меркла стало проблемой ― оно эффективно работает в отношении данных, но недостаточно эффективно для амбиций эфириума 2.0.
Данные дерева Меркла занимают около 0,5 МБ на транзакцию. По оценкам Райана, схема полиномиального обязательства позволят сократить вес доказательства до 0,001–0,01 МБ. Для сети, которая в последнее время обрабатывает в среднем около 700 000 транзакций в день, экономия довольно существенная.
Множество проектов за пределами эфириума также по-своему используют полиномиальные обязательства, в том числе анонимная криптовалюта Zcash.
Тем не менее, эта концепция всё ещё находится на стадии исследования. «Концепция многообещающая, но совершенно новая. Нам нужно уделить больше времени для лучшего понимания потенциальных сложностей и возможных компромиссов», ― заключил Райан.