Nonce

Cryptographic nonce

Nonce è un numero che può essere utilizzato solo una volta nella crittografia è un codice una tantum, vibrant overcome o pseudorandom modo, che viene utilizzato per biopsia il principale per fare la trasmissione, impedendo di prendere il potere della riproduzione.

Nel processo minerario di Bitcoin, l’obiettivo è quello di trovare un hash al di sotto di un numero di obiettivo che è calcolato in base alla difficoltà. Proof-of-work in mining di Bitcoin prende un input consiste di radice di Merkle Root, timestamp, precedente block hash e poche altre cose più un nonce che è un numero completamente casuale. Se l’output risulta in hash è più piccolo del target hash si vince il blocco e il consenso è raggiunto. Devi forzare tutte le forze possibili nonce per trovare fortunatamente un hash più piccolo del bersaglio hash.

Indice

Descrizione

Il server genera un nonce e lo invia al client. Il client usa il codice ricevuto, aggiungendolo alla password prima della cifratura, crittografa la stringa ricevuta e restituisce il messaggio risultante al server. Il server decodifica il messaggio dalla stringa ricevuta per “sottrarre” la nota nonce e verifica la password. Questo nonce viene usato una sola volta, tutti i trasferimenti successivi di password con lo stesso nonce saranno rifiutati dal server, quindi un attaccante che intercetta un messaggio con una password cifrata non sarà in grado di accedere, restituendo il messaggio intercettato al server.

Spesso, nonce include un timestamp per limitare la vita nonce, ma questo richiede la sincronizzazione tra il server e il client. Nonce, definito dal cliente (“cnonce”), può anche essere utilizzato per migliorare la sicurezza.

Per garantire l’unicità nonce per una sessione di autenticazione, nonce è spesso generato in base al tempo di sistema, da una fonte di timestamp sufficientemente accurata.

Bitcoin

Il “nonce” in un blocco di bitcoin è un campo a 32 bit (4 byte) il cui valore è impostato in modo che l’hash del blocco contenga un’esecuzione di zeri iniziali. Il resto dei campi non può essere cambiato, in quanto hanno un significato definito.

Qualsiasi modifica ai dati del blocco (come la nonce) renderà il blocco hash completamente diverso. Poiché si ritiene impossibile prevedere quale combinazione di bit causerà il giusto hash, vengono provati molti diversi valori nonce, e l’hash viene ricomputato per ogni valore fino a quando non viene trovato un hash contenente il numero richiesto di bit zero. Il numero di bit zero richiesto è impostato dalla difficoltà. L’hash risultante deve essere un valore inferiore alla difficoltà attuale e quindi dovrà avere un certo numero di bit che portano a zero per essere inferiore a quello. Poiché questo calcolo iterativo richiede tempo e risorse, la presentazione del blocco con il corretto valore nonce costituisce prova di lavoro.

Apparecchio di Bitcoin

Nonces è usato nei sistemi di prova di lavoro per variare l’ingresso ad una funzione di hash crittografico in modo da ottenere un hash per un certo input che soddisfa determinate condizioni arbitrarie. In questo modo, diventa molto più difficile creare un hash “desiderabile” che verificarlo, spostando l’onere del lavoro su un lato di una transazione o di un sistema.

Per esempio di Bitcoin Nonce, la prova di lavoro, usando le funzioni di hash, è stata considerata come un mezzo per combattere lo spam di posta elettronica forzando i mittenti di posta elettronica a trovare un valore di hash per l’e-mail (che includeva un timestamp per prevenire il pre-calcolo di hash utili per l’uso successivo) che aveva un numero arbitrario di zeri principali, forzando lo stesso input con un gran numero di valori di nonce fino a quando un hash “desiderabile” è stato ottenuto.

L’algoritmo di hash di bitcoin può essere sintonizzato su una difficoltà arbitraria modificando il valore minimo/massimo richiesto dell’hash in modo che il numero di Bitcoin assegnati per i nuovi blocchi non aumenti linearmente con una maggiore potenza di calcolo di rete quando si uniscono nuovi utenti. Questo viene anche ottenuto forzando i minatori di bitcoin ad aggiungere valori nonce al valore tratteggiato per modificare l’output dell’algoritmo di hash. Poiché gli algoritmi di hash crittografici non possono essere facilmente predetti in base ai loro input, Questo rende l’atto di blockchain hash e la possibilità di essere assegnato Bitcoin qualcosa di una lotteria, dove il primo “minatore” di trovare una nonce che fornisce un hash desiderabile è premiato Bitcoin preziosi.

Nonce D’Oro

Un nonce dorato nelle mining di Bitcoin è un nonce che si traduce in un valore di hash inferiore alla difficoltà obiettivo. In molte applicazioni pratiche di estrazione, questo è semplificato a qualsiasi nonce che ha 32 zeri principali https://bitcointalk.org/index.php?topic=75609.msg837556#msg837556, con un controllo di prova secondario se il valore effettivo è inferiore alla difficoltà del bersaglio.

Vedere Anche