La Proof of Stake in Scryptachain

Scrypta
4 min readApr 9, 2021

--

Negli scorsi insights abbiamo parlato di nodi, diversificando e approfondendo le varie tipologie e come questi impattano sullo sviluppo della blockchain stessa. Oggi approfondiremo la proof of stake.

Cos’è la Proof of Stake?

L’algoritmo di consenso Proof of Stake è stato introdotto nel 2011 sul forum Bitcointalk con l’obiettivo di risolvere i problemi del sistema attualmente più diffuso, ovvero la Proof of Work. Nonostante entrambi abbiano la stessa finalità, ovvero raggiungere il consenso nella blockchain, il processo messo in atto è molto diverso.

Come funziona?

L’algoritmo Proof Of Stake utilizza un processo di elezione pseudo-casuale per selezionare un nodo che agirà da validatore del blocco successivo, in base ad una combinazione di fattori che possono includere periodo di staking, randomizzazione e fondi di proprietà del nodo.

È importante sottolineare che, nei sistemi Proof of Stake, l’inserimento di nuovi blocchi nella blockchain viene chiamato forging invece di mining, quindi i blocchi vengono “forgiati”. Una buona parte delle criptovalute che utilizzano la Proof of Stake iniziano vendendo monete pre-minate, oppure sfruttano l’algoritmo Proof of Work e in seguito passano alla Proof of Stake.

Mentre nei sistemi basati sulla Proof of Work viene creata nuova moneta per ricompensare i miner, generalmente il sistema Proof-of-Stake distribuisce come premio solo le commissioni sulle transazioni.

Gli utenti che vogliono partecipare al processo di forging devono congelare una certa somma di monete all’interno del network, mettendo quindi un’adeguata posta in gioco (letteralmente, at stake). Le dimensioni della stake determinano le probabilità di un nodo di venir selezionato come validatore e agire da forger del blocco successivo — più grande la stake, maggiori le probabilità. Tuttavia, per fare in modo che questo processo non favorisca solo i nodi più ricchi del network, il processo di selezione presenta altri metodi unici. I più comuni sono “Randomised Block Selection” e “Coin Age Selection”.

Con il metodo Randomised Block Selection, i validatori vengono selezionati cercando i nodi con una combinazione tra valore hash più basso e stake più grande. Dato che le dimensioni delle stake sono pubbliche, in genere gli altri nodi possono prevedere quale verrà selezionato.

Il metodo “Coin Age” Selection sceglie nodi in base a quanto tempo hanno lasciato i propri token congelati come stake. La “coin age” viene calcolata moltiplicando il numero di giorni per il numero di monete congelate. Quando un nodo forgia un blocco, la sua “coin age” viene resettata a zero e deve aspettare un certo periodo di tempo prima di poter essere selezionato, ciò impedisce ai nodi con grandi stake di dominare la blockchain.

Ogni criptovaluta che usa l’algoritmo Proof of Stake presenta una propria lista di regole e metodi per creare la migliore combinazione possibile per il network e per gli utenti.

Quando un nodo viene selezionato come forger del blocco successivo, deve controllare se le transazioni in esso contenute sono valide, firmare il blocco e aggiungerlo alla blockchain. Come ricompensa, il nodo riceve le commissioni associate alle transazioni nel blocco.

Se un nodo vuole smettere di partecipare al processo di forging, deve attendere un certo periodo di tempo prima di poter accedere alla propria stake e alle ricompense guadagnate, lasciando al network tempo per verificare che non abbia aggiunto blocchi fraudolenti alla blockchain.

Sicurezza

La stake funge da incentivo economico che dissuade il nodo forger dal convalidare o creare transazioni fraudolenti. Se il network individua una transazione fraudolenta, il nodo forger perde parte della sua stake, oltre al diritto a partecipare come forger in futuro. Quindi, a patto che la stake sia più grande della ricompensa, il validatore che tenta di raggirare il sistema perderebbe molto di più rispetto a quello che riuscirebbe a guadagnare.

Per riuscire a raggiungere un controllo effettivo del network e approvare transazioni fraudolente, un nodo dovrebbe possedere una stake maggioritaria, situazione conosciuta come 51% attack. A seconda del valore di una criptovaluta, un attacco del genere risulta quasi irrealizzabile dato che per ottenere il controllo del network sarebbe necessario acquisire il 51% delle unità in circolazione.

I vantaggi principali dell’algoritmo Proof of Stake sono l’efficienza energetica e la sicurezza. La facilità e l’accessibilità incoraggia un maggior numero di utenti a impostare e mantenere nodi. Questo, insieme al processo di randomizzazione, rende il network più decentralizzato, in quanto non sono più necessarie mining pool per aggiungere blocchi. Inoltre, dato che non vengono più distribuite nuove monete come ricompensa, il prezzo di una particolare moneta rimane più stabile.

Lo staking su scryptachain

La procedura di Staking comincia dall’inserimento di cryptovaluta LYRA all’interno del wallet, che deve essere collegato alla rete. Una volta che le monete avranno raggiunto la maturazione, potrai cominciare a partecipare al processo di validazione dei blocchi: avvia il wallet e sbloccalo in modalità “esclusivamente per staking”.

Adesso il tuo nodo è pronto a competere con gli altri nodi per aggiudicarsi la validazione dei blocchi successivi. Come ricompensa per mantenere sicura la rete, ogni minuto un wallet online viene scelto per la validazione e riceve una ricompensa di stake in Lyra coin.

Dopo aver ricevuto la ricompensa, la “Coin Age” (conferme acquisite) tornerà a zero, e dovrà arrivare a maturazione nuovamente. Non è necessario un importo minimo per lo staking LYRA, ma avere più monete in gioco ti darà un peso maggiore, e quindi una maggiore possibilità di ricevere ricompense e con maggior frequenza.

In generale, invece che i rig di mining utilizzati per le classiche blockchain Proof Of Work (come Bitcoin), il sistema Proof of Stake risolve gli stessi problemi di hashing ma gli hash sono rappresentati dalla “Coin Age” (età delle monete) e dagli UTXO esistenti (output di transazione non spesi).

Un output di transazione non speso (UTXO) è un hash di transazione, situato in un wallet che contiene fondi non spesi. Ogni volta che i fondi di un UTXO escono dal wallet per qualsiasi motivo, nel caso di una transazione ad esempio, viene creato un nuovo UTXO contenente i fondi rimanenti.

Seguici e contattaci su i nostri social

TelegramTwitterLinkedinDiscordFacebook

--

--