20 minuti fa
Gli sviluppatori di Ethereum chiedono ai team di app di valutare le modifiche proposte alle commissioni gas di Glamsterdam
EIP-8037 state-gas rules force Ethereum dApps to rewrite billing

CryptoSlate

Gli sviluppatori principali di Ethereum chiedono ai team che gestiscono applicazioni di verificare se le regole proposte per le commissioni gas di Glamsterdam vadano modificate. Le verifiche interne degli sviluppatori non possono esaminare i contratti e i servizi off-chain di ogni progetto. In un post del blog della Ethereum Foundation del 6 novembre, Marius van der Wijden ha chiesto di controllare otto ipotesi sulle commissioni gas. ChainSecurity e Dedaub stanno conducendo indagini parallelamente alle verifiche interne, mentre ai progetti viene chiesto di descrivere le possibili correzioni.
L'attivazione di Hoodi prevista per il 26 ottobre, insieme a un aumento di 200 milioni del limite di gas, è stata rinviata il 22 ottobre. L'appello del 6 novembre conferma il rinvio in attesa di una soluzione, e gli avvisi non fissano una data di attivazione sulla mainnet. EIP-8037 aumenterebbe i costi per la creazione di dati persistenti sulla blockchain e contabilizzerebbe separatamente la crescita dello stato e l'esecuzione. EIP-8038 modificherebbe i costi per accedere allo stato esistente e scrivervi. Le proposte puntano ad aumentare la capacità di elaborazione limitando al contempo i dati che i nodi di Ethereum devono conservare. Il quadro di revisione comprende tre ipotesi di tariffazione relative a budget e riserve fissi, oltre a cinque ipotesi contabili che riguardano il gas restituito, gli errori, la fatturazione e la delega.
La voce INV-5 del quadro esamina i calcoli dei rimborsi usati dai relayer, che pagano i costi delle transazioni per conto di altri utenti. EIP-8037 assegnerebbe inizialmente gas a una riserva separata per il gas di stato nelle transazioni con limiti di gas superiori a 16.777.216. La creazione dello stato consumerebbe prima questa riserva e poi il gas di esecuzione. La funzione gasleft() di Solidity non include la riserva, perciò il confronto tra le letture può non conteggiare le spese sostenute dai relayer. Una lettura successiva superiore a quella iniziale causerebbe il revert della sottrazione con controllo dei limiti e impedirebbe l'operazione. Una sottrazione senza controllo potrebbe invece generare un valore molto elevato e causare potenzialmente un rimborso eccessivo, a seconda degli altri calcoli e delle protezioni sui pagamenti. Anche la spesa non misurata della riserva potrebbe portare a addebitare agli utenti importi inferiori al dovuto e lasciare agli operatori la differenza.
Le indicazioni sulla fatturazione raccomandano di stimare i costi secondo le regole proposte e di ottenere un accordo sulle commissioni firmato dall'utente. Per i sistemi che mantengono il monitoraggio dei consumi, le indicazioni suggeriscono di limitare il risultato della sottrazione e di imporre un tetto di pagamento firmato, sebbene le spese coperte dalla riserva resterebbero non misurate. La proposta di modifica delle specifiche aperta PR #12581 impedirebbe alle letture del gas di aumentare, risolvendo il problema della sottrazione senza eliminare i costi non misurati della riserva.
La voce INV-8 esamina EIP-7702, che consente agli account di autorizzare codice di contratto delegato. Secondo le regole proposte, una quantità di gas insufficiente prima dell'esecuzione potrebbe lasciare una transazione registrata in un blocco, annullando però la delega e l'aggiornamento del nonce associato all'autorizzazione. L'autorizzazione esposta potrebbe quindi essere riutilizzata se supera ancora i controlli di validità, compreso il controllo del nonce dell'account che l'ha autorizzata. Un aggressore potrebbe applicare quell'autorizzazione e rivendicare la titolarità in un'unica transazione se l'inizializzatore del contratto delegato consente al primo chiamante di scegliere il proprietario. La pubblicazione anticipata di autorizzazioni nei mempool pubblici avviene già, ma questo errore potrebbe esporre un'autorizzazione riutilizzabile dopo una transazione inclusa in un blocco, anche se inviata privatamente. Le deleghe applicate prima del frame di esecuzione di livello superiore sopravviverebbero a un errore in quel frame successivo; perciò, in caso di ricevute di transazione fallite, occorre controllare il codice risultante degli account e i nonce. Tra le protezioni suggerite per i wallet figurano l'obbligo di una firma dell'account o di una chiamata dell'account stesso per l'inizializzazione e l'invalidazione delle autorizzazioni esposte. Una modifica di protocollo suggerita addebiterebbe in anticipo il costo massimo dell'autorizzazione, ma non è stata adottata.
La creazione di uno slot di archiviazione a freddo costerebbe complessivamente 110.020 unità di gas secondo la proposta, contro le 22.100 di Osaka. Il totale proposto comprende 12.100 unità di gas di esecuzione e 97.920 di gas di stato; la riserva determina quale saldo copre la componente relativa al gas di stato. Una ricerca di ChainSecurity del 13 ottobre mostra che le modifiche ai costi e al gas restituito possono consentire a un contratto di registrare in modo permanente come non riuscita un'operazione sottofinanziata. Un'operazione valida potrebbe diventare impossibile da ripetere se tale registrazione impedisce nuovi tentativi. Ricontrollare i budget, propagare gli errori e mantenere la possibilità di riprovare affrontano aspetti diversi del rischio.
Il repository chiede ai progetti interessati se modifiche alla configurazione, aggiornamenti o migrazioni possano risolvere i problemi e, indicativamente, quando potrebbero essere completate le correzioni. Le risposte dei progetti aiuteranno gli sviluppatori a valutare quante modifiche di compatibilità le applicazioni possano sostenere e dove eventuali revisioni delle specifiche potrebbero prevenire danni. Descrizioni specifiche degli errori e delle correzioni disponibili guideranno le prossime discussioni sulle specifiche.
This content is an AI-generated summary/analysis for informational purposes only and does not constitute investment advice.