Ethereum probabilmente non è troppo preoccupato per la "retrocompatibilità". Qualche anno fa, anche l'ecosistema Polkadot è stato completamente aggiornato e diverse importanti applicazioni DeFi sono passate da V1 e V2 a V3 e V4, e gli utenti non avevano molta percezione, per non parlare del fatto che non c'era nulla che non potesse essere cambiato...
Il nuovo post sul blog di V menziona il sistema Rosetta di Apple, che riflette accuratamente le sfide tecniche che la mainnet di Ethereum dovrà affrontare se vuole sostituire gli EVM con altre VM, proprio come quando Apple ha abbandonato Intel a favore dei propri chip della serie M basati sull'architettura Arm.
Cosa c'è di così difficile in questo?
Come abbiamo detto prima, qualsiasi codice scritto in un linguaggio di alto livello finisce per essere eseguito su un determinato set di istruzioni:
- Se la CPU del tuo computer è Intel/AMD, il programma verrà eseguito secondo il set di istruzioni x86
- Nel caso dei chip Apple della serie M, il programma verrà eventualmente eseguito sulla CPU in base al set di istruzioni Arm
Poi ricordate: come è nato esattamente il programma?
Dopo che un programmatore ha scritto il codice in un linguaggio di alto livello, deve utilizzare il compilatore per compilarlo in un file eseguibile "per un determinato sistema operativo e un determinato set di istruzioni". Quando scarichi un'app, il tuo comune "Linux-x86", "macOS-x86", "macOS-Arm" lo illustra e il suffisso del nome del file rappresenta il set di istruzioni di destinazione (perché c'è ancora un sistema operativo, la prossima volta puoi parlarne)
Allora Tim, qual è il prezzo? 😡
Quando Apple ha deciso di cambiare il core, non esisteva una versione Arm compilata pronta per un gran numero di applicazioni, e il risultato è stato che i programmi macOS-x86 non potevano essere eseguiti in modo nativo sul chip M.
Cosa fare? Trova un traduttore: è qui che entra in gioco Rosetta.
Rosetta, dalla Stele di Rosetta. La cosa fantastica è che lo stesso contenuto è stato registrato in tre lingue antiche, e l'antico greco è diventato la chiave per decifrare i geroglifici egizi. Allo stesso modo, Rosetta agisce principalmente come un "livello di traduzione" tra i due insiemi di insiemi di istruzioni, traducendo il programma compilato dall'insieme di istruzioni A all'insieme di istruzioni B in modo dinamico o tutto in una volta. In questo modo, il programma precedente può essere eseguito senza problemi anche su hardware che utilizza il nuovo set di istruzioni. Grazie all'"equivalenza computazionale", l'output del programma tradotto è esattamente lo stesso, ma a scapito di alcune prestazioni.
Perché Rosetta viene menzionata raramente? Man mano che l'ecosistema M-chip matura, gli sviluppatori di solito compilano una versione Arm del programma quando aggiornano le loro applicazioni. Solo i vecchi software che sono vecchi e non vengono mantenuti devono fare affidamento su Rosetta.
Pertanto, se Ethereum vuole davvero sostituire l'EVM, dovrà sostanzialmente seguire nuovamente il percorso di migrazione di Apple:
- Crea il tuo "Rosetta" in modo che il bytecode del vecchio contratto possa continuare a essere eseguito sulla nuova VM
- Gradualmente, lasciare che il nuovo contratto venga compilato direttamente nella nuova macchina virtuale nativa
C'è ancora una lunga, lunga, lunga strada dalla definizione del livello di compatibilità alla copertura finale di tutti i vecchi contratti.
7.347
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.