Bitcoin Forum

Local => Discussioni avanzate e sviluppo => Topic started by: arulbero on March 09, 2016, 02:24:01 PM



Title: Head first mining
Post by: arulbero on March 09, 2016, 02:24:01 PM
Gavin Andresen ha proposto una modifica nel modo di minare i blocchi, qui la sua proposta:

https://github.com/bitcoinclassic/bitcoinclassic/pull/138

e qui i commenti relativi su reddit:

https://www.reddit.com/r/btc/comments/49ktb5/headfirst_mining_by_gavinandresen_pull_request

La proposta ha ricevuto molti apprezzamenti positivi; qualcuno che l'ha capita bene sarebbe così gentile da riassumerla e spiegarla un attimo? Ho capito che i miner dovrebbero iniziare a lavorare su un nuovo blocco prima di avere la possibilità di controllare la validità delle transazioni dell'ultimo blocco minato nella rete, transazioni che andrebbero recuperate in un secondo tempo (dopo 30 secondi?) ma non ci ho capito molto di più  :)  

Tutto ciò dovrebbe rendere più veloce il passaggio dal momento in cui un blocco viene minato in qualche punto della rete al momento in cui tutti gli altri miner della rete sono in grado di iniziare il tentativo di costruire un proprio nuovo blocco che segue il precedente?


Title: Re: Head first mining
Post by: picchio on March 09, 2016, 06:34:47 PM
Se ho capito, nei 30 secondi che passano dal broadcast dell'hash del nuovo blocco e la verifica da parte del miner di tutte le transazioni in esso contenute i miner iniziano a minare un blocco vuoto dopo aver controllato l'header e nonce ecc. ecc.
Se aspettasse di verificare le transazioni starebbe 30 secondi a battere la fiacca.
L'opzione blockheadernotify permette di gestire la cosa ma non ho capito ...
L'header e dati vari compreso nonce serve per verificare che l'hash corrisponda ad un blocco bitcoin e non una stringa inventata a biip ...