Ethereum se pravděpodobně příliš neobává "zpětné kompatibility". Před několika lety byl také ekosystém Polkadot kompletně upgradován a několik důležitých aplikací DeFi se iterovalo z V1 a V2 na V3 a V4 a uživatelé to téměř příliš nevnímali, nemluvě o tom, že nebylo nic, co by se nedalo změnit...
Nový příspěvek na blogu V zmiňuje systém Rosetta společnosti Apple, který přesně odráží technické výzvy, kterým bude mainnet Etherea čelit, pokud bude chtít vyměnit EVM za jiné virtuální počítače, podobně jako když Apple zahodil Intel ve prospěch svých vlastních čipů řady M založených na architektuře Arm.
Co je na tom tak těžkého?
Jak jsme již řekli dříve, jakýkoli kód napsaný ve vyšším programovacím jazyce skončí na určité instrukční sadě:
- Pokud je procesor vašeho počítače Intel/AMD, pak bude program spuštěn podle instrukční sady x86
- V případě čipů Apple M-series bude program nakonec spuštěn na CPU podle instrukční sady Arm
Pak si vzpomeňte: Jak přesně ten program vznikl?
Poté, co programátor napíše kód ve vyšším programovacím jazyce, musí jej pomocí kompilátoru zkompilovat do spustitelného souboru "pro určitý operační systém a určitou instrukční sadu". Při stahování aplikace to ilustruje vaše běžné "Linux-x86", "macOS-x86", "macOS-Arm" a přípona názvu souboru představuje cílovou sadu instrukcí (proč stále existuje operační systém, příště si o tom můžete promluvit)
Tak Time, jaká je cena? 😡
Když se Apple rozhodl změnit jádro, neexistovala žádná hotová zkompilovaná verze Arm pro velké množství aplikací a výsledkem bylo, že programy macOS-x86 nemohly nativně běžet na čipu M.
Co dělat? Najít překladatele: A právě zde přichází na řadu prostředí Rosetta.
Rosetta, z Rosetta Stone. Úžasné je, že stejný obsah byl zaznamenán ve třech starověkých jazycích a starověká řečtina se stala klíčem k rozluštění egyptských hieroglyfů. Stejným způsobem Rosetta funguje hlavně jako "překladová vrstva" mezi dvěma sadami instrukčních sad, která dynamicky nebo všechny najednou překládá zkompilovaný program z instrukční sady A do instrukční sady B. Tímto způsobem může předchozí program bez problémů běžet také na hardwaru, který používá novou instrukční sadu. Díky "výpočetní ekvivalenci" je přeložený výstup programu naprosto stejný, ale za cenu určitého výkonu.
Proč je Rosetta již zmiňována jen zřídka? Jak ekosystém M-chip dozrává, vývojáři při aktualizaci svých aplikací obvykle kompilují verzi programu Arm. Na prostředí Rosetta se musí spoléhat pouze starý a neudržovaný software.
Pokud tedy Ethereum opravdu chce nahradit EVM, bude se v podstatě muset znovu vydat migrační cestou Applu:
- Vytvořte si vlastní prostředí Rosetta, aby se starý bajtkód kontraktu mohl na novém virtuálním počítači nadále spouštět
- Postupně nechte novou smlouvu zkompilovat přímo do nativního nového VM
Je to ještě dlouhá, dlouhá, dlouhá cesta od položení vrstvy kompatibility k tomu, abychom nakonec pokryli všechny staré smlouvy.
7,34 tis.
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.