“Metropolis”: планы для следующего обновления Эфириума

Быстрее. Легче. Безопаснее

Здесь представлены лишь некоторые из преимуществ, которые Metropolis — следующее обновление блокчейна Ethereum, обещает представить к своему появлению. Долгое время являясь предметом любопытства и дебатов, Metropolis, третий из четырех этапов плана развиия Ethereum, впервые представленного в 2015 году, внесёт наиболее важные изменения в платформе криптовалюты.

Существует определенный риск в выпуске обновления

“Ethereum небезопасный и изменяющийся. Это незрелая экспериментальная технология,” — разработчик протокола Ethereum подчеркнул в своём твиттере в начале этого года. Если и есть обновление, которое перечеркнёт данный факт, им может быть Metropolis.

Поскольку существенные изменения платформы ставят реальные деньги под угрозу, разработчики Ethereum склонны тратить свое время, отвечая на жалобы пользователей и предпринимателей, которые, похоже, хотят, чтобы технология сделала свой следующий большой шаг вперед.

Хадсон Джеймсон, неофициальный менеджер по выпуску Metropolis, подчеркнул, что разработчики “всегда ошибаются из-за чрезмерной осторожности”, — нерешительность, которая хотя и рекомендуется, привела к ряду задержек. (даже в недавнем треде на r/ethereum зашли так далеко, что вопрос о дате обещанного дедлайна вызвал множество противоречий).

Сроки в сторону, грядут большие изменения!

Metropolis, когда-то задуманный как этап, на котором наконец-то появилась удобная версия технологии, увидел сдвиги, которые могли бы существенно изменить окончательный выпуск кода. Пока кто-то задумался об “абстрактном” — Виталик Бутерин назвал концепцию 2015 года “возможно, всей его сутью” — то, что может окончательно опубликоваться, является более консервативной версией кода.

Таким образом, обновление разделилось на два этапа — и Constantinople. И хотя оба этапа ещё в развитии, у нас складывается представление о том, как они могут повлиять на систему.

Byzantium

Сегодняшняя версия Byzantium включает в себя девять протоколов по улучшению Ethereum`а (так называемые EIP), каждый из которых представляет отдельный патч для кода системы. В число изменений входит устранение проблемы настройки сложности, операции “returndata”, “static call”, новые прекомпиляции, функция задержки сложности и добавление возвращаемых данных в подтверждения транзакций.

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

Смарт-контракты

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

Повысится и степень безопасности контрактов, которые отныне будут защищены от атак повторного входа (когда в контракт внедряется сторонний код с целью манипуляций).

Добавление возвращаемых данных в подтверждение транзакции позволит лайт-клиентам определять успешность транзакции без необходимости проверки виртуальной машиной. Это также повлияет на инструменты, не входящие в парадигму блокчейна.

Ещё одно изменение отсрочит бомбу сложности (difficulty bomb), детонирующую в сети, тем самым обеспечив адекватное время подтверждения транзакций. (Время транзакций сейчас примерно 25 секунд). Это обновление также уменьшит вознаграждения, которые получают майнеры, что поможет ускорить и удешевить процесс майнинга.

Ещё одно исправление исключит предыдущую ошибку в настройке сложности, что гарантирует стабильность времени блока Ethereum.

Новые прекомпиляции, реализованные Byzantium, позволят включить в Ethereum zn- — криптографическую процедуру, которая, наконец, позволит сети Ethereumсовершать приватные транзакции. Это создается в сотрудничестве с z-cash, анонимной криптовалютой, которая является первым широко распространенным применением технологии.

Constantinople

Чего же не хватает? К сожалению, дата выхода Constantinople, второго хардфорка Metropolis`а, не объявлена. Это связано с тем, что некоторые изменения, как было установлено, угрожают целостности кода Ethereum, открывая двери ряду потенциальных эксплойтов.

Один из планируемых EIP упрощает процесс оценивания транзакций. В настоящее время оценка контрактов запрашивает как текущее состояние блокчейна, так и хеши последних 256 блоков. Для лайт-клиентов эта сложная обработка информации должна быть существенно уменьшена — и EIP 96 делает это изящнейшим способом.

Тем не менее, главной сложностью, по-видимому, считается EIP 86, планируемый центр проекта и самый сложный из всех EIP.

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

Но проблема с EIP 86 настолько существенна, что потребуется много времени и усилий для правильного решения.

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

Однако возможно, что за время, необходимое для завершения кода, появятся новые проблемы и потенциальные улучшения.