Logo Zephyrnet

EVM vs SmartWeave: una guida completa per sviluppatori consenzienti (Parte 1)

Data:

Upland: Berlino è qui!Upland: Berlino è qui!

Per gli sviluppatori che operano nell'odierno ambiente agnostico e in rapida scalabilità, decidere il giusto approccio all'esecuzione di smart contract è fondamentale.

In questo pezzo, esaminerò le credenziali di EVM (Ethereum Virtual Machine) e SmartWeave come due opzioni distinte da considerare per gli sviluppatori. Divulgazione completa, stiamo andando in un'immersione profonda! Prima di iniziare, ecco una tabella di confronto per darti un'idea di entrambi gli ambienti di esecuzione:

Considerazioni chiave per l'utilizzo di EVM

EVM, inizialmente implementato da Ethereum, è ora la scelta per la maggior parte delle piattaforme di contratti intelligenti, estendendosi ad Avalanche, BNB Chain e L2 come Arbitrum, Optimism e altro. L'utilizzo di EVM richiede la conoscenza di Solidity, che può essere definita come la risposta della blockchain a JavaScript. Come linguaggio di EVM, Solidity è emerso come il linguaggio di programmazione de facto per contratti intelligenti su reti distribuite, rendendolo il linguaggio informatico di riferimento per gli sviluppatori nello spazio blockchain.

Sebbene Solidity abbia una struttura e una sintassi uniche che possono rivelarsi impegnative per coloro che considerano lo sviluppo Web3, continua ad attirare un grande afflusso di nuovi studenti. Inoltre, l'EVM vanta un vasto ecosistema di risorse, strumenti, materiali didattici e sviluppatori entusiasti.

Anche se EVM è ampiamente considerato il framework gold standard per la creazione di applicazioni decentralizzate, ha parametri di limitazione rigorosi, all'interno dei quali i nuovi sviluppatori devono imparare a lavorare. La capacità di uno sviluppatore senior di Solidity di ottimizzare il codice per limiti di calcolo rigorosi (sotto forma di limiti di gas) li distingue dal tipo di sviluppo appena uscito dall'accademia. Lo svantaggio di questo modello è che pone un'enorme enfasi sullo spazio dei blocchi, che può diventare una struttura estremamente costosa.

Inoltre, il requisito per la sincronizzazione dei calcoli guidata dal consenso in ogni blocco aggiunge un livello di complessità al design dell'EVM, fungendo da ostacolo significativo agli sforzi di ridimensionamento, soprattutto data la valutazione sequenziale di tutte le interazioni del contratto intelligente.

Una considerazione degna di nota riguarda il modello di archiviazione unico all'interno della macchina virtuale Ethereum. Nella maggior parte dei linguaggi di programmazione, la comprensione della rappresentazione dei dati di basso livello non è cruciale, ma Solidity si discosta da questa norma. Dato il costo significativo associato all'accesso allo storage su reti basate su Ethereum, è essenziale avere una solida conoscenza di come vengono rappresentati i tipi di dati. Il modello di storage globale condiviso su tutti i contratti, indipendentemente dalla loro interazione, pone delle sfide.

Il design introduce inefficienze, costringendo i contratti a guadare dati estranei, rallentando i tempi di transazione e incorrendo in costi computazionali non necessari. Questi costi contribuiscono a un maggiore onere finanziario per l'archiviazione dei dati sulla piattaforma, con ripercussioni su sviluppatori e utenti. Inoltre, la natura condivisa dell'archiviazione potrebbe inavvertitamente amplificare errori di codifica o vulnerabilità, portando a conseguenze indesiderate per contratti non correlati e potenzialmente aumentando i costi di rettifica.

Ti presentiamo SmartWeave

Dall'altra parte del corridoio, Smart Weave è un paradigma per valutare gli stati dei contratti intelligenti su un livello di dati immutabile come Arweave. La proposta di valore distinta di SmartWeave ha un potenziale di vasta portata per migliorare la creazione di dApp altamente efficienti per una serie di casi d'uso specifici, fungendo da framework complementare per colmare il vuoto in cui l'EVM non è all'altezza. Poiché un livello dati non esegue calcoli arbitrari, affida al chiamante la responsabilità di valutare lo stato del contratto corrente utilizzando una "valutazione pigra".

Per valutare "pigramente" lo stato attuale di un contratto, il chiamante verifica ed esegue tutte le interazioni del contratto (transazioni Arweave) dall'inizio del contratto fino al presente, riproducendo da zero lo stato attuale del contratto.

