paint-brush
Come ottimizzare l'efficienza del gas di Ethereum con EIP-1559 multidimensionaledi@2077research
Nuova storia

Come ottimizzare l'efficienza del gas di Ethereum con EIP-1559 multidimensionale

di 2077 Research11m2025/02/18
Read on Terminal Reader

Troppo lungo; Leggere

EIP-1559 multidimensionale è una soluzione proposta per ottimizzare l'efficienza del gas di Ethereum separando i costi delle risorse (calcolo, archiviazione, larghezza di banda) anziché raggrupparli in un'unica unità di gas. Questo modello, ispirato a EIP-4844, mira a utilizzare meglio la capacità di Ethereum e ridurre la congestione. Introducendo prezzi distinti per risorse come calcolo e archiviazione, consente un'allocazione e una scalabilità delle risorse più efficienti. Tuttavia, sfide come complessità, interdipendenze delle risorse e modifiche del protocollo rendono difficile l'implementazione completa. Un'alternativa più semplice prevede di mantenere il gas come unità principale differenziando tra l'utilizzo delle risorse, come visto in EIP-7623, che offre un passo verso prezzi multidimensionali senza separazione completa.
featured image - Come ottimizzare l'efficienza del gas di Ethereum con EIP-1559 multidimensionale
2077 Research HackerNoon profile picture

Scopri come l'EIP-1559 multidimensionale ottimizza l'efficienza del gas di Ethereum separando i costi delle risorse, migliorando la scalabilità e ottimizzando l'utilizzo della rete.

Introduzione

Il multidimensionale EIP-1559 è emerso come argomento di ricerca dopo essere stato introdotto da Vitalik Buterin in un post di EthResearch nel gennaio 2022. Sebbene non abbia ricevuto la stessa attenzione di altri argomenti di ricerca come rollup, MEV o soluzioni di disponibilità dei dati, è un'area di studio attiva.


Articoli di ricerca pubblicati di recente da Guillermo Angeris e Theo Diamandis esplorano i fondamenti teorici e la solidità dei mercati delle commissioni multidimensionali e propongono come dovrebbero essere costruiti.


In effetti, i mercati delle commissioni multidimensionali sono già in uso oggi. Con l'adozione di EIP-4844 a marzo 2024, Ethereum ha introdotto il gas blob, creando un mercato delle commissioni separato per le transazioni blob. Ciò ha segnato un passaggio da un modello di gas monodimensionale a un mercato delle commissioni bidimensionale.


Tuttavia, c'è ancora bisogno di aumentare il numero di dimensioni delle risorse per ottimizzare l'utilizzo delle risorse di transazione. L'espansione dei mercati delle commissioni multidimensionali è una soluzione di scalabilità per migliorare la capacità di Ethereum di gestire risorse diverse in modo più efficiente.


Questo articolo esplora l'importanza e i meccanismi dei mercati multidimensionali delle commissioni del gas, spiegando come migliorano la scalabilità e l'allocazione delle risorse di Ethereum.


Innanzitutto, cerchiamo di capire esattamente cosa si intende per prezzi multidimensionali del gas.

Che cosa sono i prezzi multidimensionali del gas?

Il prezzo del gas multidimensionale è una soluzione di scaling L1, come l'aumento del limite del gas implementato di recente su Ethereum. Sebbene non aumenti direttamente la capacità di transazione totale di Ethereum, massimizza l'utilizzo delle risorse entro i limiti esistenti. Ciò consente a più applicazioni decentralizzate (DApp) e utenti di effettuare transazioni sul livello base di Ethereum senza congestione non necessaria.


Ethereum attualmente raggruppa tutti i costi delle risorse, come elaborazione, archiviazione e larghezza di banda, in un'unica unità di gas. Il prezzo del gas multidimensionale invece separa queste risorse, ottimizzandone l'allocazione e mantenendo la sicurezza e la decentralizzazione di Ethereum.



