7 min read

Staking e proof-of-stake. Corso Base ep. 4

Di Davide Grammatica

Continua, nella quarta puntata del nostro corso dedicato alle basi delle Crypto, lo studio degli algoritmi di consenso distribuito. Stavolta parliamo di proof-of-Stake (PoS): ecco cos'è e come funziona

L’algoritmo di consenso PoS

Lo “staking” è uno dei concetti più malinterpretati in assoluto. Soprattutto se accomunato alle possibilità di rendita passiva rese disponibili dai vari CEX. 

Lo stacking è il prendere parte attiva nel mettere in sicurezza una blockchain, ed è in questo senso che in questa sede si parlerà dell’algoritmo di consenso di tipo proof-of-stake (PoS), di come funziona, delle differenze che ci sono con il proof-of-work in termini di vantaggi e svantaggi, e di come funziona la validazione di un blocco. Lo staking, inteso come validatore è un punto cruciale del funzionamento dell’ecosistema crypto, ed è quindi fondamentale conoscerlo. 

Come funziona

Cosa succede quando si mettono delle coin in staking? Come per il proof-of-work, anche per il proof-of-stake vale la stessa problematica da risolvere, facilmente esemplificata dal “problema dei generali bizantini”, che abbiamo approfondito nell’ultima puntata. Tutti i vari “generali”, in questo caso i nodi della blockchain, devono coordinati in maniera distribuita, ovvero senza parlarsi tutti insieme l’uno con l’altro, evitando che i traditori vadano influenzare le funzioni dell’infrastruttura. In un sistema centralizzato il problema non si pone, ma quando i nodi sono decentralizzati e non c’è una gerarchia, allora la questione è più compli cata, ed entra in gioco il consenso distribuito. 

Nel PoW, tutto il sistema si regge sul fatto che chi partecipa attivamente al processo “spende” del “lavoro”, tradotto in termini di potenza di calcolo, energia, e quindi soldi. I miner, in questo senso, hanno tutto l’interesse che le  cose vadano bene, con l’incentivo offerto in termini di guadagno. Nel caso del PoS, come si può intuire, non si parla di “lavoro”, ma di “stake”, un termine che deriva direttamente dal campo del gioco d’azzardo, inteso come un asset messo “in palio”. 

Al processo decisionale di validazione dei blocchi, quindi, vengono messi in staking alcuni token, con l’assunzione di un rischio dettato dalla natura stessa della blockchain. Gli asset in staking, in questo caso, non sono “al sicuro”, e proprio su questo rischio si basa l’incentivo a tutto il network di far funzionare bene le cose, tenendo lontani attori malevoli che potrebbero compromettere l’infrastruttura. 

Questo non è l’unico incentivo (o deterrente) perché ci sono anche delle “punizioni” dirette a chi  non svolge bene il suo ruolo di validatore. Ma ad ogni modo, ed è questo il passaggio fondamentale, nel PoS un nodo “vincola” i suoi token, ottenendo un potere di voto proporzionale. Ma cosa significa? In sostanza, i vari nodi che partecipano alla blockchain hanno un potere di voto distribuito tra di loro in maniera proporzionale alla quantità dei token in staking. Più se ne hanno, più sarà alta la possibilità di essere scelti come validatori.

L’algoritmo Tendermint BFT

L’algoritmo più famoso, o generalmente più utilizzato, è il Tendermint BFT, sfruttato per esempio da Cardano. Questo è pensato appositamente per essere “Byzantine fault tolerant”, da cui deriva il suo stesso nome, e per risolvere il problema di consenso alla base della blockchain. E per evitare quindi che eventuali generali  bizantini traditori possano compromettere tutta l’infrastruttura. 

Ma come funziona? Innanzitutto si inizia da un “block producer”, che viene scelto, come si accennava, in base alla quantità di token messi in staking. Questo sarà il blocco che propagherà le transazioni impacchettandole all’interno del blocco e “mostrandole” agli altri blocchi validatori, che da cui dipenderà la buona riuscita delle transazioni stesse. È in questo contesto che si esprime il potere di voto, con una transazione che viene effettuata una volta raggiunto un quorum relativo ai voti positivi o negativi dei validatori. 

L’algoritmo si definisce anche di consenso “asincrono”, proprio perché, a differenza del proof-of-work, in questo caso non c’è bisogno che tutti i nodi dicano la loro contemporaneamente. Infine, il block producer riceve la sua ricompensa per aver proposto e impacchettato un blocco valido.

Lo slashing

Questo è il funzionamento generale, ma c’è ancora molto da approfondire. I validatori, infatti, devono avere anche un deterrente, e questo è rappresentato dalla quantità di token che hanno messo in gioco. Tuttavia, nel caso di un partecipante particolarmente esposto, ne serve uno anche di un altro tipo, per evitare che questo possa trarre troppo vantaggio dalla sua posizione. Questo si chiama “slashing”, ovvero la punizione che viene inflitta al validatore che si comporta male, ovvero quando prova a proporre un blocco non valido, uno sbagliato, fa un double signing, oppure semplicemente è sempre off-line.

Ci sono due tipologie di punizione. La prima è appunto lo slashing, che consiste nella messa da parte di un partecipante tramite la perdita di una parte dello staking. La seconda è invece riservata a chi si comporta in modo malevolo, e viene detta “sailing”. In questo modo, il validatore malevolo viene inserito in una blacklist. E il deterrente, in questo caso, è fortissimo.

Validatore e delegatore

Per essere un validatore è richiesta un’enorme quantità di token. In Cosmos, per esempio, ci sono anche slot limitati dedicati ai top staker, quindi è poco verosimile che qualcuno con 10 Atom possa diventare un validatore. I modi sono due: o si è un membro della community con delle deleghe particolari, oppure si è una whale multimilionaria. 

