Proof of stake VS Proof of work

By Anycoin Direct

Tutti hanno sentito parlare del Proof-of-Stake e del Proof-of-Work. Cosa significhino esattamente è ciò di cui discuteremo oggi in questa lezione. Rilassati e lasciati trasportare nel mondo del mining e dello staking di monete.

Per farla breve, Proof-of-Stake significa che, detenendo monete nel proprio wallet, si guadagnano monete.

Il Proof-of-Work significa che supportando una rete e tenendo traccia della blockchain si ricevono monete risolvendo puzzle difficili.

Cos’è il Proof-of-Work?

Ora che conosciamo la versione breve, andremo un po’ più a fondo nella questione.

Nel 1993, agli albori di Internet, lo spamming era piuttosto comune, proprio come oggi. Il problema stava nel fatto che le reti potevano essere distrutte da attacchi Distributed Denial-of-Service (DDoS). Un attacco DDoS significa che vengono inviate così tante richieste a un server che non riesce più a fornire servizio e smette di funzionare.

Cynthia Dwork e Moni Naor trovarono la soluzione a questo. Fecero in modo che qualcuno che richiedeva un servizio dovesse fare “un po’ di fatica” per ottenere il servizio. Questa fatica consisteva nel tempo di elaborazione del computer. Questo semplice metodo rese costoso attaccare le reti.

La terminologia “Proof-of-Work” è stata inventata da Ari Juels e Markus Jakobsson nel 1999.

Nel 2008, Satoshi Nakamoto scrisse il white paper di Bitcoin, descrivendo il concetto di Proof-of-Work e del suo meccanismo di consenso e il modo in cui veniva utilizzato dalla rete Bitcoin.

Il Proof-of-Work fu il primo metodo di acquisizione di monete nel mondo della criptovaluta . Si ottengono queste monete essendo il primo a risolvere un problema matematico in una rete di computer connessi. Il vero lavoro svolto è stato convalidare le transazioni e aggiungere nuovi blocchi a una blockchain.

Una blockchain è una catena di blocchi che si espande di un blocco alla volta con il passare del tempo. Si può pensare a essa come una catena di blocchi in fila con un collegamento fra loro.

Su Bitcoin, un blocco viene aggiunto alla blockchain ogni 10 minuti da validatori. Un blocco contiene tutte le transazioni e nuove monete dalla rete. Questi validatori vengono chiamati miner. Cercano di essere i primi a risolvere difficili puzzle matematici e dunque acquisire il diritto di aggiungere un nuovo blocco alla catena e diventare proprietari di monete appena coniate.

Viene usato Hashcash, un sistema Proof-of-Work che in realtà è progettato per limitare lo spam e resistere agli attacchi DDoS. Questo sistema risale al 1997 ed è stato inventato da Adam Back. Questo algoritmo assicura che la difficoltà di questo puzzle continui a cambiare in base alla potenza di calcolo dell’intera rete.

Almeno il 51% dei miner o validatori deve concordare che il nuovo blocco sia corretto. Questo viene chiamato algoritmo di consenso.

Il protocollo crittografico usato in questo processo è lo zero knowledge proof. Questo significa che un nodo, o validatore, dimostra a un altro nodo di conoscere il valore di una dichiarazione senza dover rilasciare altre informazioni. Dunque, un nodo deve dimostrare di conoscere lo stato della rete senza condividere o ottenere altre informazioni.

Facciamo una breve visita agli inizi della rete Bitcoin. Essendo l’unico miner, si ottengono tutte le nuove monete ogni 10 minuti. Quando arrivano nuovi miner, il puzzle da risolvere è ancora semplice, per esempio indovinare un numero da 1 a 1 milione entro dieci minuti. Il primo computer che indovina può creare il nuovo blocco e ottenere nuove monete.

A un certo punto, ci sono migliaia di computer che lavorano alla risoluzione di questo puzzle. A quel punto la soluzione viene trovata molto velocemente e vengono creati troppi blocchi. La soluzione a questo problema proposta da Satoshi Nakamoto, il creatore di Bitcoin, era quella di rendere il problema sempre più difficile, in modo che un nuovo blocco venisse aggiunto sempre ogni 10 minuti. E questo è il modo in cui ha funzionato per più di dieci anni, in modo completamente automatico.

