7 min read

Che cos’è Ethereum. Corso base ep. 7

Ethereum non è un semplice registro distribuito di transazioni. È piuttosto un “World Computer”, che rende programmabile, anche in modo automatico, il valore sotto forma token.

L’universo Ethereum

Che cos’è, e come funziona esattamente Ethereum? È un computer decentralizzato, in grado di eseguire delle applicazioni. Tutto giusto, ma come avviene concretamente questo processo?

In questo nuovo episodio del Corso base su Bitcoin e le criptovalute l’obiettivo sarà andare a vedere nel dettaglio come funziona Ethereum sulla sua blockchain, cosa succede quando si invia una transazione, e come ragiona uno smart contract.

La blockchain ETH

L’elemento centrale per conoscere l’ecosistema Ethereum è lo smart contract, e di conseguenza le dApp e le gas fees.

Come anticipato, la definizione generale di Ethereum è “World Computer”, azzeccatissima perché descrive un’infrastruttura decentralizzata basata su blockchain. Anche qui ci sono una moltitudine di nodi, ma con differenze rilevanti con Bitcoin, escluse decentralizzazione, immutabilità e trasparenza.

Oltre alle transazioni, tuttavia, ciò che cambia è proprio l’interazione degli smart contract, che sono da intendere come linee di codici dei programmi, che a loro volta rimangono immutabili. In questo senso, il valore non è più soltanto qualcosa di “trasferibile” in maniera decentralizzata come avviene con Bitcoin, ma anche “programmabile”.

La qualità principale di Ethereum è questa programmabilità, che ingloba il concetto di valore e, quindi, di finanza.

Nelle puntate precedenti si è imparato come le blockchain non siano uguali le une alle altre. Ci sono diversi algoritmi di consenso, o ci possono essere vari nodi validatori o delegatori. Ethereum, al momento, è una blockchain proof-of-work. E con “per ora” si intende fino a che non si completerà il “Merge”, che la porterà a diventare proof-of-stake.

Per ora, quindi, le differenze con Bitcoin si limitano in primo luogo all’algoritmo utilizzato per la validazione dei blocchi. In questo caso la blockchain non ha un tempo fissato tra il mining di un blocco e l’altro (per bitcoin è intorno ai 10 minuti), ma si ha un numero massimo di transazioni al secondo, di circa 15-20. È un limite strutturale, e ben noto a community e sviluppatori, che stanno lavorando proprio su questo.

A differenza di Bitcoin, Ethereum è programmabile, per cui la scalabilità diventa un problema molto più rilevante: in caso di poca operabilità sarebbe come utilizzare un pc che però riesce a fare quattro clic nell’arco di cinque minuti. Fintanto che ci sono pochi utenti tutto potrebbe comunque funzionare, ma con il crescere della popolarità il network viene portato alla saturazione, con conseguenze dirette sulle gas fee.

Verso la State Machine

Ethereum può essere definito “State Machine”. Andiamo con ordine. Un blocco di Ethereum contiene delle transazioni. Una di queste esprime un “cambiamento di stato”, ed è un ulteriore differenza con Bitcoin. Non esiste UTXO, che è quella dinamica che include “output”, “input”, “spent” e “unspent”, come si vede in Bitcoin, ma un cambio di “stato”, prima e dopo la transazione.

Le transazioni incluse nel blocco creano quindi una variazione di stato, chiamato anche “world state”, perché di fatto varia la struttura della blockchain intera, anche se nell’intervallo di un blocco. Tutti in nodi della blockchain, quindi, trovano il consenso (PoW) su un unico “world state”.

Gli smart contract

Ogni entità all’interno di Ethereum viene definito “account”. E ce ne sono di più tipi. Il primo viene chiamato EOA (externally owned account), che è un wallet privato tradizionale con le proprie chiavi private. Il proprio wallet blocco per blocco avrà associato il proprio storico, con il cambiamento del suo “state”.

Di contro, c’è il contract account, per cui non serve una chiave privata ed è on-chain. In pratica, un address controllato dal codice interno allo smart contract. E con il quale si può interagire. Nelle dApp, quindi, si riceve un input nell’interazione con gli smart contract.

In generale, un input modifica uno smart contract, che poi esprime un output in base a come è programmato, con il privilegio di influenza implementata (codice EVM) nei confronti di specifici address esterni (una specie di amministratori).

Importante da chiarire, infine, è il fatto che tra gli smart contract una tipologia è quella legata ai token. Per capirsi, se si crea un token, si crea di conseguenza anche uno smart contract, che a sua volta controlla il token.

Le dApp

Tanti smart contract messi insieme formano una dApp. Tutta una complessità delle funzioni in un solo smart contract sarebbe molto controproducente, ma questi possono benissimo interagire tra di loro. Basti pensare, per esempio, a una classica piattaforma DeFi, con più pool di liquidità a disposizione, gestiti appunto da diversi smart contract. Inoltre, anche lato debugging rende le procedure molto più semplice.

Il backend di un DEX è quindi tutto un insieme di smart contract. Uno per ogni pool, uno per il controllo dei prezzi, il router (che accompagna nei pagamenti) e gli “oracoli”, che prendono fonti esterni per metterli on-chain (sempre per il controllo dei prezzi).

Ad ogni operazione effettuata con la dApp, a questo punto, viene spesa una certa somma in gas fee, proprio perché l’interazione è costantemente con la blockchain in forma di transazione.

