«Быстрее, проще, безопаснее» — лишь несколько пунктов из длинного списка улучшений, которые пользователи с нетерпением ждут от следующего крупного апгрейда блокчейна Ethereum: Metropolis. Впервые «дорожная карта» обновлений была опубликована в 2015 году — и с тех пор не только стала предметом пристального внимания со стороны трейдеров по всему миру, но и претерпела значительные изменения.

Одно из самых заметных — апгрейд было решено разбить на два этапа, получивших названия Byzantium и Constantinople. И хотя оба до сих пор находятся в стадии активной разработки, улучшения, которые в них заложены, уже начали обретать чёткие формы.

Byzantium

Как стало известно, «Византия» будет состоять из девяти «протоколов улучшения Ethereum» (EIP) — отдельных патчей для сетевого кода. К ним относятся такие нововведения, как решение проблемы корректировок сложности, операции returndata и статического вызова, новые прекомпиляторы, функция задержки сложности и добавление данных о статусе транзакций в квитанции.

Все они призваны увеличить эффективность сети и свести к минимуму количество эксплойтов. Большинство изменений будет неочевидно для простых пользователей, однако некоторые из них весьма значительные.

Например, в системе появятся контрмеры для дефективного кода внутри смарт-контрактов, так что платежи просто не пройдут, если программисты допустили ошибку. Кроме того, эти изменения окажут влияние и на жизненный цикл контракта, поскольку обновления можно будет добавить в исходный код заранее. Также появится защита от так называемых «атак повторного входа», когда в контракт внедряется ненадёжный протокол и перехватывает контроль.

Другое улучшение замедлит «взрыв сложности», который сейчас гремит по всей сети, что позволит сохранить скорость обработки транзакций в разумных пределах — сейчас на один перевод уходит порядка 25 секунд, но даже это долго по 10-секундным стандартам Ethereum.

С приходом Byzantium уменьшится вознаграждение для майнеров, что говорит об ускорении и удешевлении процесса. Вдобавок будет исправлена ошибка в настройках сложности — это позволит гарантировать стабильность блоков.

Наконец, с обновлением начнётся внедрение так называемых Zk-snarks — криптографических операций, которые позволят проводить в сети действительно частные транзакции. Это стало итогом сотрудничества с криптовалютой Z-cash, специализирующейся на конфиденциальности.

Constantinople

К сожалению, разработчики пока не опубликовали даже примерных сроков выхода Constantinople — второго хардфорка Ethereum. Это связано с тем, что некоторые редакции вскрыли целый ряд проблем и эксплойтов, зарытых глубоко внутри «эфириумного» кода.

Известно, что один из запланированных EIP упростит проверку транзакций. Сейчас для подтверждения перевода необходимы не только данные о текущем состоянии блокчейна, но и хеши 256 предыдущих блоков — весьма большой объём информации по меркам лёгких программ-клиентов.

Впрочем, наибольшую сложность представляет EIP 86 — один из главных и самых интересных (и сложных) протоколов в обновлении. С его помощью разработчики хотят придать аккаунтам значительно больше гибкости и абстрактности, что позволит внедрять и развивать новый функционал. Пользователи сами смогут определять модель безопасности, добавляя в платежи собственные криптографические спецификации.

К сожалению, на сегодня EIP 86 таит в себе столько сложностей и проблем, что на его тестирование и внедрение потребуется очень много времени и сил. Например, выяснилось, что протокол изменяет некоторые инварианты, распахивая двери для бесконечных циклов. Ещё в июне был обнаружен эксплойт, который позволяет майнерам-злоумышленникам захватывать чужие кошельки посредством реорганизации блокчейна или многократно повторять одну и ту же транзакцию.

Напомним, тестирование Metropolis началось в конце августа и займёт от трёх до четырёх недель.