Con l'aumento del prezzo di Bitcoin, i nuovi miner continuano a partecipare e il problema diventa così difficile che molti miner non possono più risolverlo per primi e si arrendono. È inoltre possibile che i costi siano più alti dei profitti.

Il mining con il Proof-of-Work si è dimostrato molto difficile e costoso per Bitcoin, rendendo solo i migliori computer e le minori tariffe dell'energia redditizi. Questi computer sono disponibili solo alle persone abbastanza ricche per permetterseli.

Il mining di Bitcoin oggi consuma già tanta elettricità quanto il consumo annuo di tutta la Svezia. Questo sta iniziando ad attrarre diverse critiche.

A proposito, può verificarsi anche il contrario. Se il puzzle diventa troppo difficile da venire risolto meno spesso di una volta ogni 10 minuti, deve diventare più semplice. Dopotutto, se la soluzione non viene trovata, non vengono aggiunti nuovi blocchi. E se non vengono aggiunti nuovi blocchi, nessuna transazione viene completata.

Un’altra ragione per rendere la risoluzione del problema più semplice è quello di avere meno miner. Questo può accadere se il prezzo di Bitcoin crolla in modo drastico o se il prezzo dell'attrezzatura e dell'energia rende il mining non redditizio.

Come funziona realmente il Proof-of-Work?

Il Proof-of-Work offre una blockchain sicura e decentralizzata. È così sicura perché tantissimi miner stanno al passo con la rete. È decentralizzata perché chiunque può tenere traccia della rete se lo desidera. Chiunque abbia un computer può scegliere di farlo e diventa dunque un nodo. Perciò non esiste un’autorità centrale, tutto è automatico. Inoltre, non sono necessari permessi da un'autorità per partecipare.

Una volta aggiunto un blocco alla blockchain, questo non può essere cambiato. Questo stato prestabilito di una blockchain viene registrato in un ledger e può essere visualizzato da tutti. Questo viene chiamato ledger distribuito. Tutti i miner e nodi hanno accesso allo stato di questa rete e ledger. Questo metodo di archiviazione decentralizzato offre dunque una buona sicurezza contro attacchi alla rete o corruzione.

Dato che tutti possono partecipare, anche la censura diventa impossibile. Anche se i governi possono decidere di bandire la rete o la moneta stessa.

Quando si aggiunge un nuovo blocco, viene usato il Byzantine Fault Tolerance. Questo significa che i computer connessi non devono necessariamente fidarsi l’uno degli altri, ma concordano sul fatto che il blocco sia corretto perché si basano sull'idea che le regole applicate siano affidabili. Se il 51% dei computer è d'accordo, allora il nuovo blocco viene approvato e aggiunto al ledger.

Ogni blocco ha un hash, ovvero un codice, unico al blocco. Questo hash viene aggiunto a un nuovo blocco e l’hash del blocco precedente viene scritto su un nuovo blocco, rendendo impossibile falsificare la rete. Questo hash è un codice calcolato da un algoritmo.

Il Proof-of-Work richiede così tanta potenza di calcolo che solitamente è troppo costoso attaccare la rete. Questo è il motivo per cui è stata inventata la rete.

Varianti del Proof-of-Work

1. Proof-of-Elapsed Time.

I miner sono scelti da una lotteria per aggiungere un nuovo blocco e dunque ottenere nuove monete.

Questo venne inventato dalla Intel Corporation nel 2016 e sviluppato insieme a IBM e Linux. Alcune funzioni di questo:

  • KYC (know your customer)

  • Tempi casuali in cui miner o nodo non fanno nulla

  • Consenso autorizzato anziché senza autorizzazione

  • Il vincitore della lotteria è il miner che ha il tempo casuale più breve

Un esempio di criptovaluta che funziona con questo è Hyperledger Sawtooth.

2. Delayed Proof-of-Work

