Bitcoin Forum
May 27, 2024, 03:30:14 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Perchè il nonce usato per il mining è di soli 32 bit?  (Read 1271 times)
nglpx1 (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
November 27, 2014, 04:50:34 PM
Last edit: November 27, 2014, 05:18:03 PM by nglpx1
 #1

Da come ho capito, il nonce che si usa per minare viene aggiunto all'hash del blocco da confermare: ma se il nonce è di soli 32 bit vi possono essere al massimo solo 4 miliardi circa di tentativi per ottenere un hash valido. Ma se l'hash deve essere preceduto da 13 zeri, come mai 4 miliardi di possibili tentativi non sono insufficienti?
davvo
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
November 28, 2014, 12:13:22 AM
 #2

Per farla molto breve, perchè nell'header del bitcoin, che è quello che si usa per creare il nuovo blocco, ci sono altri parametri.

https://en.bitcoin.it/wiki/Block_hashing_algorithm

Se vedi, oltre al tuo nonce (il numero casuale come dici tu, giustamente!) c'è anche l'hash delle transazioni contenute in quel blocco che quel miner ha analizzato e sta inserendo in attesa di trovare appunto il blocco.. e l timestamp.

Il che signifia che ogni volta che arriva una transazione al miner (anche piu di una volta al secondo) ma in ogni caso ogni secondo, cambiano almeno altri due paramentri nella parte sulla quale poi bisognerà applicare il doppio SHA.
Quindi il numero che provi ora (esempio 00000001) e che non va bene..  tra 1 secondo potrebbe esser quello giusto... viceversa quello che hai appena provato con esito negativo potrebbe andar bene poco dopo.

Quindi il nonce non è l'unico parametro.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!