Vai al contenuto principale
Change page

Gas e commissioni

Ultima modifica: @Carla78(opens in a new tab), 18 gennaio 2024

Il gas è essenziale per la rete di Ethereum. È il carburante che gli consente di operare, proprio come un'automobile lo necessita per funzionare.

Prerequisiti

Per capire meglio questa pagina, consigliamo innanzi tutto di leggere gli argomenti su transazioni ed EVM.

Cos'è il gas?

Gas fa riferimento all'unità che misura la quantità di sforzo di calcolo necessario per eseguire operazioni specifiche sulla rete di Ethereum.

Poiché ogni transazione di Ethereum richiede risorse computazionali per essere eseguita, queste risorse devono essere pagate per assicurare che Ethereum non sia vulnerabile a spam e che non si blocchi in cicli computazionali infiniti. Il pagamento per il calcolo è fatto sotto forma di commissioni di carburante (comunemente chiamato gas).

La commissione del gas è la quantità di gas usato per eseguire alcune operazioni, moltiplicato per il costo di una unità di gas. La commissione viene pagata indipendentemente dal fatto che la transazione abbia successo o fallisca.

Un diagramma che mostra dov'è necessario il gas nelle operazioni dell'EVM Diagramma adattato da Ethereum EVM illustrato(opens in a new tab)

Le commissioni del gas devono essere pagate nella valuta nativa di Ethereum, l'ether (ETH). I prezzi del gas sono solitamente riportati in gwei, che è una sottounità di ETH. Ogni gwei equivale ad un miliardesimo di ETH (0,000000001 ETH or 10-9 ETH).

Per esempio, invece di dire che il gas costa 0,000000001 ether, puoi dire che costa 1 gwei.

La parola 'gwei' è l'abbreviazione di 'giga-wei', che significa 'miliardo di wei'. Un gwei equivale ad un miliardo di wei. Il wei (dal nome di Wei Dai(opens in a new tab), creatore di b-money(opens in a new tab)) è l'unità più piccola di ETH.

Come sono calcolate le commissioni del gas?

Quando invii una transazione, puoi impostare la quantità di gas che sei disposto a pagare. Offrendo una certa quantità di gas, stai facendo un'offerta per includere la tua transazione nel prossimo blocco. Se offri troppo poco, i validatori saranno meno disposti a scegliere la tua transazione per includerla, il che significa che la tua transazione potrebbe essere eseguita in ritardo o non essere eseguita affatto. Se offri troppo, potresti rischiare di sprecare un po' di ETH. Quindi, come si fa a capire quanto pagare?

Il gas totale che paghi è diviso in due componenti: la base fee e la priority fee (mancia).

La base fee è stabilita dal protocollo - è necessario pagare almeno questo importo affinché la tua transazione sia considerata valida. La priority fee è una mancia che si aggiunge alla commissione base per rendere la tua transazione accattivante per i validatori in modo che la scelgano per includerla nel blocco successivo.

Una transazione che paga solo la base fee è tecnicamente valida ma è improbabile (che venga inclusa) perché non offre incentivi ai validatori per sceglierla rispetto ad altre transazioni. La commissione priority 'corretta' è determinata dall'utilizzo della rete nel momento in cui invii la transazione - se c'è molta richiesta, è possibile che tu debba impostare una commissione priority più alta, mentre se c'è meno domanda potrai pagare meno.

Ad esempio, ipotizziamo che Jordan debba pagare 1 ETH a Taylor. Il trasferimento di ETH richiede 21.000 unità di gas, e la commissione base è di 10 gwei. Jordan include una mancia di 2 gwei.

La commissione totale sarebbe ora pari a:

unità di gas usato * (commissione base + commissione prioritaria)

dove la base fee è il valore impostato dal protocollo e la priority fee è il valore impostato dall'utente come mancia per il validatore.

ovvero 21,000 * (10 + 2) = 252,000 gwei (0,000252 ETH).

Quando Jordan invia il denaro, dal suo conto sono sottratti 1,000252 ETH. Taylor riceve un accredito di 1,0000 ETH. Il validatore riceve la mancia di 0,000042 ETH. La base fee di 0,00021 ETH viene bruciata.

Commissione base

