Introduzione alle spese per il gas (gas fees)
La blockchain è una tecnologia che funziona attraverso l’utilizzo di blocchi collegati tra loro. Questi blocchi sono generati da nodi validatori attraverso vari meccanismi di consenso per garantire la sicurezza della rete.
Questi validatori ricevono una ricompensa in cambio della loro contribuzione alla sicurezza della rete (blockchain / DAG), spesso proveniente dalle spese di transazione. Una transazione può essere un semplice invio da un portafoglio A a un portafoglio B, ma può anche essere un compito più complesso come l’esecuzione di uno smart contract.
Queste spese di transazione sono anche chiamate gas fees (spese per il gas) perché sono state assimilate al carburante necessario per far funzionare un’auto.
Più complesso è il compito per il validatore, maggiori saranno le spese per il gas per riflettere il consumo di energia e la potenza di calcolo necessaria per l’esecuzione del compito.
Cos’è il gas?
Il gas (o gas in inglese) è l’unità di misura dell’effort di calcolo necessario per eseguire le operazioni sulla rete.
Nella blockchain Ethereum (la più utilizzata attualmente), le spese per il gas sono pagate in Ether (ETH), la moneta nativa del protocollo.
Il prezzo del gas è espresso in Gwei (o Giga-wei) che rappresenta una piccola unità di Ethereum pari a 0,000000001 Ether.
Come tutti gli utenti hanno potuto constatare, queste spese sono diventate eccessive. La rete Ethereum essendo la più popolare, l’accumulo di transazioni semplici e complesse crea spesso un ingombro ingestibile.
È per far funzionare la rete correttamente che le spese per il gas sono aumentate così tanto. Infatti, se volevi che la tua transazione fosse elaborata tra le prime, dovevi metterci il prezzo affinché i miner, vedendovi una migliore compensazione finanziaria rispetto alle altre, la prioritizzassero.
Se non hai fretta, puoi tranquillamente pagare un importo ragionevole di spese per il gas per la tua transazione che richiederà molto più tempo per essere elaborata.
Il sito etherchain.org ti darà una stima delle spese da pagare in base alla velocità di elaborazione che desideri.
Come funzionano le spese per il gas?
Un aggiornamento (EIP1559) riguardante la dimensione dei blocchi e le spese di transazione è stato implementato il 5 agosto 2021 su Ethereum. Questo aggiornamento includeva una migliore stima delle spese di transazione.
Dal momento di questo aggiornamento, ogni blocco emesso sulla rete ha un costo di base, ovvero il prezzo minimo per unità di gas per l’inclusione di un blocco, calcolato automaticamente dalla rete in base alla domanda di spazio del blocco.
Queste spese di base costituiscono solo l’importo che verrà utilizzato per includere il blocco. Tuttavia, è necessario stabilire la ricompensa per i validatori di blocchi (spese di priorità) in modo che eseguano e programmino le transazioni nei blocchi.
Esempio:
Alice vuole inviare 10 ETH a Bob. La transazione indica un limite di gas di 21.000 unità e le spese di base affinché la transazione sia considerata dai miner (Ethereum PoW) sono di 100 Gwei.
Alice aggiunge una mancia di 15 Gwei affinché la sua transazione sia prioritizzata dai miner (poiché genererà più ricompense) e quindi eseguita più velocemente.
Con la seguente formula, possiamo quindi calcolare il prezzo pagato in ETH per il gas:
21.000 * (100 + 15) = 2.415.000 ovvero 0,002415 ETH
In altre parole, ad Alice verranno addebitati 10,002415 ETH e Bob riceverà 10 ETH. Il miner che ha garantito la transazione riceverà 0,000315 ETH e le spese per il gas bruciato saranno quindi di 0,0021 ETH.
Inoltre, le spese per il gas massime utilizzate per una transazione possono essere fissate. In tal caso, se tutte le spese non vengono utilizzate, l’utente sarà rimborsato della differenza.
L’utilità delle spese per il gas per una blockchain
Oltre a giustificare la ricompensa dei miner con una sana visione economica che prevede una compensazione per il lavoro svolto e che agisce anche come incentivo per lavorare per la prosperità della rete, le spese per il gas servono anche a proteggere la stessa.
Infatti, richiedendo spese per effettuare transazioni sulla rete, si limita la possibilità di attori malintenzionati di intasare la rete con spam. Per evitare cicli infiniti accidentali, malintenzionati o altri sprechi di calcolo nel codice, è necessario che ogni transazione limiti il numero di passaggi di calcolo nell’esecuzione del codice.
Conclusioni
Come abbiamo visto, le spese per il gas sono spesso vitali per il corretto funzionamento della rete.
Nonostante il loro costo elevato in periodi di forte affluenza, restano un segno di sicurezza e sono in parte evitabili con un po’ di pazienza o con alcuni strumenti.
Ad esempio, è possibile utilizzare i numerosi Layer 2 costruiti su Ethereum per beneficiare della loro scalabilità che riduce notevolmente le spese di transazione.
È anche possibile utilizzare questi strumenti per ridurre al minimo i propri costi in spese per il gas sulla rete Ethereum:
- Valutatore del prezzo del gas per una transazione: etherscan.io
- Indicatore user frendly per il mercato del gas su Ethereum: ethgasstation.info