<p>Suppose Alice has one bitcoin. She can form a transaction to send that bitcoin to Bob. And she can also form a transaction to send that bitcoin to Charlie. Somehow, we all have to eventually agree that one of those transactions is valid and the other is not. Why?</p>

<p>Suppose Alice can't possibly convince Bob that she paid him that bitcoin because Bob always worries that the transaction sending the bitcoin to Charlie will be considered valid. That would make bitcoin entirely useless as nobody could ever act on a payment. For example, suppose Alice is paying for a book. When would Bob send her the book?</p>

<p>Suppose Alice can possibly convince Bob that she paid him that bitcoin. But what would stop her from also convincing Charlie? The situation is symmetric. So what if she buys a book from Bob for one bitcoin but also a book from Charlie for one bitcoin but pays with the very same bitcoin? Are there now two bitcoins where there was one before? Do some people think Bob has the bitcoin and some think Charlie does? How would that work?</p>

<p>We need some way to know with a high degree of confidence that every honest actor will eventually agree that one of those transactions is valid and one of them is not. Once that happens, the person who received the transaction we all agree on can send Alice the book and we will all know that they now have the bitcoin. This ensures payment finality at some point and continued agreement of coin ownership.</p>

<p>Mining is how bitcoin does this.</p>

CC BY-SA 4.0
2018-06-21T14:46:07.047Z
Hi David, thanks for the reply but this does explain nothing, you only say: "we need mining", but you are not explaining what will happen without mining and how exactly is mining solving that. What I can guess is that mining is there to make a limit on the "block" we can add, without mining all the nodes could validate the blocks and add them instantly, will be diificult to keep in sync all the chain across the network, with mining only one node can add a block a time (and every 10min). So is mining only to "slow" down and keep control of the new blocks added to the chain?
Enrique
CC BY-SA 4.0
2018-06-21T16:52:43.790Z
@Enrique I wouldn't say only, but yes, that's the general idea. Mining ensures eventual agreement on which blocks will remain part of the chain. Your question was what would happen without mining, and it's that we would have no way to figure out which of two conflicting transactions everyone else would think is valid.
David Schwartz
CC BY-SA 4.0
2018-06-21T20:59:23.790Z
I think my question was a bit confusing, I was referring to the way mining works (proof of work, block interval etc). I've edited it just in case
Enrique
CC BY-SA 4.0
2018-06-21T21:12:38.923Z
Isn't it obvious? If Alice creates two conflicting transactions, it's essential that we eventually are able to agree on one of them. If it's easy to mine two long chains, one with each of the two conflicting transactions, how do we agree on one of them?
David Schwartz
CC BY-SA 4.0
2018-06-21T21:24:09.077Z
So the important thing here is to forbid someway a lot of users can add a new block (only the ones who are able to solve a very difficult problem can, and this is normally one miner at a time?) and to "delay" the adding of new blocks to 10min? (and why 10min and not 5 for example?)
Enrique
CC BY-SA 4.0
2018-06-22T17:52:41.080Z
The engineering considerations around the block time are quite complex. Other systems have made different block timing decisions and get a different mix of costs and benefits.
David Schwartz
CC BY-SA 4.0
2018-06-19T00:23:28.683Z
2018-06-19T00:23:28.683Z
David Schwartz
<p>Because you need to timestamp every block and this action can not be free of charge. Otherwise every node would create a block and try to cheat with wrong timestamp.</p>
<p>From the Bitcoin white paper:</p>
<blockquote>
<p>To implement a distributed timestamp server on a peer-to-peer basis,
we will need to use a proof- of-work system similar to Adam Back's
Hashcash [6], rather than newspaper or Usenet posts.</p>
</blockquote>

CC BY-SA 4.0
2022-04-12T09:59:45.073Z
2022-04-12T09:59:45.073Z
Ali Day
<p>Before I begin, let me say this is a rather reductionist answer:</p>

<p>Mining is critical for cryptocurrencies like bitcoin and litecoin for several reasons.</p>

<ol>
<li><p>Part of the beauty of crypto is the anonymous nature of the transactions. When a block is mined all of the transactions in the memory pool are mined into that block, storing them forever on the blockchain ledger.</p></li>
<li><p>Mining is part of the Proof of Work that these cryptocurrencies depend on for consensus. When a new block is mined, many things change that must be agreed upon by all the nodes on the network, (block height, merkle root hash, chain-work etc.) One of the inherent issues of cryptocurrencies is the aforementioned double spend problem, which can be solved a few ways, the most popular being the use of a Proof of Work algorithm. For more information on exactly how Proof of Work solves the double spend problem please visit the bitcoin wiki @ <a href="https://en.bitcoin.it/wiki/Main_Page" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/Main_Page</a></p></li>
<li><p>Mining produces a block reward in the form of a subsidy. This creates incentive for people to join the network and support it by taking place in mining (which again helps keep the ledger of the blockchain and thus establish consensus across the network) in hopes of successfully mining a block (and thus all outstanding transactions into the block) to receive the mining reward. </p></li>
</ol>