Ogni blocco ha una commissione base che funge da prezzo di riserva. Per poter essere inseriti in un blocco, il prezzo offerto per il gas deve essere pari almeno alla commissione base. La commissione base è calcolata indipendentemente dal blocco corrente ed è invece determinata dai blocchi che lo precedono, il che rende le commissioni sulle transazioni più prevedibili per gli utenti. Quando il blocco viene creato questa commissione base viene "bruciata", ovvero rimossa dalla circolazione.

La commissione di base è calcolata con una formula che confronta le dimensioni del blocco precedente (la quantità di gas usata per tutte le transazioni) con le dimensioni di quello corrente. La commissione base aumenta di un massimo del 12,5% per blocco se la dimensione prevista del blocco viene superata. Questa crescita esponenziale rende economicamente impensabile che la dimensione del blocco resti elevata per un tempo indefinito.

Numero del bloccoGas InclusoAumento della commissioneTariffa base corrente
115M0%100 gwei
230M0%100 gwei
330M12,5%112,5 gwei
430M12,5%126,6 gwei
530M12,5%142,4 gwei
630M12,5%160,2 gwei
730M12,5%180,2 gwei
830M12,5%202,7 gwei

Secondo la tabella che precede, per creare una transazione sul blocco numero 9, un portafoglio indica all'utente con certezza che la commissione base massima da aggiungere al blocco successivo è current base fee * 112.5% o 202.7 gwei * 112.5% = 228.1 gwei.

Inoltre, è importante notare che, vista la velocità con cui la commissione base aumenta mentre si avanza verso un blocco completo, è improbabile assistere a picchi prolungati di blocchi completi.

Numero del bloccoGas InclusoAumento della commissioneTariffa base corrente
3030M12,5%2.705,6 gwei
......12,5%...
5030M12,5%28.531,3 gwei
......12,5%...
10030M12,5%10.302.608,6 gwei

Commissione prioritaria (mance)

La commissione prioritaria (mancia) incentiva i validatori ad includere una transazione nel blocco. Senza la mancia, i validatori troverebbero economicamente redditizio minare blocchi vuoti, poiché riceverebbero la stessa ricompensa per i blocchi. Mance basse offrono ai validatori un incentivo minimo ad includere una transazione. Affinché le transazioni vengano eseguite in via preferenziale prima di altre transazioni nello stesso blocco, è possibile aggiungere una mancia più alta per cercare di superare le transazioni concorrenti.

Commissione massima

Per eseguire una transazione sulla rete, gli utenti possono specificare un limite massimo che sono disposti a pagare affinché la loro transazione venga eseguita. Questo parametro facoltativo è noto come maxFeePerGas. Affinché una transazione venga eseguita, la commissione massima deve essere maggiore della somma della commissione base e della mancia. Il mittente della transazione riceve il rimborso della differenza tra la commissione massima e la somma della commissione base e della mancia.

Dimensione del blocco

Ogni blocco ha una dimensione prevista di 15 milioni di gas, ma la dimensione dei blocchi aumenta o diminuisce in base alla domanda della rete, fino al limite massimo di 30 milioni di gas per blocco (2 volte la dimensione prevista del blocco). Il protocollo raggiunge una dimensione del blocco equilibrata di 15 milioni in media tramite il processo di tâtonnement. Significa che se la dimensione del blocco supera quella prevista, il protocollo aumenta la commissione base per il blocco successivo. Analogamente, il protocollo riduce la commissione base se la dimensione del blocco è inferiore a quella prevista. L'importo della commissione base si adatta proporzionalmente alla distanza della dimensione del blocco corrente rispetto a quella prevista. Maggiori informazioni sui blocchi.

Calcolo delle commissioni del gas in pratica

Puoi indicare esplicitamente quanto sei disposto a pagare per far eseguire la tua transazione. Tuttavia, la maggior parte dei fornitori di portafogli imposterà automaticamente una commissione sulla transazione consigliata (commissione base + commissione prioritaria consigliata) per ridurre la complessità che grava sui propri utenti.

Perché esistono le commissioni del gas?

In breve, le commissioni del gas aiutano a proteggere la rete di Ethereum. Richiedendo una commissione per ogni calcolo eseguito sulla rete, impediamo agli utenti malevoli di compiere spam sulla rete. Per evitare cicli infiniti accidentali od ostili oppure altri sprechi di calcolo nel codice, ogni transazione deve definire un limite al numero di passaggi di calcolo dell'esecuzione del codice che può utilizzare. L'unità fondamentale di calcolo è il "gas".

