Bitcoin Forum
November 04, 2024, 02:58:28 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: How do large pools not waste virtually all of their hashing power?  (Read 1328 times)
TeraPool (OP)
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
July 15, 2011, 05:10:12 PM
 #1

In writing this response, I managed to confuse myself pretty well.

Apparently this page states that:

Quote
Given just those fields, people would frequently generate the exact same sequence of hashes as each other and the fastest CPU would almost always win. However, it is (nearly) impossible for two people to have the same Merkle root because the first transaction in your block is a generation "sent" to one of your unique Bitcoin addresses. Since your block is different from everyone else's blocks, you are (nearly) guaranteed to produce different hashes. Every hash you calculate has the same chance of winning as every other hash calculated by the network.

Now when everybody is mining solo, that's just fine and dandy.

But when everybody is mining for say deepbit or slush, are the bitcoin addresses (and thus each merkle root) not exactly the same for every miner in the pool?

When Alice asks the pool for more work, mines the first nonce, and it doesn't hash out... she immediately moves onto nonce 2. But so does Bob. Was Bob's hashing of the second nonce redundant if Alice was mining for the same pool and asked for the work first?
JoelKatz
Legendary
*
Offline Offline

Activity: 1596
Merit: 1012


Democracy is vulnerable to a 51% attack.


View Profile WWW
July 15, 2011, 05:29:22 PM
 #2

But when everybody is mining for say deepbit or slush, are the bitcoin addresses (and thus each merkle root) not exactly the same for every miner in the pool?
Your 'thus' is invalid. The merkle root depends on the coinbase field of the coinbase transaction, not just the address the coins are sent to.

I am an employee of Ripple. Follow me on Twitter @JoelKatz
1Joe1Katzci1rFcsr9HH7SLuHVnDy2aihZ BM-NBM3FRExVJSJJamV9ccgyWvQfratUHgN
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4270
Merit: 8805



View Profile WWW
July 18, 2011, 06:01:01 AM
 #3

When Alice asks the pool for more work, mines the first nonce, and it doesn't hash out... she immediately moves onto nonce 2. But so does Bob. Was Bob's hashing of the second nonce redundant if Alice was mining for the same pool and asked for the work first?

The pool doesn't return the same work to each miner, of course.

It increments the extranonce field in the coinbase transaction for each getwork request.

TeraPool (OP)
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
July 18, 2011, 06:10:29 PM
 #4

Ah I see.

So where is the "coinbase" located exactly? In the data field I presume? And pushpool increases the extraNonce inside the coinbase and then hashes it for each individual "getwork" request? Is that correct?
JoelKatz
Legendary
*
Offline Offline

Activity: 1596
Merit: 1012


Democracy is vulnerable to a 51% attack.


View Profile WWW
July 18, 2011, 06:35:55 PM
 #5

Ah I see.

So where is the "coinbase" located exactly? In the data field I presume?
It's in the coinbase transaction.

Quote
And pushpool increases the extraNonce inside the coinbase and then hashes it for each individual "getwork" request? Is that correct?
The bitcoin client increments the coinbase field and then recomputes the merkle tree of transactions for each work unit it gives to pushpool.

I am an employee of Ripple. Follow me on Twitter @JoelKatz
1Joe1Katzci1rFcsr9HH7SLuHVnDy2aihZ BM-NBM3FRExVJSJJamV9ccgyWvQfratUHgN
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!