Che cos’è un nonce in crypto?

Che cos’è un nonce in crypto?

Che cos’è un nonce?

Un nonce in crypto è l’abbreviazione di “number used once”, ovvero un numero che nel mondo crypto viene utilizzato una sola volta. Questo valore unico fa sì che il risultato di calcoli o verifiche cambi ogni volta. I nonce vengono utilizzati all’interno delle blockchain come strumento per prevenire le frodi, proteggere le transazioni e rendere possibile il consenso all’interno di una rete.

Nella pratica, un nonce in crypto ha due ruoli principali:

  • Nel mining sulle blockchain Proof of Work
  • Nelle transazioni e nei meccanismi di sicurezza

Anche se queste due applicazioni si assomigliano, il ruolo del nonce cambia a seconda del contesto.


In breve

  • Un nonce è un numero unico (“number used once”) utilizzato per evitare ripetizioni e manipolazioni all’interno delle blockchain.
  • Nelle reti Proof of Work, i miner modificano continuamente il nonce per trovare un hash valido.
  • In Bitcoin, il nonce è limitato a 32 bit, motivo per cui i miner utilizzano variazioni aggiuntive come un extra nonce e i timestamp.
  • Il nonce contribuisce alla sicurezza rendendo estremamente costoso modificare o falsificare i blocchi.
  • In Ethereum, il nonce funziona come numero di sequenza delle transazioni per account ed è separato dal consenso.

Che cos’è il nonce nel Proof of Work (come Bitcoin)?

Nelle blockchain Proof of Work (PoW), i miner devono dimostrare di aver svolto un lavoro computazionale prima di poter aggiungere un nuovo blocco. Questa prova viene fornita trovando un hash valido.

Un hash è il risultato di una funzione di hash crittografica. Si tratta di una funzione matematica che converte i dati di input in una stringa di caratteri di lunghezza fissa. Questa funzione di hash, spesso SHA-256, è unidirezionale. Questo significa che non è possibile risalire all’input originale partendo dall’hash. Di conseguenza, esiste un solo modo per trovare un hash valido: eseguire un numero enorme di calcoli.

Il nonce è il numero variabile che i miner modificano per generare ogni volta un hash diverso. Si trova nell’header del blocco. Cambiando il nonce, un miner può provare un nuovo hash a ogni tentativo. I miner continuano a modificare il nonce finché non trovano un hash valido. Inoltre, l’hash deve rispettare la regola di difficoltà della rete, ad esempio essere inferiore a una determinata soglia.

Perché i miner continuano a cambiare il nonce?

La rete crypto imposta il livello di difficoltà in modo che, in media, sia necessario un block time fisso per trovare un nuovo blocco (per esempio circa 10 minuti per Bitcoin). Per questo motivo, i miner cercano continuamente di generare un hash diverso modificando il nonce. Questo processo può comportare milioni o miliardi di tentativi al secondo.

Nei primi anni di Bitcoin, questo processo era relativamente semplice e i miner dovevano effettuare molti meno tentativi. All’epoca era persino possibile minare Bitcoin con un laptop, mentre oggi ciò è praticamente impossibile e vengono utilizzati soprattutto computer ASIC specializzati.

Quando un miner trova un hash che soddisfa la regola di difficoltà, il blocco viene condiviso con la rete. Altri nodi verificano poi se il blocco è valido e lo aggiungono alla blockchain. Successivamente, lo stesso processo ricomincia per il blocco successivo.

Qual è il limite del nonce e le variazioni extra in Bitcoin?

In Bitcoin, il nonce è limitato a 32 bit, il che equivale a poco più di 4 miliardi di valori possibili. I miner moderni possono esplorare questo spazio molto rapidamente e utilizzano quindi metodi aggiuntivi per continuare a modificare l’input. Ad esempio, aggiungono un extra nonce nella transazione coinbase (una variabile aggiuntiva nella ricompensa del miner) e modificano il timestamp, ovvero il momento in cui il blocco viene registrato. L’obiettivo rimane lo stesso: generare nuovi risultati di hash.