In sostanza, gli smart contract di Arweave consistono in un insieme ordinato di azioni (C, I, Ts), dove 'C' è la parte contenente il codice del contratto, 'I' è la frazione contenente lo stato iniziale e 'T' è un sequenza di transazioni che interagiscono con il contratto. Quando il client valuta lo stato, utilizza il codice da C, lo stato iniziale da I, e applica ogni transazione successiva (a condizione che sia valida) in base al codice del contratto. Fatto? Bene! Ecco una panoramica visiva dell'architettura per aiutare a cristallizzare il concetto:

SmartWeave è un'architettura volta a creare un motore di contratti intelligenti affidabile, veloce e pronto per la produzione su Arweave. La sua implementazione più popolare, Contratti di curvatura, si concentra sul raggiungimento di questo preciso obiettivo. Warp è spesso descritto come "contratti SmartWeave sotto steroidi" per la sua capacità di superare alcuni degli ostacoli più significativi associati all'implementazione predefinita del protocollo SmartWeave.

Questi ostacoli includono la mancanza di caching che porta a basse prestazioni, l'assenza di un gateway di transazione SmartWeave affidabile e l'incapacità di garantire la sicurezza del contratto e il determinismo. Oltre alla sua funzione principale, Warp SDK include un livello di memorizzazione nella cache ottimizzato che migliora notevolmente l'efficienza della valutazione pigra.

Lo stack include anche metodi di implementazione e manutenzione intuitivi, plug-in personalizzabili che consentono agli utenti di estendere l'SDK in qualsiasi direzione desiderino, uno smart contract explorer dedicato, un set di nodi per l'esecuzione in outsourcing e molte altre funzionalità essenziali. Il core team di Warp ha creato una gamma di plug-in proprietari, tra cui strumenti EVM portatili, supporto per portafogli EVM, supporto nativo EtherJS nell'ambiente SmartWeave e altri. A partire da ora, Warp supporta i linguaggi JavaScript/TypeScript e WASM con supporto Rust.

Distinguere EVM dall'architettura SmartWeave

La sicurezza dell'EVM è intrinsecamente legata alla tecnologia di consenso della sua blockchain sottostante. Allo stesso modo, SmartWeave dipende anche dalla sicurezza e dalla finalità finale della blockchain di Arweave, che si ottiene includendo blocchi finalizzati utilizzando il protocollo SPoRa (Succinct Proofs of Random Access).

In base alla struttura progettuale, EVM implementa il mercato delle commissioni nel protocollo principale. Lo schema delle commissioni di mercato utilizza un meccanismo di asta al primo prezzo per determinare le commissioni di transazione, in cui l'offerente più alto fa elaborare per primo la transazione. Le sfide associate al ridimensionamento della rete diventano particolarmente evidenti durante i periodi di forte domanda, come si è visto con il design del mercato delle commissioni globali della Ethereum Virtual Machine.

Ad esempio, quando un singolo contratto sperimenta un'attività considerevole, come un tanto atteso conio NFT, ha inavvertitamente un impatto su tutti gli utenti della rete aumentando i costi di transazione, anche per coloro che non sono direttamente coinvolti nell'attività ad alta domanda.

Arweave propone un approccio alternativo al tradizionale mercato delle commissioni utilizzando un unico pool di ricompense e una radice merkle per tutti i dati, chiamato dotazione. L'aggiunta di nuovi dati al sistema aggiorna l'albero merkle e aggiunge token $AR al pool di ricompense senza causare un aumento del sovraccarico computazionale. Per affrontare il collo di bottiglia dell'elaborazione dei pagamenti per l'archiviazione dei dati, Arweave utilizza un sistema di pacchetti ricorsivi per regolare più transazioni in un unico pagamento sulla rete.

Alla fine, questo potrebbe portare ad alberi di profondità infinita che consentono di ingerire tutti i dati web all'interno di una singola transazione, eliminando la necessità di mercati a pagamento. Il sistema di transazione di Arweave consente agli utenti di eseguire transazioni senza una tariffa di inclusione del blocco, con il risultato che i costi di archiviazione sono l'unica spesa per l'esecuzione delle transazioni, indipendentemente dal lato della domanda.

SmartWeave è un array in sequenza di transazioni Arweave che beneficiano dell'assenza di un mercato tariffario per l'inclusione di blocchi di transazioni. Questa proprietà unica consente dati di transazione illimitati senza costi aggiuntivi oltre ai costi di archiviazione. Inoltre, il design aperto di SmartWeave consente agli sviluppatori di scrivere la logica in qualsiasi linguaggio di programmazione, offrendo un'alternativa rinfrescante al codice spesso rigido di Solidity.

Domani uscirà la parte 2, che copre:

  • Esecuzione pigra: una prospettiva alternativa
  • Valutazione dell'idoneità di EVM e SmartWeave
  • Adattamento al mercato SmartWeave

Guest post di: Jakub Wojciechowski, CEO e fondatore di Contratti di curvatura ed Pietra rossa

spot_img

L'ultima intelligenza

spot_img