Ethereum virtual machine

La EVM è l’ente che elabora i dati. Tutte le funzioni degli smart contract, gli stati, e la programmazione (Solidity). Un input viene inviato a uno smart contract, questo viene elaborato dalla EVM, e quello che si genera è il cambiamento dello “stato”, con un update dello smart contract stesso.

Il codice sorgente di uno smart contract è scritto in Solidity, che è ovviamente leggibile. Compilandolo diventa “linguaggio macchina”, che poi viene applicato all’address. Una volta richiamata la funzione il passaggio è l’opposto, e viene gestito in entrambi i casi dall’EVM.

Le Gas fee

Il ruolo del Gas è la moderazione delle transazioni, grazie al quale il network non viene intasato. Ogni funzione è, in questo senso, a pagamento. E questo a seconda della funzione che viene richiamata, con un vero e proprio listino prezzi.

Il costo è variabile in base alle “unità” di gas. Non è il prezzo del gas in generale a variare, ma le sue unità necessarie per ogni operazione. Nel momento in cui di compila una transazione, infatti, si trova il gas price (il costo che si è disposti a pagare per unità di gas), e il max gas, che sono le unità di gas che invece si è disposti a spendere.

Il prezzo è invece deciso da una classica asta, decisa da chi è disposto a pagare di più. Se la chain è intasata, chi vuole una transazione immediata sarà costretto a pagarla di più in termini di fee. Vale per Ethereum, ma anche per tutte le altre chain che funzionano con EVM, ovviamente.

Il costo complessivo è deciso dal numero di unità di gas per il gas price, mentre l’unità di misura è rappresentata dal GWEI, ovvero una piccolissima quantità di ETH (un miliardesimo).

Il valore di Ethereum

Ciò che è consumabile ha un valore, e questo vale anche per Ethereum, la cui domanda è decisa da vari fattori. Lo è il gas, come abbiamo visto, il cui prezzo è influenzato da più dinamiche. C’è per esempio il EIP-1559, che non è altro che il “burn” proporzionale al gas speso per ogni transazione. Oppure la ricompensa per i miner, con una rendita del 4% annua. Tutto ovviamente, cambierà radicalmente con il “Merge”, per esempio il passaggio da asset inflattivo a deflattivo.


X

Vuoi essere sempre sul pezzo?

Iscriviti alla newsletter. Niente spam, promesso!

Accetto le privacy policy, per info leggi qui

Inoltre se ti iscrivi c'è un regalo per te: un report sui trend da seguire del 2023!

bitcoin
Bitcoin (BTC) $ 23,514.30
ethereum
Ethereum (ETH) $ 1,611.79
tether
Tether (USDT) $ 1.00
usd-coin
USD Coin (USDC) $ 0.999966
bnb
BNB (BNB) $ 315.96
xrp
XRP (XRP) $ 0.414701
binance-usd
Binance USD (BUSD) $ 1.00
cardano
Cardano (ADA) $ 0.390630
dogecoin
Dogecoin (DOGE) $ 0.090235
matic-network
Polygon (MATIC) $ 1.16
okb
OKB (OKB) $ 39.78
solana
Solana (SOL) $ 24.44
staked-ether
Lido Staked Ether (STETH) $ 1,610.19
polkadot
Polkadot (DOT) $ 6.60
shiba-inu
Shiba Inu (SHIB) $ 0.000012
litecoin
Litecoin (LTC) $ 95.63
avalanche-2
Avalanche (AVAX) $ 20.66
tron
TRON (TRX) $ 0.063633
uniswap
Uniswap (UNI) $ 6.91
dai
Dai (DAI) $ 1.00
wrapped-bitcoin
Wrapped Bitcoin (WBTC) $ 23,414.27
cosmos
Cosmos Hub (ATOM) $ 13.52
the-open-network
Toncoin (TON) $ 2.49
chainlink
Chainlink (LINK) $ 7.42
leo-token
LEO Token (LEO) $ 3.67
monero
Monero (XMR) $ 184.97
ethereum-classic
Ethereum Classic (ETC) $ 22.44
aptos
Aptos (APT) $ 18.33
bitcoin-cash
Bitcoin Cash (BCH) $ 136.91
stellar
Stellar (XLM) $ 0.093757
apecoin
ApeCoin (APE) $ 6.16
quant-network
Quant (QNT) $ 150.94
near
NEAR Protocol (NEAR) $ 2.56
crypto-com-chain
Cronos (CRO) $ 0.082146
filecoin
Filecoin (FIL) $ 5.39
lido-dao
Lido DAO (LDO) $ 2.28
algorand
Algorand (ALGO) $ 0.260127
vechain
VeChain (VET) $ 0.024751
internet-computer
Internet Computer (ICP) $ 6.12
hedera-hashgraph
Hedera (HBAR) $ 0.068686
axie-infinity
Axie Infinity (AXS) $ 11.74
decentraland
Decentraland (MANA) $ 0.733993
aave
Aave (AAVE) $ 86.95
fantom
Fantom (FTM) $ 0.477983
eos
EOS (EOS) $ 1.11
the-sandbox
The Sandbox (SAND) $ 0.755414
flow
Flow (FLOW) $ 1.10
elrond-erd-2
MultiversX (EGLD) $ 45.09
theta-token
Theta Network (THETA) $ 1.11
tezos
Tezos (XTZ) $ 1.18