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?


1 Answer 1


Verifying a transaction is not a difficult process, it is finding a good block hash that makes mining difficult. Furthermore, if a miner verifies a transaction and includes it in the block he is creating, he gets the transaction fee from that transaction. This makes it attractive for miners to verify transactions instead of just looking for a block hash.

The reason why mining is difficult and it needs to be verified that a miner has put a certain amount of work in finding his new block, is for security of the network. If mining were easier, it would be easier for attackers to take control over the block chain.

Also, the Bitcoin protocol tries to achieve a block creation rate of 1 block every 10 minutes. To achieve this, the protocol automatically adjusts the difficulty of finding a block every 2016 blocks. This should be approximately 2 weeks. When these 2016 blocks were found too quickly, the difficulty will rise. Otherwise, it will fall. This makes it possible to predict the supply of bitcoins over time.

So, because we only want one block to be found every 10 minutes, the difficulty has to be proportional to the total amount of work the whole network is doing. This means the more people are mining, the more they help raising the difficulty and help making the network more secure against attacks.

I don't fully understand your last question. But "keeping track of how many transactions a person has verified" would not be a suitable alternative for several reasons. First, as I mentioned above, transaction verifying is not a difficult process, so the amount of verified transactions would not be a good measure of the amount of work you did. Also, in the Bitcoin network, there does not exist such thing as a "person". It is possible to keep track of the IP address of who submits transactions and blocks, but identifying people by their IP address is not a good idea (IP's are not always fixed and multiple users can share an IP). The only other identification method Bitcoin supports are its addresses, but real Bitcoin anonymity requires you to frequently change the address you use, so addresses should not be used as identification. (Although sometimes they are.)

I tried to answer all your questions, if I missed something, just ask me in a comment.

  • 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.) Commented May 13, 2013 at 8:21
  • 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. Commented May 13, 2013 at 8:23
  • 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? Commented May 13, 2013 at 8:24
  • 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? Commented May 13, 2013 at 8:26
  • 1
    It's true that the difficulty is also used to predict the rate at which blocks are created, I will add that to the answer. Commented May 13, 2013 at 8:28

Not the answer you're looking for? Browse other questions tagged or ask your own question.