0
My understanding of mining is that the reason an award of Bitcoin comes along with the solving of the current block is to give people incentive to actually try to solve the block. My understanding is also that the reason that it is desirable to have people trying to solve blocks is because this is what makes the network work, that is, the more people using their processing power to verify Bitcoin transactions, the better.
What I don't understand is what hashing has to do with actual transaction verification? I sort of vaguely have this idea in my head that because of the difficulty of the SHA256 hashing algorithm, if someone finds a hash that solves a block, that must mean they spent a significant amount of time working to find the hash . . . but what does that have to do with spending a significant amount of time working to verify transactions? What stops people from just hashing but not verifying? Moreover, if I am correct in assuming that hashing serves no other purpose other than to verify that someone indeed put in a fair amount of work for the network, is there really no other better method to prove this? Why is something as stupid as just keeping track of how many transactions a person has verified not going to work?
I guess what I don't understand is the point of adding the extra work in the form of looking for a block hash. Evidently this has nothing to do with transaction verification per se, is only a means of security, and I understand this security arises simply because it makes it more difficult for any one entity to control a large percentage of the network. What I don't understand is how making hashing difficult accomplishes this. (Running out of characters; see following comment.) – Jonathan Gleason – 2013-05-13T08:21:08.923
If you make the hashing easier, then for fixed computational power, you in some sense gain more control over the block chain, but at the same time, doesn't everyone else gain just as much control of the block chain (it is, after all, becoming easier for everyone, not just a particular person), so that in terms of the proportion of computing power you have over the block chain, nothing has changed, even though you might be finding blocks faster. – Jonathan Gleason – 2013-05-13T08:23:17.840
It would then seem that the only purpose of hashing is to control the time (approximately anyways) which it takes to find blocks, to control the rate at which new coins are introduced into the economy. Is this incorrect? – Jonathan Gleason – 2013-05-13T08:24:10.310
Furthermore, when I mine now, all the coins I mine are deposited into a specific address, so although I personally might make use of more than one address, as far as mining is concerned, I only have one at a time. Given that, how would keeping tracking of transaction verifications by Bitcoin address be any 'worse' (in the sense of using addresses for the purposes of identification) than the way mining works now? – Jonathan Gleason – 2013-05-13T08:26:39.040
1It's true that the difficulty is also used to predict the rate at which blocks are created, I will add that to the answer. – Steven Roose – 2013-05-13T08:28:56.127
@StevenRoose I have a question. Let's say after the previous block, there is no pending transactions. Now 2 miners A and B in the world with same equipment, should they wait a couple of minutes for new transactions to come, and then pack them and also include the Hash of the previous block, then start to solve that Hash puzzle? I feel that the best strategy for any miner in this case would be directly pack an empty block with no transactions but the previous block's hash and immediately start to solve that Hash puzzle. If that's the case, then start from Block 0, it should all be empty block – ftxx – 2019-01-03T08:16:06.653
@ftxx Sorry for the delay. If there are no transactions, a miner will never wait. They will start working on an empty block. Then, when a new transaction comes in, the miner can decide to change the block it is working on. It's important to understand that starting work on a new block doesn't give you a disadvantage, since work is not incremental. So the miner will probably create a new block with that transaction and then switch his miner hardware to solve that block instead of the empty one. – Steven Roose – 2019-03-13T12:38:37.587