Le reti di criptovaluta più piccole ha un tasso di hash più basso, o puzzle più facili da risolvere a causa della ridotta potenza di calcolo presente nella rete. Questo le rende vulnerabili ad attacchi al 51%, dove gli aggressori cercano di ottenere monete a cui non hanno diritto tramite doppia spesa, oppure vogliono distruggere l’intera rete.

Nel Delayed Proof-of-Work, il tasso di hash di una rete forte, per esempio Bitcoin, viene usato per proteggere la rete più piccola dagli attacchi. Inoltre, un aggressore ora ha bisogno di 2/3 della potenza di hash per attaccare la rete, anziché il solito 51%.

Viene fatta un’istantanea costante della rete come backup contro un attacco. Se dovesse poi verificarsi un attacco, la rete originale potrebbe comunque essere recuperata da questo backup.

Esempio: Komodo, un fork di ZCash.

3. Proof-of-Access

Questa variante chiede a un miner se può accedere a vecchi blocchi oltre al blocco precedente. Se è in grado di fornire questo dato, allora c'è il consenso e gli è permesso di aggiungere un nuovo blocco alla blockchain.

Un esempio di questo è Arweave

Cos’è il Proof-of-Stake?

Il Proof-of-Stake (deposito) è un algoritmo di consenso usato dalle reti blockchain per creare nuovi blocchi e convalidare transazioni.

I validatori tengono traccia dello stato della blockchain. Un validatore potrebbe aggiungere nuove monete alla rete e convalidare transazioni fintanto che abbia puntato la sua puntata. Infatti, solitamente deve avere una buona quantità di monete per essere un validatore.

Queste monete sono la posta in gioco (staking). Se un validatore non svolge i suoi compiti in modo appropriato, può essere punito con una sanzione. Questo viene chiamato slashing. Alcune delle sue monete in staking vengono sequestrate, in modo che il validatore capisca di non dover ripetere nuovamente il suo errore.

Per esempio, se un validatore è troppo spesso offline, a quanto pare altri validatori devono fare il suo lavoro. Per questo, viene conferito uno slash. Si può ricevere una sanzione anche se vengono approvate transazioni errate. Se si sbaglia troppo spesso, si può perfino essere banditi dalla rete.

Ovviamente, se si fa staking di monete su una piattaforma di scambio, non si è un validatore. Questa è una piattaforma di scambio. Ha molte monete in staking e possono essere sfruttate a un prezzo solitamente basso. Ci sono piccole differenze nella quantità che i validatori conferiscono per il proprio staking, perciò passare una ricerca può far guadagnare alcune monete extra.

La prima criptovaluta a funzionare tramite il Proof-of-Stake è stata l’unica e inimitabile Peercoin nel 2012. Questa è stata seguita da NXT nel 2013. Negli anni a seguire, le reti Proof-of-Stake sono cresciute finché anche il fratello maggiore Ethereum ha iniziato a funzionare su di essa.

Altre reti Proof-of-Stake ben note sono Tezos, Cardano e Polkadot.

Il Proof-of-Stake può essere chiamato sistema di distribuzione per i ricchi. Più monete possiedi, più monete ricevi. I meno abbienti fra noi potrebbero stare nell'ombra di questi ricconi e sperare che questi validatori abbienti offrano loro un prezzo equo.

D'altra parte, è un sistema più equo del Proof-of-Work in molti modi. Non è necessario diventare un validatore per poter ottenere monete extra, anche se si possiedono solo una manciata di monete.

Un fattore che entra in gioco è la durata del proprio ruolo come validatore. Più viene svolto questo ruolo, più è probabile che si abbia il permesso di aggiungere un nuovo blocco e di ricevere la commissione di transazione. Le reti cercano di essere in questo modo validatori affidabili.

Il Proof-of-Stake funziona anche assegnando validatori in modo casuale per aggiungere un nuovo blocco, altrimenti i validatori più longevi creerebbero tutti i blocchi.

Un aspetto positivo del Proof-of-Stake è che un attacco al 51% è inutile. A causa dello slashing dovuto agli errori, si perderebbero grandi somme di denaro in questo modo.

Quali tipi di Proof-of-Stake esistono?

1.Delegated Proof-of-Stake

In questa forma di Proof-of-Stake, i validatori vengono delegati per aggiungere blocchi alla rete. I partecipanti alla rete votano su chi saranno i validatori, come una rappresentazione di rappresentanza.

