Эфириум, вероятно, не слишком беспокоится о проблеме «обратной совместимости». Несколько лет назад экосистема Polkadot также прошла путь постоянных обновлений, и важные приложения DeFi прошли итерации от V1, V2 до V3, V4, практически без заметного влияния на пользователей. Тем более, что нет ничего, что нельзя изменить...
В новом блоге V упоминается система Rosetta от Apple, которая точно отражает технические вызовы, с которыми столкнется основная сеть Ethereum, если захочет заменить EVM на другую виртуальную машину. Это по сути похоже на то, как Apple отказалась от Intel и перешла на собственные чипы серии M на базе архитектуры Arm.
В чем же сложность?
Мы уже говорили, что любой код, написанный на высокоуровневом языке, в конечном итоге должен выполняться на определенном наборе инструкций:
- Если процессор вашего компьютера Intel/AMD, то программа выполняется по набору инструкций x86
- Если это чипы серии Apple M, то программа в конечном итоге будет выполняться по набору инструкций Arm на процессоре
Теперь вспомним, как создается программа?
После того как программист пишет код на высокоуровневом языке, его нужно скомпилировать с помощью компилятора в исполняемый файл, «ориентированный на определенную операционную систему и набор инструкций». Когда вы загружаете приложение, вы часто видите «Linux-x86», «macOS-x86», «macOS-Arm», что указывает на это, а суффикс имени файла представляет целевой набор инструкций (почему также упоминается операционная система, можно обсудить в следующий раз).
Так что, Тим, какова цена?😡
Когда Apple решила сменить чипы, огромное количество приложений не имело готовой версии, скомпилированной для Arm, и в результате программы macOS-x86 не могли нативно работать на чипах M.
Что делать? Найти переводчика: так появилась Rosetta.
Rosetta, названная в честь Розеттского камня. Уникальность заключается в том, что он использовал три древних языка для записи одного и того же содержания, и древнегреческий язык стал ключом к расшифровке египетских иероглифов. Аналогично, Rosetta в основном служит «слоем перевода» между двумя наборами инструкций, динамически или однократно переводя программу, скомпилированную для набора инструкций A, в набор инструкций B. Таким образом, предыдущие программы могут беспрепятственно работать на оборудовании с новым набором инструкций. Благодаря «вычислительному эквиваленту» выходные данные переведенной программы полностью совпадают, но потребляют часть производительности.
Почему сейчас редко упоминается Rosetta? С развитием экосистемы чипов серии M разработчики обычно при обновлении приложений повторно компилируют версию программы для Arm. Только старое программное обеспечение, которое давно не поддерживается, все еще зависит от Rosetta.
Таким образом, если Ethereum действительно захочет заменить EVM, ему придется пройти путь миграции Apple:
- Сначала создать собственную «Rosetta», чтобы старый байт-код контрактов мог продолжать выполняться на новой виртуальной машине
- Затем постепенно компилировать новые контракты непосредственно для новой виртуальной машины
От создания слоя совместимости до полного покрытия всех старых контрактов этот путь все еще очень долгий, долгий, долгий, долгий.
7,34 тыс.
8
Содержание этой страницы предоставляется третьими сторонами. OKX не является автором цитируемых статей и не имеет на них авторских прав, если не указано иное. Материалы предоставляются исключительно в информационных целях и не отражают мнения OKX. Материалы не являются инвестиционным советом и призывом к покупке или продаже цифровых активов. Раздел использует ИИ для создания обзоров и кратких содержаний предоставленных материалов. Обратите внимание, что информация, сгенерированная ИИ, может быть неточной и непоследовательной. Для получения полной информации изучите соответствующую оригинальную статью. OKX не несет ответственности за материалы, содержащиеся на сторонних сайтах. Цифровые активы, в том числе стейблкоины и NFT, подвержены высокому риску, а их стоимость может сильно колебаться. Перед торговлей и покупкой цифровых активов оцените ваше финансовое состояние и принимайте только взвешенные решения.