Sebbene una transazione preveda un limite, tutto il gas non utilizzato in una transazione viene rimborsato all'utente (ciò che viene restituito è: max fee - (base fee + tip)).

Diagramma che mostra come è rimborsato il gas inutilizzato Diagramma adattato da Ethereum EVM illustrato(opens in a new tab)

Cosa è il limite del gas?

Il limite di gas si riferisce all'importo massimo di gas che sei disposto a consumare in una transazione. Le transazioni più complicate che coinvolgono i contratti intelligenti, richiedono un maggiore lavoro di calcolo e quindi un limite di gas maggiore rispetto a un semplice pagamento. Un trasferimento standard di ETH richiede un limite di gas di 21.000 unità di gas.

Ad esempio, se imposti un limite di gas di 50.000 per un semplice trasferimento di ETH, l'EVM ne consumerebbe 21.000 unità e restituirebbe le 29.000 rimanenti. Tuttavia, se specifichi troppo poco gas, ad esempio un limite di gas di 20.000 per un semplice trasferimento di ETH, l'EVM consumerà le tue 20.000 unità di gas tentando di soddisfare la transazione, ma non la completerà. A quel punto l'EVM annulla ogni modifica, ma dato che il validatore ha già eseguito un lavoro pari a 20.000 unità di gas, questo gas viene consumato.

Perché le commissioni del gas possono essere così elevate?

Le commissioni del gas elevate sono dovute alla popolarità di Ethereum. Se c'è troppa domanda, gli utenti devono offrire mance più alte per cercare di superare le transazioni degli altri utenti. Una mancia più cospicua può rendere più probabile che la tua transazione troverà posto nel blocco successivo. Inoltre, le applicazioni di contratti intelligenti più complessi potrebbero dover eseguire molte operazioni per supportare le loro funzioni, consumando molto gas.

Iniziative per ridurre i costi del gas

Gli aggiornamenti di scalabilità di Ethereum dovrebbero infine risolvere alcuni problemi delle commissioni del gas, che, a loro volta, consentiranno alla piattaforma di elaborare migliaia di transazioni al secondo e di scalare globalmente.

Il ridimensionamento del Livello 2 è un'iniziativa fondamentale per migliorare notevolmente i costi del gas, l'esperienza utente e il ridimensionamento. Maggiori informazioni sul ridimensionamento del Livello 2.

Cosa è l'Aggiornamento di Londra / EIP-1559?

Prima dell'Aggiornamento di Londra, Ethereum aveva blocchi di dimensioni fisse. Nei momenti di elevata domanda di rete, questi blocchi operavano a piena capacità. Quindi, spesso gli utenti dovevano attendere che la domanda calasse per poter essere inclusi in un blocco, il che si traduceva in un'esperienza non soddisfacente per l'utente. L'Aggiornamento di Londra ha introdotto blocchi di dimensioni variabili in Ethereum.

Le modalità di calcolo delle commissioni sulla transazione sulla rete Ethereum sono state modificate con l'aggiornamento di Londra dell'agosto 2021. Prima dell'aggiornamento Londra, le commissioni venivano calcolate senza separare le commissioni base e priority, come segue:

Mettiamo che Alice debba pagare 1 ETH a Bob. Nella transazione, il limite di gas è di 21.000 unità e il prezzo del gas è di 200 gwei.

La commissione totale sarebbe stata: Gas units (limit) * Gas price per unit, ossia 21,000 * 200 = 4,200,000 gwei ovvero 0,0042 ETH

L'implementazione di EIP-1559(opens in a new tab) nell'Aggiornamento Londra ha reso più complesso il meccanismo delle commissioni sulla transazione, ma ha reso le commissioni sul gas più prevedibili, dando luogo a un mercato delle commissioni di transazione più efficiente. Gli utenti possono inviare transazioni con una maxFeePerGas corrispondente a quanto sono disposti a pagare affinché la transazione sia eseguita, sapendo che non pagheranno di più del prezzo di mercato del gas (baseFeePerGas) e otterranno il rimborso di qualsiasi extra, tranne la mancia.

Questo video spiega l'EIP-1559 e i vantaggi che comporta:

Monitoraggio delle commissioni del gas

Se desideri monitorare i prezzi del gas, così da poter inviare i tuoi ETH a un costo inferiore, puoi usare molti strumenti differenti, come:

Letture consigliate

Questo articolo è stato utile?