Dato che ci sono pochi validatori, il protocollo è rapido e scalabile.

Un validatore farà tutto il possibile per mantenere i suoi “elettori” felici in modo che rimanga un delegato. Dopotutto, questo gli fa guadagnare il suo reddito. Fa questo mantenendo le sue promesse, ma anche offrendo ricompense commercialmente allettanti agli altri delegati.

Uno svantaggio di questo sistema è che può portare al nepotismo. Alcuni delegati poi vengono scelti non in base a ciò che fanno per la rete, ma per la loro rete estensiva. In casi estremi, un tale gruppo di amici può addirittura far esplodere l’intera rete, in quanto pensano solo ai loro interessi o attaccano perfino la rete tutti insieme.

Un esempio di moneta con questo sistema è EOS.

2. Effective Proof-of-Stake

Lo scopo di questo meccanismo di consenso è prevenire la centralizzazione delle monete in staking. Viene fatto tramite una combinazione di Proof-of-Stake iniziale (chiunque li abbia più a lungo è spesso il più affidabile), questi staker ottengono le ricompense più elevate, oltre a una ricompensa più bassa per investitori successivi che è ancora economicamente interessante.

Esempio: Harmony.

3. Bonded Proof-of-Stake

In questo protocollo, i validatori bloccano le loro monete per un certo periodo di tempo (bonding), dando loro una commissione per la convalida di nuovi blocchi.

Più monete si puntano, più potere di voto si ha. Uno svantaggio di questo sistema è che i validatori sono a grave rischio se la rete o il prezzo collassano.

Esempio: Cosmos.

4. Pure Proof-of-Stake

Più monete si possiedono, più probabile è che si riceva il permesso di creare un nuovo blocco e ottenere monete.

Gli staker vengono scelti in modo casuale e segreto per convalidare i blocchi, ma se si hanno più monete in staking, si verrà scelti più velocemente. È come una lotteria dove si vince più spesso se si possiede di più. In realtà, questo ha senso.

È un sistema molto decentralizzato che rende i trucchi tipici come la creazione di più account o i favoritismi verso delegati impossibile.

Esempio: Algorand.

5. Proof-of-Stake-Time

Più monete si mettono in staking, più si ottengono profitti. Questo offre un reddito sempre più affidabile, in quanto gli staker lasciano le proprie monete in staking più spesso.

Uno svantaggio di questo sistema è che le monete sono sempre più in mano a pochi. Inoltre, a quel punto non c’è praticamente trading di questa criptovaluta, cosa che non va a vantaggio del prezzo.

Esempio: Vericoin.

6. Nominated Proof-of-Stake

Sotto questo protocollo di consenso, i validatori genereranno nuovi blocchi. I nominatori votano validatori che supportano. Più supporto ricevono i validatori sotto forma di quantità di puntata, più è probabile che vengano autorizzati a creare un nuovo blocco.

Sia validatori che votanti possono essere scartati per errori di implementazione.

Esempio: Polkadot.

7. Anonymous Proof-of-Stake

Qui è possibile fare staking e ricevere ricompense in modo anonimo, senza essere noti al mondo esterno.

Esempio: PIVX.

8. Leased Proof-of-Stake

Un validatore deve mettere in staking un buon numero di monete da una rete per potersi chiamare tale. I nodi possono poi prendere in prestito monete per creare blocchi e condividere i profitti con il validatore da cui hanno richiesto il prestito.

Ogni validatore crea le sue condizioni, perciò bisogna fare attenzione quando si richiede un prestito. Chi prende in prestito può sempre passare a un altro validatore, perciò anche i validatori dovrebbero assicurarsi di offrire buone condizioni.

Esempio: Waves.

9. Hybrid Proof-of-Stake

Cerca di ottenere il meglio dalla combinazione di Proof-of-Work e Proof-of-Stake.

Esempio: DASH.

10. Secure Proof-of-Stake

In questo protocollo, i validatori vengono scelti in modo casuale in modo che nessuno possa essere influenzato.

