Эфириум, вероятно, не слишком беспокоится о проблеме «обратной совместимости». Несколько лет назад экосистема 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
The content on this page is provided by third parties. Unless otherwise stated, OKX is not the author of the cited article(s) and does not claim any copyright in the materials. The content is provided for informational purposes only and does not represent the views of OKX. It is not intended to be an endorsement of any kind and should not be considered investment advice or a solicitation to buy or sell digital assets. To the extent generative AI is utilized to provide summaries or other information, such AI generated content may be inaccurate or inconsistent. Please read the linked article for more details and information. OKX is not responsible for content hosted on third party sites. Digital asset holdings, including stablecoins and NFTs, involve a high degree of risk and can fluctuate greatly. You should carefully consider whether trading or holding digital assets is suitable for you in light of your financial condition.