Punti chiave

  • Proof of Work (PoW) è un meccanismo di consenso creato per prevenire la doppia spesa nei sistemi di pagamento digitali.

  • PoW è una parte importante del processo di mining, che aggiunge nuovi blocchi di transazioni alla blockchain e crea nuove unità di criptovaluta.

  • Bitcoin e molte altre criptovalute scelgono PoW come metodo per proteggere le proprie reti e dati blockchain.

Introdurre

In breve, il Proof of Work (PoW) è un meccanismo creato per prevenire la doppia spesa nei sistemi di pagamento digitali. Bitcoin e molte altre criptovalute scelgono PoW come metodo per proteggere le proprie reti e dati blockchain. Tali meccanismi sono spesso chiamati algoritmi di consenso o meccanismi di consenso, perché richiedono che più parti raggiungano il consenso senza doversi fidare l’una dell’altra.

Il Proof of Work è stato il primo algoritmo di consenso ad apparire e rimane uno dei più importanti insieme al Proof of Stake (PoS). La PoW è stata introdotta da Satoshi Nakamoto nel white paper Bitcoin del 2008, ma la tecnologia stessa è stata stabilita molto prima.

HashCash di Adam Back è stato uno dei primi esempi di algoritmo Proof of Work nei giorni precedenti l'avvento della criptovaluta. Richiedendo al mittente di eseguire un lavoro di calcolo prima di inviare l'e-mail, il destinatario può ridurre la ricezione di spam. Questa operazione di calcolo non costa quasi nulla per i mittenti legittimi, ma richiede molte risorse per i mittenti di posta elettronica di massa.

Cos’è la doppia spesa?

La doppia spesa o doppia spesa si riferisce a quando la stessa somma di denaro viene spesa più volte. Questo termine viene utilizzato quasi esclusivamente nel campo delle valute digitali, perché in pratica sarebbe difficile spendere due volte una singola banconota. 

Quando paghi in contanti per una tazza di caffè, darai al cassiere dei contanti da mettere nel cassetto contanti. Ma se vuoi andare al bar dall'altra parte della strada e continuare a usare questi soldi per pagare un'altra tazza di caffè, è completamente impossibile. Tuttavia, nei sistemi di cassa digitali, ciò è possibile. 

Proprio come usi copia e incolla per copiare un file sul tuo computer. Puoi facilmente inviare via email lo stesso file a decine di persone. Poiché la valuta digitale è costituita solo da dati, è necessario assicurarsi di evitare il rischio di frodi di doppia spesa, ovvero copiare e spendere la stessa valuta in luoghi diversi. Un sistema di pagamento digitale che non prevenga le frodi legate alla doppia spesa prima o poi crollerà.

Per comprendere meglio la frode della doppia spesa, vedere Spiegazione della doppia spesa.

Perché è necessaria la prova di lavoro?

Se hai letto articoli sulla tecnologia blockchain, saprai che gli utenti di criptovaluta trasmettono continuamente transazioni alla rete. Tuttavia, queste transazioni non vengono immediatamente considerate valide. Le transazioni sono valide quando vengono confermate e aggiunte alla blockchain.

Ad esempio, la blockchain di Bitcoin funziona come un database di transazioni pubbliche (registro) che ogni utente può vedere. Per renderlo più facile da immaginare: tu e tre amici avete un taccuino per tenere traccia delle vostre transazioni bitcoin. Ogni volta che qualcuno nel gruppo vuole trasferire valore, deve essere registrato:

Alice paga a Bob 5 BTC; Bob paga Carol 2 BTC,...

Tuttavia, ogni volta che effettui una transazione, dovrai registrare la fonte dei fondi della transazione. Quindi, se Bob paga a Carol 2 BTC, la voce effettiva sarebbe la seguente: 

Bob paga a Carol 2 BTC provenienti dalla transazione precedente con Alice.

Ora abbiamo un modo per tracciare le unità di BTC. Se Bob tenta di effettuare un'altra transazione utilizzando gli stessi 2 BTC che ha appena inviato a Carol, tutti lo sapranno immediatamente e il team non consentirà che questa transazione venga aggiunta al registro perché quei 2 BTC sono già accreditati sulla transazione iniziale.

Tuttavia, questo metodo può funzionare bene solo in un piccolo gruppo. Con un gruppo ristretto in cui tutti si conoscono bene, è più facile concordare chi dovrà aggiungere le transazioni ai libri contabili. E se volessimo un gruppo di 10.000 partecipanti? L'uso di un notebook sarà difficile da applicare, perché nessuno vuole fidarsi solo di un estraneo per gestire il notebook.

È qui che entra in gioco la Proof of Work. Garantisce che gli utenti non spendano soldi che non hanno il diritto di spendere. Utilizzando una combinazione di teoria dei giochi e crittografia, l'algoritmo PoW consente a chiunque di aggiornare la blockchain secondo le regole del sistema.