In che modo un nonce contribuisce alla sicurezza?

Il nonce rende il Proof of Work pratico e sicuro:

Rende estremamente costosa la falsificazione dei blocchi. Per falsificare un blocco, qualcuno dovrebbe trovare nuovamente un hash valido. Per farlo, di solito è necessaria almeno la stessa potenza di calcolo del resto della rete messa insieme (il cosiddetto attacco del 51%), rendendo la frode praticamente impossibile.

  • Chiunque può verificare facilmente se un blocco è valido. Gli altri nodi devono solo controllare se l’hash del blocco rispetta le regole. Questo richiede pochissimo tempo o energia ed è quindi molto efficiente.
  • Garantisce una concorrenza leale tra i miner. Poiché tutti i miner seguono le stesse regole e possono avere successo solo svolgendo un reale lavoro computazionale, si crea una competizione aperta e trasparente.
  • Più la blockchain cresce, più diventa difficile manipolare i blocchi più vecchi. Se qualcuno volesse modificare un blocco passato, dovrebbe riminarlo insieme a tutti i blocchi successivi, il che richiederebbe una quantità enorme di tempo ed energia.

Come funziona un nonce su Ethereum e altre altcoin?

Un nonce funziona in modo diverso su Ethereum e su altre altcoin rispetto al mining di Bitcoin. Su Ethereum, che utilizza il Proof of Stake (PoS), un nonce funge da numero progressivo per account. Ogni transazione riceve un nonce, garantendo che le transazioni vengano sempre elaborate nell’ordine corretto e che la stessa transazione non possa essere eseguita due volte. Su Ethereum, il nonce è un meccanismo di transazione e non uno strumento utilizzato per raggiungere il consenso.

Quali sono gli svantaggi dei nonce?

I nonce di per sé non sono uno svantaggio, ma il modo in cui vengono utilizzati all’interno delle reti Proof of Work comporta alcuni aspetti negativi:

  • La continua modifica del nonce per trovare un hash valido richiede un lavoro computazionale intensivo e comporta un elevato consumo di energia.
  • Man mano che la rete cresce e partecipano più miner, la difficoltà aumenta e sono necessari sempre più calcoli.
  • Le economie di scala legate all’hardware specializzato e all’energia a basso costo possono avvantaggiare i grandi mining pool.

Questi aspetti giocano un ruolo importante nel confronto tra Proof of Work e Proof of Stake.

In conclusione

Un nonce è uno strumento tecnico essenziale all’interno della tecnologia blockchain, che garantisce unicità, sicurezza e affidabilità. Nelle reti Proof of Work, il nonce rappresenta una parte cruciale del processo di mining e della sicurezza della blockchain, mentre su blockchain come Ethereum viene utilizzato principalmente per ordinare correttamente le transazioni ed evitare esecuzioni duplicate. Sebbene i nonce non presentino svantaggi intrinseci, il loro utilizzo nel Proof of Work comporta costi energetici elevati ed economie di scala per i grandi miner, motivo per cui sempre più reti scelgono meccanismi di consenso alternativi come il Proof of Stake.

Chi è Finst

Finst è uno dei principali fornitori di criptovalute nei Paesi Bassi e offre una piattaforma di investimento di alto livello insieme a standard di sicurezza di livello istituzionale e commissioni di trading ultra basse. Finst è guidata dall'ex team principale di DEGIRO ed è autorizzata come prestatore di servizi per le cripto-attività dall'Autorità olandese per i mercati finanziari (AFM). Finst offre un set completo di servizi per le cripto-attività, inclusi trading, custodia, on/off ramp fiat e staking sia per investitori retail che istituzionali.

La piattaforma cripto che amerai

Siamo qui per darti strumenti, ispirazione e supporto per diventare un investitore migliore.