Author

Topic: How do large pools not waste virtually all of their hashing power? (Read 1328 times)

legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
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.
newbie
Activity: 42
Merit: 0
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?
staff
Activity: 4284
Merit: 8808
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.

legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
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.
newbie
Activity: 42
Merit: 0
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?
Jump to: