Ethereum maakt zich waarschijnlijk niet al te veel zorgen over "achterwaartse compatibiliteit". Een paar jaar geleden werd het Polkadot-ecosysteem ook helemaal geüpgraded, en verschillende belangrijke DeFi-applicaties herhaalden van V1 en V2 naar V3 en V4, en gebruikers hadden nauwelijks veel perceptie, om nog maar te zwijgen van het feit dat er niets was dat niet kon worden veranderd...
De nieuwe blogpost van V vermeldt het Rosetta-systeem van Apple, dat nauwkeurig de technische uitdagingen weergeeft waarmee het Ethereum-mainnet te maken zal krijgen als het EVM's wil ruilen voor andere VM's, net zoals toen Apple Intel dumpte ten gunste van zijn eigen M-serie chips op basis van de Arm-architectuur.
Wat is daar zo moeilijk aan?
Zoals we al eerder hebben gezegd, wordt elke code die in een taal op hoog niveau is geschreven, uiteindelijk op een bepaalde instructieset uitgevoerd:
- Als de CPU van uw computer Intel/AMD is, wordt het programma uitgevoerd volgens de x86-instructieset
- In het geval van Apple chips uit de M-serie zal het programma uiteindelijk op de CPU draaien volgens de Arm-instructieset
Bedenk dan: hoe is het programma precies tot stand gekomen?
Nadat een programmeur code heeft geschreven in een taal op hoog niveau, moet hij of zij de compiler gebruiken om het te compileren in een uitvoerbaar bestand "voor een bepaald besturingssysteem en een bepaalde instructieset". Bij het downloaden van een app illustreert uw gebruikelijke "Linux-x86", "macOS-x86", "macOS-Arm" dit, en het achtervoegsel van de bestandsnaam vertegenwoordigt de doelinstructieset (waarom er nog steeds een besturingssysteem is, de volgende keer dat u erover kunt praten)
Dus Tim, wat is de prijs? 😡
Toen Apple besloot de kern te veranderen, was er voor een groot aantal applicaties geen kant-en-klare gecompileerde Arm-versie, en het resultaat was dat macOS-x86-programma's niet native op de M-chip konden draaien.
Wat moeten we doen? Zoek een vertaler: Dat is waar Rosetta om de hoek komt kijken.
Rosetta, van Rosetta Stone. Het ontzagwekkende is dat dezelfde inhoud werd vastgelegd in drie oude talen, en het oude Grieks werd de sleutel tot het ontcijferen van de Egyptische hiërogliefen. Op dezelfde manier fungeert Rosetta voornamelijk als een "vertaallaag" tussen de twee sets instructiesets, waarbij het gecompileerde programma van de A-instructieset dynamisch of in één keer wordt vertaald naar de B-instructieset. Op deze manier kan het vorige programma ook naadloos draaien op hardware die gebruik maakt van de nieuwe instructieset. Dankzij "computationele equivalentie" is de output van het vertaalde programma precies hetzelfde, maar ten koste van enige prestaties.
Waarom wordt Rosetta zelden meer genoemd? Naarmate het M-chip-ecosysteem volwassener wordt, stellen ontwikkelaars meestal een Arm-versie van het programma samen bij het updaten van hun applicaties. Alleen die oude software die oud en niet onderhouden is, moet het doen op Rosetta.
Daarom, als Ethereum de EVM echt wil vervangen, zal het in feite opnieuw het migratiepad van Apple moeten volgen:
- Maak je eigen "Rosetta" zodat de oude contractbytecode verder kan worden uitgevoerd op de nieuwe VM
- Laat het nieuwe contract geleidelijk aan rechtstreeks naar de native nieuwe VM compileren
Het is nog steeds een lange, lange, lange weg van het aanleggen van de compatibiliteitslaag tot het uiteindelijk afdekken van alle oude contracten.
7,33K
8
De inhoud op deze pagina wordt geleverd door derden. Tenzij anders vermeld, is OKX niet de auteur van het (de) geciteerde artikel(en) en claimt geen auteursrecht op de materialen. De inhoud is alleen bedoeld voor informatieve doeleinden en vertegenwoordigt niet de standpunten van OKX. Het is niet bedoeld als een goedkeuring van welke aard dan ook en mag niet worden beschouwd als beleggingsadvies of een uitnodiging tot het kopen of verkopen van digitale bezittingen. Voor zover generatieve AI wordt gebruikt om samenvattingen of andere informatie te verstrekken, kan deze door AI gegenereerde inhoud onnauwkeurig of inconsistent zijn. Lees het gelinkte artikel voor meer details en informatie. OKX is niet verantwoordelijk voor inhoud gehost op sites van een derde partij. Het bezitten van digitale activa, waaronder stablecoins en NFT's, brengt een hoge mate van risico met zich mee en de waarde van deze activa kan sterk fluctueren. Overweeg zorgvuldig of de handel in of het bezit van digitale activa geschikt voor je is in het licht van je financiële situatie.