Ethereum, ймовірно, не надто турбується про «зворотну сумісність». Кілька років тому екосистема Polkadot також була повністю оновлена, і кілька важливих додатків DeFi перейшли від V1 і V2 до V3 і V4, і користувачі навряд чи мали велике сприйняття, не кажучи вже про те, що не було нічого, що не можна було б змінити...
У новій публікації в блозі V згадується система Apple Rosetta, яка точно відображає технічні проблеми, з якими зіткнеться основна мережа 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 в основному виступає в якості «шару перекладу» між двома наборами команд, переводячи скомпільовану програму з набору інструкцій A в набір інструкцій B динамічно або все відразу. Таким чином, попередня програма також може безперебійно працювати на обладнанні, яке використовує новий набір команд. Завдяки «обчислювальній еквівалентності» перекладений вихід програми виходить точно таким же, але ціною деякої продуктивності.
Чому про Розетту вже рідко згадують? У міру дозрівання екосистеми M-chip розробники зазвичай складають Arm-версію програми при оновленні своїх додатків. Тільки те старе програмне забезпечення, яке є старим і не обслуговується, має покладатися на Rosetta.
Тому, якщо Ethereum дійсно хоче замінити EVM, йому в основному доведеться знову піти шляхом міграції Apple:
- Створіть власну "Розетту", щоб байт-код старого контракту міг продовжувати виконуватися на новій віртуальній машині
- Поступово, нехай новий контракт компілюється безпосередньо в рідну нову віртуальну машину
Це все ще довгий, довгий, довгий шлях від викладання шару сумісності до остаточного покриття всіх старих контрактів.
7,32 тис.
8
Вміст на цій сторінці надається третіми сторонами. Якщо не вказано інше, OKX не є автором цитованих статей і не претендує на авторські права на матеріали. Вміст надається виключно з інформаційною метою і не відображає поглядів OKX. Він не є схваленням жодних дій і не має розглядатися як інвестиційна порада або заохочення купувати чи продавати цифрові активи. Короткий виклад вмісту чи інша інформація, створена генеративним ШІ, можуть бути неточними або суперечливими. Прочитайте статтю за посиланням, щоб дізнатися більше. OKX не несе відповідальності за вміст, розміщений на сторонніх сайтах. Утримування цифрових активів, зокрема стейблкоїнів і NFT, пов’язане з високим ризиком, а вартість таких активів може сильно коливатися. Перш ніж торгувати цифровими активами або утримувати їх, ретельно оцініть свій фінансовий стан.