Come funziona il PoW?

Immagina che il libro mastro dell'esempio sopra sia una blockchain. Ma invece di aggiungere le transazioni una per una, le raggruppiamo in blocchi. Annunciamo le transazioni alla rete e quindi i generatori di blocchi le includono in un blocco candidato. Le transazioni saranno considerate valide solo quando il blocco candidato diventa un blocco confermato, ovvero è stato aggiunto al database blockchain.

Il processo di convalida delle transazioni e di aggiunta di nuovi blocchi è chiamato mining. È costoso e difficile, ma porta anche molti vantaggi. I premi in blocco vengono generati dalle commissioni di transazione degli utenti e dai nuovissimi bitcoin creati dal protocollo. 

Il meccanismo Proof of Work richiede ai miner (utenti che creano blocchi) di investire risorse come elettricità e computer potenti per eseguire l'hashing dei dati dei blocchi candidati fino a quando non viene trovata una soluzione al puzzle.

L'hashing dei dati di un blocco significa passarli attraverso una funzione hash per creare una catena hash del blocco. La stringa hash del blocco agisce come un'"impronta digitale": è un'identità per i tuoi dati di input ed è univoca per ciascun blocco.

In altre parole, i miner devono verificare e raccogliere le transazioni in sospeso, organizzarle in un blocco candidato e inserire i dati del blocco in una funzione hash per creare una catena hash valida. Se trovano un hash valido per il blocco candidato, lo trasmettono alla rete, aggiungono il blocco alla blockchain e raccolgono i premi di mining.

Quando un minatore trasmette il blocco candidato e la catena di hash alla rete, gli altri partecipanti alla rete ripetono il processo di hashing per verificare che l'output sia effettivamente valido. 

Sebbene siano necessari innumerevoli tentativi di hashing per trovare una stringa hash valida, è difficile per chiunque confermare che la stringa hash generata sia corretta. Inviano semplicemente lo stesso input (dati del blocco) tramite la funzione hash e controllano se l'output è lo stesso.

In Proof of Work, devi fornire dati il ​​cui hash corrisponde a determinate condizioni. Ma nessuno sa come raggiungere queste condizioni. L'unico modo è passare i tuoi dati attraverso una funzione hash e verificare se i dati soddisfano le condizioni. Altrimenti dovrai modificare leggermente i tuoi dati per ottenere un hash diverso. La modifica anche di un solo carattere nei dati comporterà un risultato completamente diverso, quindi non c'è modo di prevedere quale potrebbe essere l'output.

Pertanto, se vuoi creare un blocco, ti aspetta un gioco d'ipotesi. In genere prendi informazioni su tutte le transazioni che desideri aggiungere e alcuni altri dati importanti, quindi esegui l'hashing di tutto insieme. Ma poiché il tuo set di dati non cambierà, devi aggiungere un'informazione che può cambiare. Altrimenti otterrai sempre lo stesso hash di output. Questi dati variabili sono ciò che chiamiamo nonce. È un numero che cambierai ad ogni tentativo, quindi otterrai un hash diverso ogni volta.

In breve, il mining è il processo di raccolta dei dati blockchain e di hash insieme a un nonce finché non si trova una stringa hash specifica. Se trovi una catena di hash che soddisfa le condizioni stabilite dal protocollo, avrai il diritto di trasmettere il nuovo blocco alla rete. In questo momento, altri partecipanti alla rete aggiornano la propria blockchain per aggiungere nuovi blocchi.

Per le principali criptovalute di oggi, le condizioni sono estremamente difficili da soddisfare. Maggiore è l'hash rate sulla rete, più difficile sarà trovare un codice hash valido. Questo viene fatto per garantire che i blocchi non vengano trovati troppo rapidamente.

Come si potrebbe immaginare, provare a indovinare un gran numero di hash può essere costoso in termini di risorse del tuo computer. Stai sprecando cicli di elaborazione ed elettricità. Ma il protocollo ti ricompenserà con criptovaluta se trovi una stringa hash valida.

Ricapitoliamo quello che sappiamo finora:

  • Il mining è difficile e costoso ma fornisce sicurezza alla rete.

  • I minatori che producono un blocco valido verranno ricompensati con la criptovaluta appena rilasciata e con commissioni di transazione.

  • La generazione di una stringa hash valida richiede tempo, ma altri utenti possono facilmente verificarne la validità ripetendo il processo di hashing.

È così semplice. Ma cosa succede se tradisci? Cosa ti impedisce di inserire una serie di transazioni fraudolente nel blocco e di creare un hash valido?