Per capire perché questo è utile, prendiamo in considerazione un'analogia con la realtà.

Il fitness club come analogia

Immagina un fitness club con vari servizi, come tapis roulant per il cardio, squat rack per l'allenamento con i pesi e manubri per uso generale. I membri hanno preferenze diverse: alcuni usano esclusivamente tapis roulant, altri si concentrano sugli squat rack e alcuni alternano entrambi.


In un sistema in cui la palestra addebita una tariffa fissa di ingresso in base al numero totale di iscritti, sorgono inefficienze. Nei giorni in cui i tapis roulant sono sovraffollati ma gli squat rack sono sottoutilizzati, la tariffa fissa aumenta vertiginosamente per tutti, costringendo gli istruttori di pesi a pagare per la congestione che non hanno causato. Allo stesso modo, quando gli squat rack sono molto richiesti ma i tapis roulant sono vuoti, gli utenti cardio sostengono costi inutili. Questa tariffazione unidimensionale lega la capacità della palestra alla sua risorsa più congestionata, creando una sottoutilizzazione di altre strutture. Questo può essere considerato un modello di tariffazione unidimensionale.


Ora, immagina che la palestra introduca un modello di prezzo multidimensionale. Invece di una tariffa fissa, addebita separatamente tapis roulant e squat rack. Gli utenti cardio e i trainer con pesi non sono più influenzati dall'utilizzo reciproco e la palestra può ottimizzare la sua capacità gestendo queste risorse in modo indipendente. Con un utilizzo più equilibrato, la palestra può ospitare più utenti senza aumentare la congestione complessiva.


Questo approccio dimostra l'essenza del pricing multidimensionale: dividere le risorse in mercati separati per migliorare equità ed efficienza. Tuttavia, troppa granularità, come prezzi separati per ogni pezzo di equipaggiamento, può introdurre complessità non necessaria e rendere il sistema più difficile da usare. Ecco perché, in pratica, i fitness club hanno per lo più un prezzo di ingresso fisso e insistono su un modello di pricing monodimensionale.


Allo stesso modo in cui tariffe separate per tapis roulant e squat rack possono ridurre la congestione, Ethereum può utilizzare mercati separati per le risorse, come l'elaborazione e l'utilizzo dei dati.

Come si applica a Ethereum

Prima dell'EIP-4844, Ethereum utilizzava un modello di prezzo del gas monodimensionale, in cui tutte le risorse di transazione, tra cui elaborazione, archiviazione e larghezza di banda, erano raggruppate in un'unica metrica: il gas. Questo modello porta intrinsecamente a inefficienze, simili all'analogia del fitness club:

  • Se una risorsa, ad esempio il calcolo, viene utilizzata intensamente, le tariffe aumentano per tutti gli utenti, anche se altre risorse restano sottoutilizzate.
  • Se alcune risorse hanno una capacità in eccesso, restano inutilizzate a causa del rigido limite del gas.


Un esempio chiave di questa inefficienza è il modo in cui i rollup in precedenza archiviavano i dati delle transazioni. Prima dell'EIP-4844, i rollup pubblicavano i dati delle transazioni nel campo dei dati delle chiamate di Ethereum e pagavano le commissioni del gas in base al prezzo dei dati delle chiamate. Tuttavia, con l'adozione dell'EIP-4844 a marzo 2024, i rollup ora utilizzano un'unità separata chiamata blob gas, che consente loro di archiviare i dati in strutture dedicate chiamate blob.


Sebbene EIP-4844 abbia introdotto una seconda dimensione gas (blob gas) per i dati roll-up, la sua portata rimane limitata: Blob gas si applica solo alle transazioni blob. Altri componenti delle transazioni, tra cui esecuzione EVM, dati di chiamata e archiviazione, sono ancora prezzati in base a un singolo modello gas.


Le transazioni Ethereum consumano ancora più risorse indipendenti, ma sono tutte valutate in gas, il che porta a scenari peggiori e inefficienti.


