I had a quick read of the basics of Bitcoin and the mining, but i still don't understand why this is done. can someone please explain in simple terms...


1 Answer 1


The biggest problem with developing a peer-to-peer payment system with no central authorities is preventing a double spend.

Say you're developing a payment system to allow people to pay each other widgets. If Alice has 10 widgets, she has to be able to pay 10 widgets to Bob. And she has to be able to pay 10 widgets to Charlie. But if she can do both with the same 10 widgets, the system is broken. So, somehow, Alice paying 10 widgets to Bob must stop her from paying those same 10 widgets to Charlie.

Bitcoin solves this problem with a mechanism called "proof of work". It's a bit complicated to explain, but the key point is that it requires an enormous amount of computational effort to be placed on either of the two payments. The one that has this computational effort is the one that "wins". The cost to put the computational effort behind both transactions would exceed the value of the transactions and you'd never catch up anyway because the winning transaction would be getting more and more proof of work (called "confirmations").

Because this computational effort costs money, Bitcoin needs some way to reward those who do it. They won't just do it out of the goodness of their hearts. Eventually, transaction fees will probably do this, but in the early days, there were too few transactions and Bitcoins weren't valuable enough for transaction fees to pay for the proof of work needed to secure the system.

The genius of Bitcoins is that the designer(s) solved two problems with mining. They added a "block reward" that goes to the miners to reimburse them for their computational effort. This not only solved the problem of how you pay for the computations effort needed to secure the currency before transaction fees can do it but it also provided an automated and predictable way to create the currency in the first place.

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