La Fondazione Ethereum ha annunciato che il suo hard fork Fusaka imporrà un tetto massimo di 16.777.216 unità di gas per transazione, segnando la prima volta che la rete applica un limite distinto per transazione separato dal limite di gas del blocco. La modifica, formalizzata come EIP-7825, è già attiva sui testnet Holesky e Sepolia e sarà distribuita su mainnet quando Fusaka sarà attivato.
Cosa sapere:
- Ethereum limiterà le singole transazioni a 2²⁴ unità di gas (circa 16,78 milioni), prevenendo che singole richieste eccessive monopolizzino interi blocchi.
- La Fondazione posiziona il limite come base per capacità di esecuzione parallela, richiedendo che i carichi di lavoro che superano la soglia siano suddivisi in chiamate sequenziali più piccole.
- Tutti i principali client hanno implementato la modifica in versioni pronte per Fusaka, e gli sviluppatori sono consigliati di testare sui testnet e adeguare la logica di stima del gas di conseguenza.
La Fondazione collega il limite alla strategia di esecuzione parallela
Toni Wahrstätter ha delineato la logica in un post del 21 ottobre, affermando che il limite mitigerebbe i vettori di attacco denial-of-service migliorando la prevedibilità dell'impacchettamento dei blocchi. La Fondazione ha sottolineato che la maggior parte degli utenti non vedrà impatti pratici, poiché la distribuzione delle transazioni nel mondo reale è ben al di sotto della soglia. La superficie di rischio si concentra su contratti pesanti, script di distribuzione e router specializzati che in precedenza potevano avvicinarsi all'intero obiettivo di gas del blocco di circa 45 milioni di unità.
EIP-7825 separa la complessità a livello di transazione dalla capacità a livello di sistema.
Chiamate eccezionalmente grandi avevano creato problemi di temporizzazione e pianificazione per i costruttori e i validatori prima del limite. Il nuovo tetto costringe i carichi di lavoro oltre i 16,78 milioni di gas a suddividersi in operazioni più piccole.
La Fondazione collega esplicitamente il limite a sforzi futuri come EIP-7928, anticipato nell'era Glamsterdam. Transazioni prevedibili e delimitate servono come prerequisito per una reale concorrenza nello strato di esecuzione. Il limite assicura che almeno diverse transazioni indipendenti possano adattarsi per blocco anche in condizioni difficili di mempool, riducendo la peggior contesa e semplificando la progettazione del programmatore per i costruttori che testano percorsi di esecuzione parallelizzabili.
Implementazione tecnica e impatto sugli sviluppatori
La specifica segue un approccio sobrio e meccanico. L'astratto di EIP-7825 dichiara l'intenzione di impostare il limite a "16.777.216 (2^24) gas" per transazione, migliorando la resilienza contro certi vettori di attacco denial-of-service e facendo sì che l'elaborazione delle transazioni sia più prevedibile con l'aumento dei limiti di blocco. Quella semplicità ha attratto i canali core-dev come un vincolo ben delimitato che preserva la compatibilità in avanti con lavori di scalamento più ambiziosi.
Il dibattito sulla codifica e la comunicazione del limite è durato mesi.
Discussioni su Ethereum Magicians e durante le chiamate AllCoreDevs hanno esaminato la denominazione e la parametrizzazione. Un thread ha riassunto la garanzia principale: allineare gli obiettivi di blocco a multipli di 2²⁴ in modo che i costruttori possano sempre includere almeno n transazioni se il mempool contiene n eleggibili.
Geth, Erigon, Reth, Nethermind e Besu hanno tutti implementato la modifica in versioni pronte per Fusaka. La Fondazione ha notato che le semantiche di eth_call restano inalterate, ma le transazioni pre-firmate con limiti di gas superiori a 2²⁴ richiederanno una nuova firma al di sotto del tetto.
Gli sviluppatori dovrebbero testare su Holesky o Sepolia, riorganizzare le operazioni in batch che si avvicinano al limite, e adeguare la logica di stima del gas per fallire rapidamente quando le costruzioni superano il limite.
Termini chiave
Il gas misura lo sforzo computazionale su Ethereum. Ogni operazione costa una quantità specifica di gas, che gli utenti pagano in Ether. Il limite di gas del blocco limita tutto il gas che tutte le transazioni in un blocco possono consumare. Gli hard fork sono aggiornamenti su scala di rete che richiedono a tutti i nodi di aggiornare il loro software. I testnet come Holesky e Sepolia permettono agli sviluppatori di testare i cambiamenti prima del dispiegamento su mainnet.
L'esecuzione parallela consentirebbe alla rete di elaborare più transazioni non conflittuali simultaneamente anziché in sequenza. I vettori di attacco denial-of-service sono metodi di attacco che potrebbero rallentare o fermare le operazioni della rete. Il mempool contiene transazioni in attesa di inclusione nei blocchi.
Contesto politico e risposta del mercato
La filosofia di sviluppo di Ethereum favorisce vincoli minimi, di scopo generale che rimandano la complessità a livelli superiori. EIP-7825 si inserisce in questo schema impostando un limite superiore che protegge la vivibilità della rete senza dettare il comportamento dei contratti. Il cambiamento evita alterazioni nel mercato delle commissioni lasciando l'economia dello spazio dei blob e gli obiettivi di blocco ad altre proposte.
La Fondazione ha descritto il limite come l'istituzione di "una base più sicura e prevedibile per una maggiore capacità nei futuri fork". Questa formulazione coglie il compromesso tra limitare la dimensione delle transazioni individuali e preparare l'infrastruttura per una maggiore capacità complessiva. L'Ether scambiato a $3,835 al momento della pubblicazione.
Pensieri finali
L'hard fork Fusaka introduce il primo tetto di gas per transazione a livello di protocollo di Ethereum, impostato a 16.777.216 unità. La Fondazione presenta il limite come infrastruttura per l'esecuzione parallela riducendo i rischi denial-of-service, con impatto minimo previsto per gli utenti tipici.