Ad esempio, supponiamo che una singola transazione consumi l'intero limite di gas (attualmente 36 M) nell'esecuzione EVM. Anche se i nodi Ethereum potessero gestire in modo sicuro dimensioni di dati maggiori, la transazione non può propagare dati aggiuntivi poiché il gas viene trattato come un singolo vincolo anziché come più limiti indipendenti.


Questo problema diventa ancora più evidente se si guarda alla distribuzione delle dimensioni dei blocchi di Ethereum. Da luglio 2024 a dicembre 2024, la dimensione media dei blocchi è stata di ~73 KB, con la maggior parte dei blocchi ben al di sotto dei 100 KB. Tuttavia, nel blocco #21419230 , la dimensione massima dei blocchi ha raggiunto 1,48 MB, 20 volte più grande della media.



La tariffazione multidimensionale del gas affronta questo problema trattando ogni risorsa in modo indipendente: calcolo, archiviazione e larghezza di banda ottengono prezzi e limiti separati. Questa separazione impedisce colli di bottiglia in cui una risorsa domina i costi del gas e ottimizza la capacità senza aumentare i rischi per la sicurezza.


Gli articoli di Vitalik Buterin propongono diversi tipi di risorse chiave per la separazione. Esploriamo queste risorse candidate e perché separarle potrebbe migliorare la scalabilità di Ethereum.

Quali risorse possono essere separate attraverso la determinazione multidimensionale dei prezzi del gas?

Quando si progetta un mercato di commissioni multidimensionale, l'indipendenza delle risorse è uno dei fattori più critici. Se due risorse altamente interdipendenti vengono inserite in mercati di commissioni separati, ciò può portare a inefficienze, prezzi errati e complessità non necessaria. Ad esempio, se il calcolo (cicli di CPU) e l'utilizzo della memoria (RAM) vengono prezzati separatamente, ma uno dipende dall'altro, gli utenti potrebbero giocare con il sistema spostando i costi tra loro, portando a prezzi non ottimali.


Pertanto, prima di classificare le risorse di Ethereum in mercati del gas separati, dobbiamo innanzitutto identificare quali risorse sono sufficientemente indipendenti da poter essere valutate separatamente senza distorcere l'economia della rete.


Al centro, un nodo Ethereum è un computer che gestisce più risorse in parallelo. Le risorse hardware tradizionali sono categorizzate in componenti distinti che possono essere ottimizzati in modo indipendente:

  • Calcolo (CPU) – Esecuzione di operazioni come AGGIUNGI, MOLTIPLICA ed esecuzione di contratti intelligenti.
  • Memoria I/O (RAM): lettura/scrittura di dati temporanei, che influiscono sulla velocità di esecuzione.
  • I/O di archiviazione (lettura/scrittura SSD/HDD): accesso allo stato persistente, che influisce sull'efficienza dell'archiviazione a lungo termine.
  • Crescita dello storage (aumento dello spazio su disco): espansione dei dati archiviati, che influisce sulla sostenibilità del nodo.
  • Larghezza di banda (trasferimento dati di rete): capacità di trasmettere transazioni e bloccare dati.


Il principio chiave qui è la parallelizzabilità: se un sistema può elaborare in modo indipendente queste risorse, separarle per la determinazione del prezzo è significativo. Applicando questo a Ethereum, dovremmo puntare a classificare le risorse Ethereum in un modo che consenta ai nodi Ethereum di operare nel modo più efficiente possibile senza dipendenze non necessarie.


A differenza dei computer, le operazioni di Ethereum non rientrano perfettamente in una categoria. Molte operazioni consumano più risorse contemporaneamente, rendendo difficile separarle perfettamente. Ad esempio,

  • I dati delle chiamate transazionali consumano principalmente larghezza di banda perché devono essere trasmessi attraverso la rete. Contribuiscono inoltre all'aumento dello spazio di archiviazione perché rimangono nella blockchain in modo permanente.
  • SLOAD (Storage Read) utilizza l'I/O di archiviazione, ma se un nodo è senza stato, necessita anche di larghezza di banda per recuperare le prove di stato da un nodo completo.
  • Le scritture di archiviazione (SSTORE) sono più costose delle letture perché aumentano lo stato persistente di Ethereum, contribuendo al sovraccarico dello storage a lungo termine.


