“Metropolis”: планы для следующего обновления Эфириума
Быстрее. Легче. Безопаснее.
\n\n
Здесь представлены лишь некоторые из преимуществ, которые Metropolis — следующее обновление блокчейна Ethereum, обещает представить к своему появлению. Долгое время являясь предметом любопытства и дебатов, Metropolis, третий из четырех этапов плана развития Ethereum, впервые представленного в 2015 году, внесёт наиболее важные изменения в платформе криптовалюты.
\n\n
Существует определенный риск в выпуске обновления
\n\n
“Ethereum небезопасный и изменяющийся. Это незрелая экспериментальная технология,” — разработчик протокола Ethereum подчеркнул в своём твиттере в начале этого года. Если и есть обновление, которое перечеркнёт данный факт, им может быть Metropolis.
\n\n
Поскольку существенные изменения платформы ставят реальные деньги под угрозу, разработчики Ethereum склонны тратить свое время, отвечая на жалобы пользователей и предпринимателей, которые, похоже, хотят, чтобы технология сделала свой следующий большой шаг вперед.
\n\n
Хадсон Джеймсон, неофициальный менеджер по выпуску Metropolis, подчеркнул, что разработчики “всегда ошибаются из-за чрезмерной осторожности”, — нерешительность, которая хотя и рекомендуется, привела к ряду задержек. (даже в недавнем треде на r/ethereum зашли так далеко, что вопрос о дате обещанного дедлайна вызвал множество противоречий).
\n\n
Сроки в сторону, грядут большие изменения!
\n\n
Metropolis, когда-то задуманный как этап, на котором наконец-то появилась удобная версия технологии, увидел сдвиги, которые могли бы существенно изменить окончательный выпуск кода. Пока кто-то задумался об “абстрактном” — Виталик Бутерин назвал концепцию 2015 года “возможно, всей его сутью” — то, что может окончательно опубликоваться, является более консервативной версией кода.
\n\n
Таким образом, обновление разделилось на два этапа — Byzantium и Constantinople. И хотя оба этапа ещё в развитии, у нас складывается представление о том, как они могут повлиять на систему.
\n\n
Byzantium
\n\n
Сегодняшняя версия Byzantium включает в себя девять протоколов по улучшению Ethereum`а (так называемые EIP), каждый из которых представляет отдельный патч для кода системы. В число изменений входит устранение проблемы настройки сложности, операции “returndata”, “static call”, новые прекомпиляции, функция задержки сложности и добавление возвращаемых данных в подтверждения транзакций.
\n
\nВсе эти разработки приведут к улучшению производительности сети и устранят существующие уязвимости. Большая их часть имеет значение, в основном, для разработчиков. Хотя некоторые заслуживают рассмотрения.
\n\n
Смарт-контракты
\n\n
В результате обновления Ethereum научится лучше работать с ошибками кода в смарт-контрактах. Так, платёж не будет приниматься смарт-контрактом, если в его коде будет обнаружена ошибка. Кроме того, эти изменения коснутся природы смарт-контрактов, и обновления смарт-контракта можно будет предварительно сконфигурировать в исходный код.
\n\n
Повысится и степень безопасности контрактов, которые отныне будут защищены от атак повторного входа (когда в контракт внедряется сторонний код с целью манипуляций).
\n\n
Добавление возвращаемых данных в подтверждение транзакции позволит лайт-клиентам определять успешность транзакции без необходимости проверки виртуальной машиной. Это также повлияет на инструменты, не входящие в парадигму блокчейна.
\n\n
Ещё одно изменение отсрочит бомбу сложности (difficulty bomb), детонирующую в сети, тем самым обеспечив адекватное время подтверждения транзакций. (Время транзакций сейчас примерно 25 секунд). Это обновление также уменьшит вознаграждения, которые получают майнеры, что поможет ускорить и удешевить процесс майнинга.
\n\n
Ещё одно исправление исключит предыдущую ошибку в настройке сложности, что гарантирует стабильность времени блока Ethereum.
\n\n
Новые прекомпиляции, реализованные Byzantium, позволят включить в Ethereum zn-snarks — криптографическую процедуру, которая, наконец, позволит сети Ethereum совершать приватные транзакции. Это создается в сотрудничестве с z-cash, анонимной криптовалютой, которая является первым широко распространенным применением технологии.
\n\n
Constantinople
\n\n
Чего же не хватает? К сожалению, дата выхода Constantinople, второго хардфорка Metropolis`а, не объявлена. Это связано с тем, что некоторые изменения, как было установлено, угрожают целостности кода Ethereum, открывая двери ряду потенциальных эксплойтов.
\n\n
Один из планируемых EIP упрощает процесс оценивания транзакций. В настоящее время оценка контрактов запрашивает как текущее состояние блокчейна, так и хеши последних 256 блоков. Для лайт-клиентов эта сложная обработка информации должна быть существенно уменьшена — и EIP 96 делает это изящнейшим способом.
\n\n
Тем не менее, главной сложностью, по-видимому, считается EIP 86, планируемый центр проекта и самый сложный из всех EIP.
\n\n
EIP 86 хочет добиться безопасности аккаунтов, делая учетные записи более гибкими и настраиваемыми и позволяет разработать новые функции. Пользователи смогут выбрать свою модель безопасности, вписав свои криптографические характеристики в платеж.
\n\n
Но проблема с EIP 86 настолько существенна, что потребуется много времени и усилий для правильного решения.
\n\n
Примечательно, что был обнаружен протокол для изменения нескольких инвариантов, открывающие бесконечные циклы проблем. Ещё в июне был обнаружен эксплойт, который позволял злоумышленнику захватить кошельки путем реорганизации блокчейна или сразу же повторить одну и ту же транзакцию.
\n\n
Однако возможно, что за время, необходимое для завершения кода, появятся новые проблемы и потенциальные улучшения.
\n