No. That's all done at the pool level for pooled mining and at bitcoind level for solo mining.
So the miner is only responsible for finding a hash to meet the target? And, maybe this is a quite silly question, is the bitcoind sourced in the bitcoin-master project? I always assume that it is only a wallet program.
I am now reading the source code of cgminer, trying to figure out how it checks blocks and transactions, but still can't find the right place. So is the software responsible for the checking?
I have finished reading the bitcoin developer guide but still confused. Like you are a head first miner, and received a block inventory (broadcasted by its inventor), then you would reply a getheader to the peer, and he would response a sequence of headers. What if you find that sequence cannot match your own block chain, and judge whether the peer or yourself is wrong (by which i mean not on the longest chain)?
I really have no idea. I never thought of that actually. But I am pretty sure that it is very hard for you to get the same address as someone else. Maybe I am wrong and this could be a huge problem.
yes this maybe not a problem, after some calculation I find that the thief has to generate on average 7*10^41 keys to make a successful theft
I am quite new to bitcoin, still reading the guide, and being puzzled about this. For example, if somebody just create one million private keys and run one million wallet programs at the same time, he would much likely receive some output that paid to one or more private keys (addresses maybe) he generated, and thus steals others' money Could this be a problem?