Bitcoin Forum
June 25, 2024, 02:17:03 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Can the pattern of Bitcoin hashing be changed somewhere?  (Read 828 times)
qpotential (OP)
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
January 08, 2015, 02:56:46 AM
Last edit: November 11, 2019, 05:44:54 PM by qpotential
 #1

deleted
odolvlobo
Legendary
*
Offline Offline

Activity: 4354
Merit: 3274



View Profile
January 16, 2015, 06:48:03 AM
Last edit: January 16, 2015, 06:58:38 AM by odolvlobo
 #2

It doesn't work quite the way you think it does.

Mining involves repeatedly computing the double SHA-256 hash of the block header until a hash is found that is less than the target value. Before each repetition, the block header is modified in order to come up with a different hash. There are three values in the block header that the miner can modify before computing a hash: the timestamp, the nonce, and the merkle root hash.

The nonce and the timestamp values are trivial to change, but the merkle root hash is much more costly to change. So, I imagine that all miners do it the same way: change the merkle root hash only after all of the possible combinations of timestamps and nonce values have been tried. If not, then perhaps they should.  (Note: I'm not an expert on mining software)

Join an anti-signature campaign: Click ignore on the members of signature campaigns.
PGP Fingerprint: 6B6BC26599EC24EF7E29A405EAF050539D0B2925 Signing address: 13GAVJo8YaAuenj6keiEykwxWUZ7jMoSLt
LiteCoinGuy
Legendary
*
Offline Offline

Activity: 1148
Merit: 1011


In Satoshi I Trust


View Profile WWW
January 16, 2015, 08:00:51 PM
 #3

maybe this can help:

https://www.youtube.com/watch?v=2cMjR0mB9Sc

odolvlobo
Legendary
*
Offline Offline

Activity: 4354
Merit: 3274



View Profile
January 16, 2015, 09:46:26 PM
 #4

What I'm trying to figure out is:  Once a block changes, do all the miners of the same equipment model running the same software start hashing in an identical way and thus repeat the work done by other miners of the same model?

The simple answer is that every miner has a different merkle root hash because the address in the coinbase transaction is different. This guarantees that no miner is duplicating work.

Join an anti-signature campaign: Click ignore on the members of signature campaigns.
PGP Fingerprint: 6B6BC26599EC24EF7E29A405EAF050539D0B2925 Signing address: 13GAVJo8YaAuenj6keiEykwxWUZ7jMoSLt
DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4680



View Profile
January 17, 2015, 01:23:03 AM
 #5

If you are mining in a pool, then the pool has a different merkle root than any other pool. Therefore there is no concern that the pool is duplicating the work of other pools. Within the pool the pool operator has an incentive to make certain that they aren't issuing identical work to any participants, since they have to pay the participants, and it would decrease the pool revenue.

If you are solo mining, then you are using your own address for the block reward, therefore you won't have the same merkle root as anyone else.
trixter
Member
**
Offline Offline

Activity: 114
Merit: 10


View Profile
January 17, 2015, 02:10:32 AM
 #6

to answer something that has been kinda asked but not yet answered, yes every client I am aware of increments the nonce.  Some things take ranges of nonces to try eg 0-10000.  If you look for the code that generates the nonce range to try you may be able to try something different, eg 10000-0 decrementing. 

I am unsure that over the long haul this will give you much of an advantage because of the merkle root hash and statistically you are just as likely to find it in the last half vs the first half when  given enough runs.

One thing you can try is to do a limited hashing run.  If you take all possible nonces and chop the first 2.5% off and the last 2.5% off you have a 95% chance of finding the correct hash (if it exists with that timestamp and merkle root).  Long term you might find 5% more because you are not doing the full scan and its a low probability that it will exist in the sections you skipped.  Then again long term it may equal out because you miss the times where it would be in those sections.  I have not worked out any real maths on this to see if it would give you a slight edge or not.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4680



View Profile
January 17, 2015, 02:51:09 AM
 #7

I see.  So, if I'm understanding you correctly, the only variable parameter to solo mining is the receiving Bitcoin address which changes the miner's Merkel Root?

No. The fact that the address is unique is just how you know that you aren't working on the same data as anybody else. Other "variable parameters" are the timestamp, the specific set of transactions that you include in your block, and the exact order of those transactions. A change in any of those parameters results in a completely different block for you to work on.

So, if you change the mining address, you can change the Merkel Root and the subsequent region of guesses the miner will choose to try and solve the block, therefore shifting your luck?

You won't shift your luck at all, you'll just change the block you're trying to solve. You'll still have the same probability on each hash you attempt.

- snip -
I have not worked out any real maths on this to see if it would give you a slight edge or not.

It wouldn't. Think about rolling a die 100 times, can you improve your odds of rolling a six on any single roll if you skip the first 5 and/or last 5 rolls?
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!