Tuttavia ci sono dei vincoli. Il primo è il fatto che non ci sono poi così tanti vantaggi ad essere validatori rispetto a essere un delegatore (a meno di particolati deleghe), e il secondo è il dover gestire una macchina di validazione, il programma che fa le operazioni di proposta dei blocchi nonché di voto. Questa deve essere sempre online, e avere soprattutto requisiti hardware minimi.

Se non interessa sostenere queste spese, allora si può delegare. E in questo modo si possono ottenere le stesse ricompense da block producer. Il validatore, una volta ricevuta la ricompensa, la distribuirà in maniera proporzionale, trattenendo una piccola commissione. La scelta è quindi semplice, rispetto a cosa fare con i propri fondi, a meno che non si voglia entrare nel business dei validatori, che di fatto è un lavoro effettivo in quanto quest’ultimo deve guadagnarsi anche la credibilità del network. Non si dovrà quindi scegliere il validatore con fee più basse, ma uno affidabile e che non corre il rischio di subire slashing. 

Il validatore acquista potere di voto in base a quante deleghe riceve, e questo non serve solo alla “proposta” relativa al blocco, ma anche al potere politico all’interno della chain. 

La governance

Altra questione è quella che riguarda la governance di un progetto, che comunque è direttamente collegata alla questione del voting power. A seconda degli ecosistemi in cui si partecipa, la governance può essere generalmente considerata come potere decisionale rispetto al suo sviluppo tramite lo sfruttamento del potere di voto. Con delle eccezioni che riguardano elementi particolari delle community, a cui possono essere delegate funzioni particolari, come per esempio il potere di veto su alcune proposte. Il voto ha poi generalmente un quorum da raggiungere per far si che una proposta sia accettata. 

La differenza con il proof-of-work in questo caso è sostanziale, in questo quest’ultimo, perché possa implementare una modifica, dovrebbe usufruire di un “fork”, creando una nuova effettiva blockchain che i miner decideranno se adottare o meno. 

La decentralizzazione, a sua volta, diventa quindi doppiamente importante, poiché potrebbe presentarsi uno scenario in cui pochi validatori abbiano la stragrande maggioranza dei voti. E ciò può accadere fintanto che firmino loro tutti i blocchi, controllando anche gli aggiornamenti della chain. Il che, ovviamente, è controproducente se lo scopo era proprio evitare un sistema centralizzato. Per ottenere la decentralizzazione è quindi necessario evitare il rischio che pochi validatori diventino troppo potenti, e che l’interesse della chain si concentri sulla distribuzione delle deleghe. Il voting power è quindi anche il sintomo di quanto una blockchain possa essere decentralizzata. 


X

Vuoi essere sempre sul pezzo?

Iscriviti alla newsletter. Niente spam, promesso!

Se ti iscrivi c'è un regalo per te: una guida completa per i prossimi airdrop!

bitcoin
Bitcoin (BTC) $ 27,581.39
ethereum
Ethereum (ETH) $ 1,854.58
tether
Tether (USDT) $ 1.00
bnb
BNB (BNB) $ 309.09
usd-coin
USD Coin (USDC) $ 0.999923
xrp
XRP (XRP) $ 0.478753
cardano
Cardano (ADA) $ 0.377740
staked-ether
Lido Staked Ether (STETH) $ 1,855.17
dogecoin
Dogecoin (DOGE) $ 0.072967
matic-network
Polygon (MATIC) $ 0.931137
solana
Solana (SOL) $ 20.80
tron
TRON (TRX) $ 0.076944
polkadot
Polkadot (DOT) $ 5.46
litecoin
Litecoin (LTC) $ 90.33
binance-usd
Binance USD (BUSD) $ 1.00
shiba-inu
Shiba Inu (SHIB) $ 0.000009
avalanche-2
Avalanche (AVAX) $ 14.68
dai
Dai (DAI) $ 1.00
wrapped-bitcoin
Wrapped Bitcoin (WBTC) $ 27,628.40
uniswap
Uniswap (UNI) $ 5.07
chainlink
Chainlink (LINK) $ 6.53
leo-token
LEO Token (LEO) $ 3.54
cosmos
Cosmos Hub (ATOM) $ 10.79
okb
OKB (OKB) $ 47.42
the-open-network
Toncoin (TON) $ 1.93
monero
Monero (XMR) $ 155.84
ethereum-classic
Ethereum Classic (ETC) $ 18.32
stellar
Stellar (XLM) $ 0.088166
bitcoin-cash
Bitcoin Cash (BCH) $ 114.74
internet-computer
Internet Computer (ICP) $ 4.92
true-usd
TrueUSD (TUSD) $ 1.00
filecoin
Filecoin (FIL) $ 4.59
lido-dao
Lido DAO (LDO) $ 2.02
hedera-hashgraph
Hedera (HBAR) $ 0.053392
aptos
Aptos (APT) $ 8.45
arbitrum
Arbitrum (ARB) $ 1.21
crypto-com-chain
Cronos (CRO) $ 0.060734
quant-network
Quant (QNT) $ 104.62
near
NEAR Protocol (NEAR) $ 1.64
vechain
VeChain (VET) $ 0.020229
ggtkn
GGTKN (GGTKN) $ 0.114540
apecoin
ApeCoin (APE) $ 3.25
algorand
Algorand (ALGO) $ 0.152379
the-graph
The Graph (GRT) $ 0.122098
the-sandbox
The Sandbox (SAND) $ 0.555624
paxos-standard
Pax Dollar (USDP) $ 0.999680
frax
Frax (FRAX) $ 1.00
eos
EOS (EOS) $ 0.903203
edgecoin-2
Edgecoin (EDGT) $ 1.00
render-token
Render (RNDR) $ 2.70