Queste interdipendenze rendono impraticabile la separazione di ogni singola risorsa nel suo mercato di prezzi. Invece, dovremmo concentrarci sui colli di bottiglia più significativi che hanno un impatto diretto sulla scalabilità di Ethereum.


Sebbene le operazioni di Ethereum coinvolgano più risorse, i candidati per la determinazione dei prezzi multidimensionali attualmente in discussione sono:

  • Calcolo (esecuzione EVM): operazioni semplici come ADD e MULTIPLY sono attività puramente della CPU.

  • Storage I/O (SSTORE/SLOAD): letture e scritture persistenti che influiscono sul bloat di stato di Ethereum.

  • Dati di chiamata delle transazioni: utilizzano principalmente la larghezza di banda, ma contribuiscono anche all'archiviazione.

  • Dati testimone: influenzano la larghezza di banda e l'I/O di archiviazione, in particolare per i client senza stato.



Allineando queste categorie al modo in cui i sistemi informatici gestiscono le risorse, possiamo rendere la struttura delle commissioni di Ethereum più intuitiva ed efficiente.


Mentre, in teoria, potremmo suddividere le risorse di Ethereum in categorie ancora più granulari, farlo aumenterebbe la complessità senza benefici proporzionali. Invece, dovremmo concentrarci sui principali colli di bottiglia che limitano le prestazioni di Ethereum oggi.


Ad esempio, la dimensione dei dati delle chiamate di transazione determina direttamente la dimensione massima del blocco, rendendolo un collo di bottiglia cruciale per il livello di consenso di Ethereum. Inoltre, la crescita dello storage deve essere controllata per evitare che i nodi completi diventino troppo costosi da gestire, mantenendo la decentralizzazione.


Pertanto, anziché introdurre troppe dimensioni, è più pratico concentrarsi su alcune risorse chiave che dominano l'efficienza di Ethereum.


Una volta identificate queste risorse primarie, possiamo esplorare due modi distinti per realizzare una tariffazione multidimensionale: mercati tariffari separati o un'unità di gas singola modificata.

Implementazione della tariffazione multidimensionale del gas 1: mercati tariffari separati per ciascuna risorsa

Un approccio all'implementazione di prezzi del gas multidimensionali è quello di creare mercati tariffari indipendenti per ogni risorsa, assicurando un'allocazione più efficiente. Questo metodo è già stato parzialmente implementato tramite EIP-4844, che ha introdotto il gas blob come unità separata per l'archiviazione dei dati di rollup.


Questo concetto può essere esteso ad altre risorse, come la crescita dello stato o la dimensione del testimone, consentendo a Ethereum di gestire separatamente i limiti di ciascuna risorsa anziché raggruppare tutti i costi in un'unica metrica del gas.


Per formalizzare questo approccio, definiamo bi come la tariffa base per la risorsa i, gi come il consumo della risorsa i in una transazione e ki come il limite per la risorsa i all'interno di un singolo blocco.


La commissione di transazione totale verrebbe calcolata come ibi*gi​, e un blocco deve soddisfare il vincolo all txbi ki, per tutti gli i per tutte le risorse i. Come l'attuale modello EIP-1559, bi viene regolato dinamicamente in base all'utilizzo precedente del blocco. Ethereum potrebbe adottare modelli di prezzo esponenziali (come quelli utilizzati per il gas blob) o un altro meccanismo di aggiornamento delle commissioni per regolare il consumo di risorse.


