Scrivo software e aiuto le aziende a scriverne di migliore : Blockchain
Mia foto

Proof-of-work : PoW

Il Proof of Work (PoW) spiegato con parole semplici

Proof-of-work : PoW
Il PoW è un’operazione costosa, dal punto di vista elaborativo, che viene chiesta al richiedente di un servizio per dimostrare che sia stato speso del tempo per generare la richiesta.

I requisiti minimi di un PoW sono costo di elaborazione e velocità di verifica, in modo che il richiedente debba perdere un congruo intervallo di tempo nel creare la richiesta e la relativa verifica possa essere fatta in tempo reale.

Le ragioni del PoW

Leggendo queste poche righe, la prima domanda che ci si può porre è: perché devo obbligare un utilizzatore del mio servizio a effettuare un’operazione che fa perdere tempo e consumare risorse? Non rischio di degradarne le prestazioni?

La risposta è altrettanto semplice: per evitare che un servizio sia riempito di richieste, obblighiamo il richiedente a perdere del tempo per elaborarne una.

Non è un mistero che i primi sistemi che hanno utilizzato un meccanismo di PoW sono stati quelli di gestione della posta elettronica: lo scopo era quello di limitare lo SPAM. Si partiva dal concetto che chiedere del tempo di elaborazione per una singola email non incidesse negativamente sulla normale gestione della posta elettronica. Diversamente, se il numero di email fosse stato molto elevato, il costo di elaborazione avrebbe scoraggiato la creazione massiva di messaggi indesiderati.

I meccanismi di gestione del PoW

Esistono almeno due meccanismi di gestione del PoW.

- Challenge Response: il client chiede un servizio, il server invia una sfida con il PoW da risolvere, il client risolve la sfida e invia la soluzione, il server verifica la soluzione e concede il servizio.

- Solution Verification: il client è già a conoscenza della sfida, la risolve e invia la soluzione al server che la verifica e concede il servizio.

La Challenge Response è normalmente l'esempio più calzante di PoW ed è quello utilizzato in molte criptovalute.



0 commenti  Aggiungi il tuo



Per commentare occorre essere un utente iscritto
Iscriviti alla newsletter
Blockchain
13/09/2018 - Cos'è uno Smart Contract
12/07/2018 - Risorse per approfondire il mondo Blockchain
16/04/2018 - Come utilizzare Ethereum in Java
13/03/2018 - Cosa sono PoW e Timestamp
×
Ricevi gratuitamente i nostri aggiornamenti