Vai al contenuto

Tariffa base EIP-1559: formula, massimali e costo della transazione

Scopri come Ethereum calcola la tariffa base EIP-1559 dal gas usato dal blocco padre, come operano i massimali e come verificare il costo della transazione.

Aggiornato

Solo a scopo educativo; non costituisce consulenza né raccomandazione d’investimento. Gli investimenti possono comportare perdite.

Risposta diretta

La tariffa base EIP-1559 è il prezzo minimo per unità di gas di esecuzione fissato dal protocollo in un blocco Ethereum. Sale se il blocco padre usa più gas dell’obiettivo, scende se ne usa meno e resta uguale all’obiettivo. La quota di tariffa base sul gas consumato viene bruciata, non pagata al validatore.

Ogni blocco ha un solo base_fee_per_gas, noto prima dell’esecuzione delle transazioni. Con il moltiplicatore di elasticità 2 di Ethereum, l’obiettivo è metà del limite di gas del blocco: si assorbono picchi brevi e l’uso medio torna verso l’obiettivo.

Una transazione di tipo 2 specifica max_fee_per_gas e max_priority_fee_per_gas. Il primo limita il prezzo totale per gas, il secondo la mancia. Un massimale alto non viene addebitato per intero: si pagano tariffa base e mancia consentita sul gas consumato.

Tariffa di rete
0,000462 native
Equivalente Fiat
$1,39
Tariffa base
22 gwei

I risultati sono approssimazioni didattiche. Escludono regole della sede, tasse, latenza, comportamento degli oracoli e altri parametri specifici del protocollo se non indicati.

Come funziona

1. Calcolare la tariffa base del blocco successivo

Sia B la tariffa base del blocco padre, G il gas usato e T = parent gas limit / 2 l’obiettivo. Ethereum usa aritmetica intera:

  • All’obiettivo: G = T, quindi B_next = B.
  • Sopra l’obiettivo: B_next = B + max(floor(B * (G - T) / T / 8), 1 wei).
  • Sotto l’obiettivo: B_next = B - floor(B * (T - G) / T / 8).

Con un blocco padre pieno, G = 2T: l’aumento massimo del passo è 12.5%; un blocco vuoto riduce fino al 12.5%. Il minimo 1 wei evita solo che un aumento sia arrotondato a zero.

2. Applicare i massimali della transazione

Per una transazione di tipo 2 inclusa, mancia e prezzo effettivi sono:

  • effective_priority_fee = min(max_priority_fee_per_gas, max_fee_per_gas - base_fee_per_gas)
  • effective_gas_price = base_fee_per_gas + effective_priority_fee
  • transaction_fee = gas_used * effective_gas_price

Non può essere inclusa se max_fee_per_gas < base_fee_per_gas. Se il massimale non lascia spazio alla mancia richiesta, questa si riduce. La tariffa base è bruciata; la priorità va al destinatario delle commissioni.

3. Riconciliare la ricevuta

Leggi baseFeePerGas dal blocco e gasUsed con effectiveGasPrice dalla ricevuta. Verifica gasUsed * effectiveGasPrice rispetto alla variazione di saldo. Il gas non consumato non è addebitato e lo spazio sotto max_fee_per_gas non è un pagamento separato.

Esempio calcolato

Supponi un obiettivo di 15,000,000 gas, uso del limite pieno 30,000,000 gas e tariffa base 30 gwei. Il passo massimo è 30 gwei * 12.5% = 3.75 gwei; la tariffa successiva è 33.75 gwei (ignorando solo arrotondamenti inferiori a 1 wei).

Ora un trasferimento usa 21,000 gas, con max_fee_per_gas = 50 gwei e max_priority_fee_per_gas = 2 gwei:

  • Priorità effettiva: min(2, 50 - 33.75) = 2 gwei.
  • Prezzo effettivo del gas: 33.75 + 2 = 35.75 gwei.
  • Tariffa totale: 21,000 * 35.75 = 750,750 gwei = 0.00075075 ETH.
  • Tariffa base bruciata: 21,000 * 33.75 = 708,750 gwei = 0.00070875 ETH.
  • Mancia al validatore: 21,000 * 2 = 42,000 gwei = 0.000042 ETH.

Il massimo 50 gwei è un limite, non il prezzo addebitato. Se la tariffa base supera 50 gwei prima dell’inclusione, la transazione resta non idonea finché scende o viene sostituita.

Rischi

  • La stima del wallet usa blocchi recenti; uno shock di domanda può alzare la tariffa prima dell’inclusione.
  • Un max_fee_per_gas basso lascia la transazione in attesa; uno inutilmente alto amplia l’autorizzazione pur non essendo di norma addebitato per intero.
  • Un’esecuzione annullata consuma gas, quindi un’azione fallita può bruciare tariffa base e pagare la mancia.
  • Una mancia maggiore può migliorare la priorità, ma non garantisce posizione, successo o finalità.
  • Dati di wallet, RPC, explorer o nodo possono essere obsoleti; verifica insieme blocco e ricevuta.
  • I parametri mainnet non descrivono ogni rollup o rete simile a EIP-1559; elasticità, denominatore, minimi e costi extra possono variare.
  • Bruciare la tariffa base non garantisce che l’offerta ETH cali; contano emissione e combustione totali.
  • Non confondere gas_limit, limite e obiettivo del blocco, gas_used, prezzo per gas e tariffa totale.

Errori comuni

1. Il blocco corrente decide la propria tariffa base

Il gas usato dal blocco padre determina la tariffa successiva; quella corrente è già fissata nell’header.

2. Ogni blocco sopra obiettivo aumenta del 12.5%

La variazione è proporzionale alla distanza dall’obiettivo. 12.5% è il massimo al limite pieno con parametri standard.

3. max_fee_per_gas viene sempre pagato interamente

È un massimale. Il prezzo effettivo somma base e priorità consentita, limitato dal massimale, per il gas usato.

4. Il validatore riceve tutta la tariffa gas

La parte base viene bruciata. Il ricavo di esecuzione del validatore è la priorità effettiva, non tutto il prezzo.

5. Bruciare la tariffa base rende ogni transazione deflazionistica

La transazione brucia ETH, ma l’offerta totale cala solo se la combustione aggregata supera l’emissione aggregata.

Argomenti correlati

Fonti

Navigazione

Cerca nella wiki...