Il modello di mercato a tariffa separata offre vantaggi chiave. Fornisce un controllo preciso su ogni risorsa consentendo un capping indipendente, che aiuta a evitare stime inefficienti del caso peggiore con l'attuale modello di gas. Inoltre, impedisce una congestione non necessaria, assicurando che un'elevata domanda per una risorsa non aumenti in modo sproporzionato le tariffe per operazioni non correlate. Inoltre, questo approccio ottimizza l'utilizzo della rete abilitando limiti diretti su fattori come la propagazione dei dati, come il limite a 1 MB o la crescita dello stato, anziché affidarsi ad aggiustamenti indiretti del prezzo del gas per regolare il consumo di risorse.


Mentre mercati di commissioni separati offrono una migliore allocazione delle risorse, suddividere le risorse in modo troppo granulare introduce una notevole complessità. La creazione di mercati indipendenti per ogni tipo di risorsa richiederebbe importanti modifiche al protocollo, potenzialmente destabilizzando il livello di base di Ethereum. DApp e wallet affronterebbero anche ulteriori sfide, poiché dovrebbero tracciare più mercati di commissioni e prevedere le fluttuazioni delle commissioni di base per ogni risorsa, rendendo più difficile l'inclusione di transazioni tempestive ed economicamente vantaggiose.


Un altro problema si verifica quando una risorsa subisce un'imprevedibile impennata di prezzo. Anche se un portafoglio ottimizza le commissioni per tutte le altre risorse, un picco improvviso in un solo mercato delle commissioni potrebbe impedire che una transazione venga inclusa in un blocco, portando a incertezza e inefficienze per gli utenti.


I validatori affrontano sfide simili, poiché il loro obiettivo è massimizzare i guadagni restando entro i vincoli di ogni limite di risorse. Man mano che aumenta il numero di mercati di risorse indipendenti, questa situazione diventa un problema di ottimizzazione complesso, simile a un problema di zaino multidimensionale in cui selezionare le transazioni più redditizie diventa sempre più difficile.


Alcuni sostengono che questa complessità potrebbe non essere un problema importante, poiché i guadagni del Maximal Extractable Value (MEV) contribuiscono in modo significativo ai profitti dei validatori, rendendo le commissioni prioritarie meno critiche nel loro processo decisionale. Tuttavia, la fattibilità complessiva dell'implementazione di mercati di commissioni completamente separati per ogni risorsa rimane una questione di ricerca aperta, che richiede un'ulteriore esplorazione dei compromessi tra efficienza, usabilità e stabilità della rete.

Implementazione del prezzo multidimensionale del gas 2: mantenere il gas come unità principale

Un'alternativa più semplice alla separazione completa dei mercati delle commissioni è quella di mantenere il gas come unità primaria, modificando al contempo il modo in cui vengono calcolate le commissioni. Invece di introdurre nuove unità per ogni risorsa, la commissione di transazione totale è determinata dalla risorsa che consuma più gas.


Definiamo il costo del gas per la risorsa i come ci e la quantità di risorsa utilizzata come gi. La commissione di transazione è quindi determinata da:

(c1*g1 , c2*g2 , c3*g3,...)


Invece di sommare il consumo di gas tra le risorse, una transazione viene addebitata solo in base alla risorsa più costosa che consuma.


Ad esempio, si consideri una transazione che consuma 50.000 gas per l'esecuzione EVM e 200.000 gas per i dati delle chiamate. Con questo modello, la commissione di transazione è di 200.000 gas poiché i dati delle chiamate sono la risorsa dominante e il costo di esecuzione viene effettivamente ignorato.