È qui che entra in gioco la crittografia a chiave pubblica. Non entreremo troppo nei dettagli in questo articolo, ma vediamo cos'è la crittografia a chiave pubblica? per una visione più completa. In breve, esistono alcuni trucchi crittografici che consentono a qualsiasi utente di verificare se qualcuno ha l'autorità per spostare il denaro che sta cercando di spendere.

Quando crei una transazione, firmi la tua firma. Chiunque online può confrontare la tua firma con la tua chiave pubblica e verificare se corrispondono. Controlleranno anche che tu possa effettivamente spendere i soldi e che i tuoi input totali siano superiori ai tuoi output totali (cioè che non stai spendendo più di quanto hai).

Qualsiasi blocco contenente transazioni non valide verrà automaticamente rifiutato dalla rete. Sarà molto costoso se vuoi imbrogliare. Sprecherai le tue risorse senza alcuna ricompensa.

Questo è il bello del Proof of Work: ti costa denaro se imbrogli intenzionalmente, ma è redditizio quando sei onesto. Pertanto, qualsiasi minatore sano di mente cercherà un ritorno sul proprio investimento, quindi si comporterà in un modo che ha maggiori probabilità di generare entrate.

Confronta due meccanismi di consenso Proof of Work (PoW) e Proof of Stake (PoS)

Esistono molti algoritmi di consenso oltre al PoW, ma uno dei più popolari è il Proof of Stake (PoS). Questo concetto esiste dal 2011 ed è stato implementato in Ethereum e in molti altri protocolli.

Nel sistema Proof of Stake i miner vengono sostituiti dai validatori. Non è previsto alcun mining e nessuna corsa per indovinare gli hash. Invece, gli utenti vengono selezionati in modo casuale: se vengono selezionati, devono proporre (o "forgiare") un blocco. Se il blocco è valido, riceveranno una ricompensa composta dalle commissioni derivanti dalle transazioni del blocco.

Tuttavia non è possibile selezionare un utente qualsiasi: il protocollo lo seleziona in base a diversi fattori. Per poter partecipare, i partecipanti devono bloccare una quota, che rappresenta un importo predeterminato del capitale della blockchain. Lo staking è come la cauzione: proprio come gli imputati versano ingenti somme di denaro per assicurarsi di non saltare il processo, i validatori bloccano le puntate per assicurarsi che non ci sia alcuna frode. Se agiscono in modo disonesto, la loro posta (o parte di essa) verrà loro tolta.

La Proof of Stake presenta numerosi vantaggi rispetto alla Proof of Work. Il vantaggio più notevole è la minore impronta di carbonio: poiché non sono necessarie mining farm ad alta potenza in PoS, il consumo di elettricità è una frazione di quello consumato in PoW. 

Tuttavia, la PoS non ha lo stesso track record della PoW. Anche se può essere considerato uno spreco, il mining è l’unico algoritmo di consenso che funziona efficacemente da oltre un decennio. Dal suo lancio, il PoW di Bitcoin ha assicurato transazioni per trilioni di dollari. Per dire con certezza se il PoS può competere con la sua sicurezza, lo staking deve essere adeguatamente testato per lunghi periodi di tempo.

Proof of Work è la soluzione originale al problema della doppia spesa e ha dimostrato di essere affidabile e sicuro. Bitcoin ha dimostrato che non abbiamo bisogno di entità centralizzate per evitare che gli stessi soldi vengano spesi due volte. Utilizzando in modo intelligente la crittografia, le funzioni hash e la teoria dei giochi, i partecipanti in un ambiente decentralizzato possono concordare lo stato di un database finanziario.

Per saperne di più:

  • Cos'è il mining di criptovalute e come funziona?

  • Cos’è la crittografia a chiave pubblica?

  • Cos’è l’algoritmo di consenso Blockchain?

Dichiarazione di non responsabilità: questo contenuto viene fornito "così com'è" solo per informazioni generali e scopi didattici, senza dichiarazioni o garanzie di alcun tipo. Non deve essere interpretato come consulenza finanziaria, legale o di altro tipo professionale, né è inteso come una raccomandazione all'acquisto di alcun prodotto o servizio specifico. Dovresti chiedere il tuo consiglio a consulenti professionali appropriati. Nei casi in cui gli articoli provengono da contributori di terze parti, tieni presente che le opinioni espresse appartengono al contributore di terze parti e non riflettono necessariamente le opinioni di Binance Academy. Si prega di leggere il nostro disclaimer completo qui per maggiori dettagli. I prezzi delle risorse digitali possono variare. Il valore del tuo investimento potrebbe diminuire così come aumentare e potresti non recuperare l'importo investito. Sei l'unico responsabile delle tue decisioni di investimento e Binance Academy non è responsabile per eventuali perdite che potresti subire. Questo materiale non deve essere interpretato come consulenza finanziaria, legale o di altro tipo. Per ulteriori informazioni, consultare i nostri Termini di utilizzo e Avvertenza sui rischi.