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,36K
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.