- Вернуться к меню
- Вернуться к менюЦены
- Вернуться к менюИсследовать
- Вернуться к менюКонсенсус
- Вернуться к менюПартнерский материал
- Вернуться к меню
- Вернуться к меню
- Вернуться к менюВебинары и Мероприятия
EVM 2.0: внутри гонки за замену сердца Ethereum
Виртуальная машина, позволяющая Ethereum выполнять все вычисления децентрализованно, подвергается масштабной переработке.
В основе Ethereum лежит виртуальный компьютер.
Виртуальная машина Ethereum (EVM), хранящаяся на десятках тысяч узлов, составляющих платформу, отвечает за выполнение бесчисленных токенов, dapps, DAO и цифровых «котят», из которых состоит блокчейн.
Это движок, на основе которого работает весь Ethereum , и он говорит на языке, называемом «байт-код EVM» — необработанные 256- BIT строки информации, которые могут предоставить любое мыслимое уравнение (при условии, что оно попадает в пределы установленного платформой ограничения, GAS).
Звучит мощно и важно, да? Что-то, с чем не стоит слишком много возиться?
Тем не менее, эта неотъемлемая часть инфраструктуры Ethereum готовится к полной переработке.
«Я бы сказал, что изначально в него T было вложено много дизайнерского мышления», — рассказал Лейн Реттиг, разработчик Ethereum , CoinDesk о EVM. «Это было что-то вроде инструмента — швейцарского армейского ножа, так я бы его описал — он делает кучу вещей, но не невероятно хорошо».
Таким образом, текущая EVM будет заменена новой виртуальной машиной под названием eWASM.
EWASM — это всего лишь версия кода WASM (что означает WebAssembly) для Ethereum, созданная Консорциумом Всемирной паутины (W3C), группой разработчиков, отвечающих за поддержку и стандартизацию Интернета.
«В разработку концепции конструктора [WASM] было вложено много высокооплачиваемых, очень опытных инженеров и тысячи часов профессиональной инженерной работы — по сравнению с EVM», — сказал Реттиг, который участвует в разработке eWASM.
Действительно, eWASM позволит разработчикам писать код на нескольких языках программирования, а не только на специфичном для Ethereum языке Solidity, и, как говорят, также будет обладать множеством улучшений производительности.
И, что подтверждает достоверность этого решения, Ethereum присоединится к нескольким конкурентам, включая EOS, TRON и Cardano, каждый из которых развернул (или планирует развернуть) виртуальные машины для конкретных проектов, чтобы обрабатывать децентрализованные вычисления с использованием кода WASM.
Для Ethereum переключение должно быть выполнено вместе с парой других обновлений, которые теперь называют «Shasper», которые включают в себя масштабирование решения шардинга и майнинг переписанный Casper, в течение следующих нескольких лет. И хотя точные сроки переключения T установлены, разработка eWASM быстро продвигается и готовится к запуску своей тестовой сети на Devcon 4, конференции разработчиков Ethereum , в Праге в октябре.
Говоря о решении заменить существующую машину, Реттиг подвел итог:
«Ethereum находится на этапе, когда он превращается из неуклюжей самодельной сборки, на которой мы катаемся по нашей FARM , в настоящую гоночную машину, которую мы можем вывести на шоссе и запустить».
«Бородавчатый» путь
В основе перехода лежит понимание того, что, хотя EVM является инновационной Технологии , впервые предлагающей решение для децентрализованных вычислений, устойчивых к атакам, она не настолько чиста, как могла бы быть.
В качестве примера можно привести тот факт, что большинство разработчиков dapps пишут программы на языке Solidity Ethereum — высокоуровневом языке программирования, который автоматически компилируется в форму, совместимую с байт-кодом EVM.
По словам Реттиг, поскольку EVM опирается на «очень большие, широкие инструкции», даже самые простые виды вычислений, такие как базовая арифметика, необходимо будет преобразовать в 256- BIT строки — сложный процесс для простой математики — чтобы EVM могла их обработать.
Это лишь ONE из нескольких операций, встроенных в системный код, которые, по мнению Реттиг, T должны там быть. Другая включает популярную хэш-функцию SHA-3.
По этой причине Реттиг описывает ЭВМ как «бородавчатую».
Ник Джонсон, разработчик CORE Ethereum , согласился с этим, рассказав CoinDesk , что когда он присоединился к Ethereum, ему сразу стало очевидно, что EVM была создана разработчиками с глубоким пониманием компьютерной науки, но без большого опыта создания широко используемых продуктов.
Джонсон подчеркнул, что EVM как инструмент был «оптимизирован для теоретической чистоты, а не для практического использования».
«В нем есть эти огромные регистры, но они все одинаковы, и он очень внутренне последователен и так далее, — сказал он, — но он не создавался с расчетом на реализацию в реальном мире».
«Ближе к металлу»
С другой стороны, код WASM был создан с учетом требований производства.
По словам Реттиг, во-ONE, он построен «ближе к железу», то есть код, который он запускает, близок к реальным аппаратным инструкциям, поэтому на перевод различных логик кодирования тратится меньше усилий.
«Инструкции очень точно имитируют реальные аппаратные инструкции», — продолжил Реттиг. «Эти инструкции могут напрямую соответствовать инструкциям, которые выполняют реальные устройства, так что теоретически можно получить весьма впечатляющие улучшения производительности».
Например, разработчики, работающие на базе Ethereum, смогут писать код, используя несколько языков — любой, который им удобнее всего, — включая те, которые обеспечивают дополнительные преимущества безопасности.
Еще одно ключевое преимущество, которое, по словам Реттига, некоторые разработчики называют «главной мотивацией eWASM», заключается в том, что он потенциально устраняет необходимость в так называемой «предварительной компиляции».
Поскольку EVM состоит из громоздкого кода, некоторые операции должны быть построены внутри системы — в противном случае операции превысят затраты на GAS , связанные с ними. Чтобы сделать такие операции доступными в сети, называемые предварительными компиляциями, требуется общесистемное обновление или хардфорк; и такие обновления оказались рискованными и сложными для оркестровки.
Однако разработчики утверждают, что с помощью eWASM операции можно просто записать в виде смарт-контрактов и развернуть, минуя сценарий хард-форка.
«eWASM настолько эффективен в выполнении вычислений, что от большинства этих предварительных компиляций можно было бы отказаться и заменить их просто контрактами eWASM», — сказал Джонсон.
Разбитое сердце
Тем не менее, как и любое существенное изменение в децентрализованной экосистеме, стремление отказаться от EVM не обходится без критики.
Во ONE , разработчик CORE Ethereum Грег Колвин, который много лет занимался поддержкой EVM, не хочет расставаться со старым кодом.
Колвин сам разрабатывал новую улучшенную версию кода EVM, названную EVM 1.5, которая изначально должна была стать будущим виртуальной машины Ethereum . Однако, без предупреждения, его финансирование было прекращено некоммерческим фондом Ethereum Foundation.
«Я был зол», — сказал Колвин, который помог сформироватьСовет магов Ethereum, дискуссионная группа, посвященная повышению технической компетентности Ethereum, после этого опыта рассказала CoinDesk. «Я подумал: подождите-ка, вы же T будете платить мне 8,40 долларов в час, когда вы уже сократили мои часы с 35 до 20, так зачем я это делаю? И потом до конца года я больше не мог себе позволить заниматься волонтерством».
Однако причиной, по которой Колвин выступает против aWASM, является T только гордость.
По его словам, есть и технические проблемы с eWASM. Например, поскольку eWASM допускает поддержку нескольких языков, код в значительной степени зависит от так называемых «компиляторов» — то, что, по мнению Колвина, может стать единой точкой отказа для злоумышленников.
Он также не убежден, что смарт-контракты eWASM могут заменить необходимость в предварительной компиляции.
Плюс, у Колвина есть и другие критические замечания, ориентированные на дизайн, с которыми согласен даже Реттиг. По словам обоих разработчиков, по какой-то причине обычно побеждает более неэффективная технология. Возьмем, к примеру, Javascript, который является ONE из наиболее широко используемых языков программирования, но известен тем, что он особенно уродлив.
«Кажется, в Технологии и компьютерных науках существует закономерность, при которой наиболее продуманные вещи не только не обязательно WIN, но и, по-видимому, не очень успешны», — утверждает Реттиг.
Не говоря уже о том, что, по словам Колвина, несмотря на всю проделанную работу по разработке WASM, код все еще относительно не протестирован в реальных условиях.
Колвин рассказал CoinDesk:
«Я T понимал, почему мы хотим быть первопроходцами в эксперименте, когда мы уже были первопроходцами в нашем собственном эксперименте».
Непредсказуемость
Если оставить в стороне конфликты, eWASM набирает популярность среди многих разработчиков Ethereum .
Действительно, планируется развернуть его в качестве тестовой сети перед конференцией разработчиков Ethereum Devcon4 в ноябре.
Однако это T означает, что новая виртуальная машина будет развернута в ближайшее время.
Поскольку eWASM сначала будет выведен на шард или сайдчейн, прежде чем заменить сам EVM, развертывание eWASM тесно связано с обновлением Shasper. И с точки зрения сроков это означает, что разработчикам нужно будет уделить внимание исследованиям, лежащим в основе этих изменений, прежде чем переходить к eWASM.
К сожалению, ход таких исследований может быть непредсказуемым.
Действительно, неоднозначность, связанная с обновлениями кода такого рода, стала источником путаницы для большой группы разработчиков Ethereum , работающих на этой платформе.
«Если вы занимаетесь разработкой нового клиента, возникает много путаницы: стоит ли мне разрабатывать eWASM? Стоит ли мне разрабатывать EVM? Стоит ли мне разрабатывать и то, и другое? Стоит ли мне разрабатывать что-то еще», — рассказал Реттиг CoinDesk.
Отсутствие ясности стало ONE из главных разочарований для Колвина, поскольку в текущей версии EVM есть некоторые проблемы с производительностью, которые можно было бы легко устранить, однако они остались на втором плане из-за внезапного изменения дорожной карты.
«Это было моим разочарованием в течение некоторого времени, eWASM был явно за горизонтом, но без особых ресурсов EVM 1.5 был на NEAR . И теперь это все еще осуществимо, но его отодвинули, целый год был потрачен впустую», — сказал Колвин CoinDesk.
Чем больше, тем веселее?
Тем не менее, и Реттиг, и Колвин признают, что эта неопределенность — всего лишь часть вклада в проект с открытым исходным кодом без какого-либо центрального руководства.
«Аспект сообщества очень важен. Если бы это была компания, меня бы уже давно не было», — сказал Колвин CoinDesk.
Кроме того, Реттиг QUICK заявить, что когда дело касается улучшений Ethereum , работа не бывает напрасной.
Действительно, продолжил он, из-за характера обновления шардинга, которое разбивает Ethereum на более мелкие, более управляемые фрагменты, в конечном итоге на Ethereum может поддерживаться несколько виртуальных машин.
По поводу обновленного Ethereum Реттиг сказал: «Нет единого Ethereum, нет единой дорожной карты, нет единого органа власти, это сообщество, это семейство технологий, и я не верю, что будущее — это просто ONE цепочка, которая будет управлять ими всеми».
В соответствии с этим eWASM также откроет новые уровни взаимодействия. Во- ONE, он построен на языке, который был стандартизирован для Всемирной паутины, поэтому добавление поддержки браузера для легкого клиента Ethereum было бы тривиальным.
И это также может проложить путь к неизведанной ранее совместимости между различными блокчейнами.
«Возможно, у вас здесь квадратичное сегментирование, а здесь — Plasma, и, возможно, они местами пересекаются, а может быть, у нас есть цепочка Dfinity, взаимодействующая с цепочкой Ethereum , взаимодействующей с Bitcoin через Cosmos и Polkadot», — сказал Реттиг, предположив:
«Мы просто T знаем, так что T стоит так увлекаться официальной канонической дорожной картой, какой бы она ни была».
Сердце из бумагиизображение через Shutterstock
Rachel-Rose O'Leary
Рейчел-Роуз О'Лири — программист и писатель в Dark Renaissance Technologies. Она была ведущим техническим писателем CoinDesk 2017-2018, освещая технологии Политика конфиденциальности и Ethereum. У нее есть опыт работы в области цифрового искусства и философии, и она пишет о Криптo с 2015 года.