<p>So in conclusion, without mining, transactions couldn't be logged in the ledger, and consensus couldn't be established.. not only that, but the incentive to help maintain the network would be gone.</p>

CC BY-SA 4.0
2018-06-16T08:31:57.113Z
This does not answer the "why" but more the "how" mining works or what it does.What happen if we don't have a difficult hash to solve? and we don't have a block interavl? What I'm looking for is an example step by step (only descriptive) of the problems we will have without mining. How I've said I think one problem will be all the "miners" will validate blocks at every second, and then the chain will have a lot of different blocks, and try to decide which one will be the correct to add. If we add complexity then we reduce the number of blocks to be proposed as the next one.
Enrique
CC BY-SA 4.0
2018-06-16T15:40:31.320Z
I am not sure what you're looking for, I thought I answered the problems that would arise without mining. No consensus, no incentive, really there wouldn't be blocks at all without mining.. Or transactions for that matter. No mining means no subsidy, which means no coins to send/receive.. Unless we're talking about Proof of Stake or the even more rare Proof of Burn.
apt-getschwifty
CC BY-SA 4.0
2018-06-16T00:06:22.690Z
2018-06-16T00:35:59.017Z
2018-06-16T00:35:59.017Z
apt-getschwifty
<p>I know is related to these:<br>
<a href="https://bitcoin.stackexchange.com/questions/3174/what-is-the-rationale-behind-bitcoin-mining">What is the rationale behind Bitcoin mining?</a><br>
<a href="https://bitcoin.stackexchange.com/questions/51286/why-do-we-need-proof-of-work-in-bitcoin">Why do we need Proof of Work in bitcoin?</a><br>
But I don't fully understand those answers, and I think usually is much easier to understand the concept if we know the problem it solves.<br>
So, what will happen without mining and proof of work on Bitcoins? in a step by step example.   </p>

<p>From what I understand mining is put a time and node limit to the block creation. Because if every node on the chain is allowed to create a new block at any time then we will have a lot of conflicts.<br>
Is that the reason for mining? to limit the block creation?   </p>

<p>And why some people say it avoids double spend?</p>

<p><strong>EDIT:</strong> when I say mining I actually mean the proof of work, and all the rules (like block interval) about mining, I know mining is for validating blocks, but <em>why</em> we need the proof of work and made in that way (solving a difficult hash) and why we are limiting the blocks to 10min. What will happen if we allow blocks to be added every second with much easier hashes to solve for example? what will be the problem with this?</p>

<blockchain><mining-theory><doublespend><block-interval><block>
Why we need mining?
Enrique
# Why we need mining?

(Asked by: username_0 on 2018-06-15)