Funziona tramite il numero di monete in staking, ma anche tramite una valutazione dello staker stesso. Non appena un validatore commette un errore, il suo punteggio crollerà e non verrà scelto così facilmente.

Esempio: Elrond.

11. Delegated Proof-of-Contribution

Alcune reti ricompensano le persone che fanno qualcosa per la rete. Le persone che possiedono monete possono votare le persone che hanno aiutato la rete, dove entrambi i votanti e i nominati ricevono un compenso.

Esempio: ICON.

12. Roll Delegated Proof-of-Stake

“Roll” in questo caso si riferisce a “Roll a die”, l'espressione inglese per tirare un dado, in altre parole un RNG (Generatore di Numeri Casuali).

Questa variante del Delegated Proof-of-Stake cerca di evitare le scorciatoie di tale protocollo facendo validare ai delegati un nuovo blocco su base casuale.

Esempio: IoTeX.

13. Tresholded Proof-of-Stake

Le monete vengono puntate e bloccate per un certo periodo, dopo il quale le ricompense vengono rilasciate e le monete nuovamente sbloccate. C’è una certa soglia (threshold) sotto la quale non si ricevono ricompense, a seconda del numero di partecipanti e delle monete che sono in staking.

Esempio: NEAR.

Differenze fra Proof-of-Work e Proof-of-Stake

Si può scoprire già tanto dal testo di cui sopra, ma rivedremo nuovamente le differenze in modo che siano chiare.

Entrambe le reti usano un meccanismo di consenso per coniare nuove monete, ma il Proof-of-Work consuma molta energia nel processo.

Il Proof-of-Work è un sistema dove i ricchi si arricchiscono, ma almeno si può sempre partecipare se si ha poco o nulla, laddove con il Proof-of-Work, solamente il semplice miner è troppo costoso per tutti noi.

Con il Proof-of-Stake, la sicurezza della rete è garantita dal fatto che un validatore malintenzionato o dannoso sia vittima di slashing e dunque perda le monete puntate. Per questo motivo, i validatori si assicurano che le loro monete non vengano sequestrate.

Con il Proof-of-Work, la sicurezza della rete è garantita dal fatto che il costo di un attacco sia così alto da diventare infruttuoso col tempo.

È necessaria una buona conoscenza tecnica per partecipare al Proof-of-Work. Con il Proof-of-Stake, la cosa principale sono i soldi.

Le reti Proof-of-Work tendono a essere più lente rispetto al Proof-of-Stake, rendendo più frequenti gli ingorghi e il tempo di attesa per la convalidazione delle transazioni.

Con il Proof-of-Stake, il problema che ne può derivare è che i validatori ottengano così tante monete tutte assieme che possano iniziare a influenzare il prezzo della criptovaluta.

Con il Proof-of-Work, c’è il rischio che alcune reti accumulino così tanta potenza di calcolo da poter programmare un attacco al 51%. Con Bitcoin, per esempio, c’è un pool che possiede oltre il 20% della potenza di calcolo dell’intera rete. Quando i pool si avvicinano troppo al 50%, spesso gli viene chiesto di forzare una divisione per evitare di compromettere una rete.

Il costo di transazione del Proof-of-Work è solitamente molto più alto rispetto al Proof-of-Stake.

Le monete Proof-of-Work possono essere vendute in qualsiasi momento. Se invece le monete sono in staking, questo non è possibile. Questo può essere un problema durante un crollo o in un mercato ribassista. Gli stop losses non sono possibili se le monete sono in staking.

Le reti più piccole che operano con il Proof-of-Work possono essere attaccate se la potenza di calcolo richiesta per un attacco è meno costosa rispetto al suo costo.

Con il Proof-of-Stake, questo è virtualmente impossibile perché un attacco al 51% richiede un grande numero di monete in staking e l'aggressore può subire grosse perdite quando il suo comportamento diventa evidente. Oltre a questo, il prezzo della sua moneta crolla in modo significativo se lo fa. Inoltre, il meccanismo Proof-of-Stake si basa su un ovvio concetto economico.

Testate le vostre conoscenze

Domanda: 1/5In quale anno è stata coniata la terminologia proof of work?
A2008
B2009
C2000
D1999