One of community members sent me a question by PM, and I thought posting my answer in the thread might help others as well.
The question involved changing coin base reward addresses and why they change.
This is a pretty common cause for confusion.
Let me start with how a wallet generates addresses. The very first address a wallet generates is like a "seed" address. It is assigned a null name "" .All the other address that wallet generates will be deterministic with the original "seed" address based on ECDSA (see:
https://en.wikipedia.org/wiki/Elliptic_Curve_DSA )
All the coin clients automatically shift addresses used in mining payouts (Unless the payout address is defined as it is in modern pool software). Pushpool simply uses the getwork to get header data and to return a winning hash of the header to the daemon who then assembles the block. The daemon decides what transactions go into the block including where the coin base transaction goes(Merkle root included in the hash information the daemon passes during getwork). Since the daemon is programmed to change the address it uses for coin base every so often (security feature) one will see the coinbase receiving address change.
Example of a reply to a getwork request:
{
"midstate" : "7fbf667fef23bf7b6c1bbbbba177e0ae5a6ccce26a594f761ebf31bb541aeeca",
"data" : "000000017a35a437af9cfb83ab684c99b79b291b040586e0781c052ade80aac70a044b0013aa711710ab73f24455f4ca0b1d30f30b0d304270be82d54ede6f8cc40e9fea519277cb1d008c1b00000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000",
"hash1" : "00000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010000",
"target" : "00000000000000000000000000000000000000000000000000001b8c00000000",
"algorithm" : "scrypt:1024,1,1"
}
In modern daemons and pool software, the pool software is able to assemble the block itself, including the transactions, hence why it can define its own coinbase transaction. It then sends the completed block to the daemon which either accepts and broadcasts it or rejects it.
For more information on on getblocktemplate:
https://en.bitcoin.it/wiki/GetblocktemplateClear as mud???
Anyway,
It is normal behavior for pushpool and this version daemon and nothing to worry about. If you want the new address to show up in the account listing, just generate a few new addresses (with names so it is easy to keep track) and you will see the address that shows in the explorer.
Where account is what you want to name the account.
Robert