I know is related to these:  
[What is the rationale behind Bitcoin mining?](https://bitcoin.stackexchange.com/questions/3174/what-is-the-rationale-behind-bitcoin-mining)  
[Why do we need Proof of Work in bitcoin?](https://bitcoin.stackexchange.com/questions/51286/why-do-we-need-proof-of-work-in-bitcoin)  
But I don't fully understand those answers, and I think usually is much easier to understand the concept if we know the problem it solves.  
So, what will happen without mining and proof of work on Bitcoins? in a step by step example.

From what I understand mining is put a time and node limit to the block creation. Because if every node on the chain is allowed to create a new block at any time then we will have a lot of conflicts.  
Is that the reason for mining? to limit the block creation?

And why some people say it avoids double spend?

**EDIT:** when I say mining I actually mean the proof of work, and all the rules (like block interval) about mining, I know mining is for validating blocks, but *why* we need the proof of work and made in that way (solving a difficult hash) and why we are limiting the blocks to 10min. What will happen if we allow blocks to be added every second with much easier hashes to solve for example? what will be the problem with this?

**Tags:** blockchain, mining-theory, doublespend, block-interval, block


---

## 3 answers

### Answer by username_1 on 2018-06-19. Score: 1

Suppose Alice has one bitcoin. She can form a transaction to send that bitcoin to Bob. And she can also form a transaction to send that bitcoin to Charlie. Somehow, we all have to eventually agree that one of those transactions is valid and the other is not. Why?

Suppose Alice can't possibly convince Bob that she paid him that bitcoin because Bob always worries that the transaction sending the bitcoin to Charlie will be considered valid. That would make bitcoin entirely useless as nobody could ever act on a payment. For example, suppose Alice is paying for a book. When would Bob send her the book?

Suppose Alice can possibly convince Bob that she paid him that bitcoin. But what would stop her from also convincing Charlie? The situation is symmetric. So what if she buys a book from Bob for one bitcoin but also a book from Charlie for one bitcoin but pays with the very same bitcoin? Are there now two bitcoins where there was one before? Do some people think Bob has the bitcoin and some think Charlie does? How would that work?

We need some way to know with a high degree of confidence that every honest actor will eventually agree that one of those transactions is valid and one of them is not. Once that happens, the person who received the transaction we all agree on can send Alice the book and we will all know that they now have the bitcoin. This ensures payment finality at some point and continued agreement of coin ownership.

Mining is how bitcoin does this.

> **Comments:**
> **username_0**: Hi username_1, thanks for the reply but this does explain nothing, you only say: "we need mining", but you are not explaining what will happen without mining and how exactly is mining solving that. What I can guess is that mining is there to make a limit on the "block" we can add, without mining all the nodes could validate the blocks and add them instantly, will be diificult to keep in sync all the chain across the network, with mining only one node can add a block a time (and every 10min). So is mining only to "slow" down and keep control of the new blocks added to the chain?  
> **username_1**: @username_0 I wouldn't say only, but yes, that's the general idea. Mining ensures eventual agreement on which blocks will remain part of the chain. Your question was what would happen without mining, and it's that we would have no way to figure out which of two conflicting transactions everyone else would think is valid.  
> **username_0**: I think my question was a bit confusing, I was referring to the way mining works (proof of work, block interval etc). I've edited it just in case  
> **username_1**: Isn't it obvious? If Alice creates two conflicting transactions, it's essential that we eventually are able to agree on one of them. If it's easy to mine two long chains, one with each of the two conflicting transactions, how do we agree on one of them?  
> **username_0**: So the important thing here is to forbid someway a lot of users can add a new block (only the ones who are able to solve a very difficult problem can, and this is normally one miner at a time?) and to "delay" the adding of new blocks to 10min? (and why 10min and not 5 for example?)  
> **username_1**: The engineering considerations around the block time are quite complex. Other systems have made different block timing decisions and get a different mix of costs and benefits.  

---

### Answer by username_2 on 2022-04-12. Score: 1

Because you need to timestamp every block and this action can not be free of charge. Otherwise every node would create a block and try to cheat with wrong timestamp.

From the Bitcoin white paper:

> To implement a distributed timestamp server on a peer-to-peer basis,
> we will need to use a proof- of-work system similar to Adam Back's
> Hashcash [6], rather than newspaper or Usenet posts.


---

### Answer by username_3 on 2018-06-16. Score: 0

Before I begin, let me say this is a rather reductionist answer:

Mining is critical for cryptocurrencies like bitcoin and litecoin for several reasons.

1. Part of the beauty of crypto is the anonymous nature of the transactions. When a block is mined all of the transactions in the memory pool are mined into that block, storing them forever on the blockchain ledger.
2. Mining is part of the Proof of Work that these cryptocurrencies depend on for consensus. When a new block is mined, many things change that must be agreed upon by all the nodes on the network, (block height, merkle root hash, chain-work etc.) One of the inherent issues of cryptocurrencies is the aforementioned double spend problem, which can be solved a few ways, the most popular being the use of a Proof of Work algorithm. For more information on exactly how Proof of Work solves the double spend problem please visit the bitcoin wiki @ <https://en.bitcoin.it/wiki/Main_Page>
3. Mining produces a block reward in the form of a subsidy. This creates incentive for people to join the network and support it by taking place in mining (which again helps keep the ledger of the blockchain and thus establish consensus across the network) in hopes of successfully mining a block (and thus all outstanding transactions into the block) to receive the mining reward.

So in conclusion, without mining, transactions couldn't be logged in the ledger, and consensus couldn't be established.. not only that, but the incentive to help maintain the network would be gone.

> **Comments:**
> **username_0**: This does not answer the "why" but more the "how" mining works or what it does.What happen if we don't have a difficult hash to solve? and we don't have a block interavl? What I'm looking for is an example step by step (only descriptive) of the problems we will have without mining. How I've said I think one problem will be all the "miners" will validate blocks at every second, and then the chain will have a lot of different blocks, and try to decide which one will be the correct to add. If we add complexity then we reduce the number of blocks to be proposed as the next one.  
> **username_3**: I am not sure what you're looking for, I thought I answered the problems that would arise without mining. No consensus, no incentive, really there wouldn't be blocks at all without mining.. Or transactions for that matter. No mining means no subsidy, which means no coins to send/receive.. Unless we're talking about Proof of Stake or the even more rare Proof of Burn.  

---