Sebbene questo metodo semplifichi la determinazione dei prezzi, introduce potenziali problemi:

  • Problemi di equità: una transazione che utilizza 200K di gas per i dati delle chiamate e 50K per l'esecuzione paga la stessa commissione di una che utilizza 200K di gas per i dati delle chiamate e 150K per l'esecuzione. Ciò incentiva il bundling, in cui più transazioni vengono combinate strategicamente per sfruttare i vantaggi in termini di costi. Di conseguenza, gli ottimizzatori sofisticati potrebbero trarne vantaggio, rendendo i costi delle transazioni meno prevedibili per gli utenti abituali e le DApp.
  • Inefficienza delle risorse: poiché conta solo la risorsa che consuma di più, gli utenti possono deliberatamente abusare di altre risorse senza costi aggiuntivi. Nell'esempio precedente, l'esecuzione EVM di fino a 150K di gas non comporta costi aggiuntivi, creando transazioni inutili che gonfiano la rete senza aumentare i costi.


Nonostante queste preoccupazioni, il vantaggio principale di questo approccio è la sua semplicità. Mantenendo il gas come unità di prezzo universale, Ethereum evita la complessità di gestire più unità di risorse, pur continuando a differenziare tra diversi tipi di utilizzo delle risorse.


EIP-7623 , che verrà implementato nell'aggiornamento Pectra , segue un approccio simile ma leggermente modificato. Introduce un meccanismo di doppia tariffazione per le transazioni con dati di chiamata pesanti, assicurando che le transazioni con un utilizzo sproporzionatamente elevato di dati di chiamata paghino commissioni più elevate. Sebbene non sia un modello di prezzo del gas multidimensionale completo, rappresenta un passo verso una migliore differenziazione delle risorse senza rivedere la struttura del gas di Ethereum.

Qual è la relazione tra EIP-7623 e la determinazione multidimensionale dei prezzi del gas?

EIP-7623 introduce commissioni più elevate per le transazioni di disponibilità dei dati (DA), in particolare quando l'utilizzo dei dati delle chiamate supera significativamente l'utilizzo del gas di esecuzione. Questo meccanismo garantisce che le transazioni che consumano dati di chiamata eccessivi paghino commissioni più elevate, scoraggiando l'archiviazione dei dati non necessaria senza richiedere nuove unità di prezzo.


Una versione semplificata del calcolo del gas EIP-7623 è la seguente:

total_gas_used max(4token_in_calldata + evm_gas_used, 10*token_in_calldata)

Che si semplifica ulteriormente in:

total_gas_used 4token_in_calldata + max(evm_gas_used, 6*token_in_calldata)


Questa formula determina l'utilizzo totale di gas prendendo il massimo tra gas di esecuzione e gas di dati di chiamata. Se una transazione utilizza principalmente dati di chiamata, verranno addebitate commissioni più elevate per i dati di chiamata anziché essere sovvenzionata da costi di esecuzione inferiori. Ciò scoraggia l'archiviazione eccessiva di dati, garantendo al contempo che le transazioni ad alta intensità di calcolo non vengano ingiustamente penalizzate.


EIP-7623 è una versione semplificata della determinazione dei prezzi del gas multidimensionale perché introduce una distinzione implicita tra gas di esecuzione e gas dati di chiamata, incoraggiando un'allocazione più equilibrata delle risorse di rete.

Conclusione

Sebbene la tariffazione multidimensionale del gas sia spesso vista come un miglioramento economico o UI/UX, è un miglioramento fondamentale della scalabilità che consente un'allocazione ottimizzata delle risorse. Tuttavia, la sua implementazione affronta sfide significative, principalmente a causa delle sostanziali modifiche richieste al livello di protocollo e della difficoltà di separare completamente i tipi di risorse. Di conseguenza, è improbabile che la tariffazione del gas a più dimensioni venga adottata a breve.


Nonostante queste sfide, la determinazione multidimensionale dei prezzi del gas offre vantaggi sostanziali, tra cui un migliore utilizzo delle risorse, una maggiore sicurezza di rete e un funzionamento sostenibile dei nodi. Consentire un utilizzo più efficiente della capacità di calcolo e di archiviazione di Ethereum rappresenta un percorso praticabile per Ethereum per scalare preservando al contempo la decentralizzazione e la sicurezza.


Una versione di questo articolo è stata originariamente pubblicata Qui .