<p>There are cryptocurrencies that operate like this, for example, I believe Nano requires the proof of work in the transaction itself, see <a href="https://nano.org/en/whitepaper" rel="nofollow noreferrer">Nano Whitepaper</a>.</p>

<h1>Transaction Spam Reduction</h1>

<p>Bitcoin, however, instead of using proof of work to reduce transaction spamming, this is prevented with a miner fee.  Because miners can select transactions to put in the block they mine, they are incentivized to select transactions with higher fees.  Without a decent fee, your transaction may never get mined if the average fees are much higher, so it won't enter a block (thus spamming is reduced).</p>

<h1>Proof of Work in Bitcoin</h1>

<p>Proof of work is used to achieve consensus.  Instead of preventing transaction spamming, you could consider it as a block submission spam prevention.  Because a majority of nodes have to validate the blocks and all the transactions in them, you could see how without proof of work, this could be easily spammed and transaction validity could become difficult to prove.  See <a href="https://en.bitcoin.it/wiki/Proof_of_work" rel="nofollow noreferrer">Proof of Work</a>.</p>

<p>Another effect for proof of work in the block is to control the work required to mine a new block, thus regulating the release of Bitcoins.  The reasoning behind this in the <a href="https://bitcoin.org/bitcoin.pdf" rel="nofollow noreferrer">Bitcoin Whitepaper</a> was: </p>

<blockquote>
  <p>"To compensate for increasing hardware speed and varying interest in
  running nodes over time."</p>
</blockquote>

CC BY-SA 4.0
2018-06-05T21:53:31.677Z
Is there any argument that bitcoin proof of work by miners is better than email type proof of work by sellers?
171124
CC BY-SA 4.0
2018-06-05T22:13:00.950Z
I think your answer is good overall, but it dances around the important point that POW provides transaction ordering, which is the more relevant issue being solved in the bitcoin system. In email, the issue being solved is spam messages.
chytrik
CC BY-SA 4.0
2018-06-05T21:13:36.227Z
2018-06-05T21:13:36.227Z
JBaczuk
<p>Proof of work helps to solve the issue of transaction ordering: miners must create blocks that contain an order of transactions, and each block builds upon the last. Thus all bitcoin transactions are ordered, and this is required in order to resolve any potential transaction conflicts.</p>

<p>As an example: in the case of a double spend, which transaction is actually valid, and which should be discarded? A simple way to resolve this question is to say <em>"the first transaction is valid, the second is not"</em>, but this solution requires the network to be in consensus regarding the ordering of all transactions. </p>

<p>In the case of email, ordering of messages is not critically important, so the inclusion of a POW has a slightly different primary function: to increase the cost of sending an email, in order to discourage spam messages. </p>

<blockquote>
  <blockquote>
    <p>Then, in bitcoin, it seems natural that the senders engage in the proof of work instead of miners. Why it is not so?</p>
  </blockquote>
</blockquote>

<p>Transaction ordering is important, but keep in mind that it is not trivial to reliably keep a decentralized network in consensus. Each transaction could include a proof-of-work, but this alone is not enough to give the transactions a well-defined order. Proof-of-work establishes a way to ensure resources were spent, but on it's own is not sufficient to establish an ordering of data. </p>

<p>Bitcoin solves this by grouping transactions into blocks, and each block references the one before it. You can imagine this as a sort of '<a href="https://grisha.org/blog/2018/01/23/explaining-proof-of-work/" rel="nofollow noreferrer">decentralized clock</a>', where the smallest increment of time is one block. For transactions to function similarly, each transaction would have to reference the one before it, thus establishing an order. This would lead to a whole host of latency issues, higher rates of 'orphan transactions', potential for spam and DOS attacks, etc. </p>

CC BY-SA 4.0
2018-06-05T22:58:01.367Z
Great point! That last sentence seems out of  place
JBaczuk
CC BY-SA 4.0
2018-06-05T23:00:02.807Z
True. But theoretically one can think of discouraging senders to engage in double spending by taxing senders for sending multiple spending messages?
171124
CC BY-SA 4.0
2018-06-06T00:32:48.247Z
@JBaczuk I see what you mean, but I think its simple enough to understand how 'every transaction being ordered' would lead to issues, and I'm not really interested in parsing out the exact details of such a theoretical system. So I settled for a vague description of risks, if someone wants to edit to add more info please feel free to. OPs question was "why can't we use POW in the same way email anti-spam uses it?", not "what would be the effect of ordering each individual transaction, instead of grouping them in ordered blocks".
chytrik
CC BY-SA 4.0
2018-06-06T00:45:53.277Z
@171124 double spending is only one issue, another example is that latency issues would be very critical. What if txA is the most recent, and two nodes that are not immediately connected try to publish their own txs at the same time (txB and txC)? The longest chain becomes valid, so in situations like this, only one of txB or txC will be accepted, and the other will be orphaned, which means the node that published it originally will need to re-try with a new POW attached (that references the now longest chain tip).
chytrik
CC BY-SA 4.0
2018-06-06T00:50:28.200Z
To understand, why would it be that "two nodes that are not immediately connected try to publish their own txs at the same time (txB and txC)"?
171124
CC BY-SA 4.0
2018-06-06T04:21:18.430Z
@chytrik sorry I read it wrong
JBaczuk
CC BY-SA 4.0
2018-06-06T07:08:59.700Z
@171124 my example is meant to be analogous to an 'orphan block' situation on the current btc network (wherein two miners find a block at the same time). Having each transaction basically be it's own block could lead to a very high orphan rate, since many nodes may want to publish transactions all at once. @ JBaczuk ahh, no worries :)
chytrik
CC BY-SA 4.0
2018-06-05T22:07:40.163Z
2018-06-05T22:07:40.163Z
chytrik
<p>I have read </p>

<p>"Hashcash is a proof-of-work algorithm that requires a selectable amount of work to compute, but the proof can be verified efficiently. For email uses, a textual encoding of a hashcash stamp is added to the header of an email to prove the sender has expended a modest amount of CPU time calculating the stamp prior to sending the email. In other words, as the sender has taken a certain amount of time to generate the stamp and send the email, it is unlikely that they are a spammer. " (<a href="https://en.wikipedia.org/wiki/Hashcash" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Hashcash</a>)</p>

<p>Then, in bitcoin, it seems natural that the senders engage in the proof of work instead of miners. Why it is not so?</p>

<proof-of-work>
Proof of Work: email versus bitcoin
171124
# Proof of Work: email versus bitcoin

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

I have read

"Hashcash is a proof-of-work algorithm that requires a selectable amount of work to compute, but the proof can be verified efficiently. For email uses, a textual encoding of a hashcash stamp is added to the header of an email to prove the sender has expended a modest amount of CPU time calculating the stamp prior to sending the email. In other words, as the sender has taken a certain amount of time to generate the stamp and send the email, it is unlikely that they are a spammer. " (<https://en.wikipedia.org/wiki/Hashcash>)

Then, in bitcoin, it seems natural that the senders engage in the proof of work instead of miners. Why it is not so?

**Tags:** proof-of-work


---

## 2 answers

### Answer by username_1 on 2018-06-05. Score: 0 | Accepted answer

There are cryptocurrencies that operate like this, for example, I believe Nano requires the proof of work in the transaction itself, see [Nano Whitepaper](https://nano.org/en/whitepaper).

# Transaction Spam Reduction

Bitcoin, however, instead of using proof of work to reduce transaction spamming, this is prevented with a miner fee. Because miners can select transactions to put in the block they mine, they are incentivized to select transactions with higher fees. Without a decent fee, your transaction may never get mined if the average fees are much higher, so it won't enter a block (thus spamming is reduced).

# Proof of Work in Bitcoin

Proof of work is used to achieve consensus. Instead of preventing transaction spamming, you could consider it as a block submission spam prevention. Because a majority of nodes have to validate the blocks and all the transactions in them, you could see how without proof of work, this could be easily spammed and transaction validity could become difficult to prove. See [Proof of Work](https://en.bitcoin.it/wiki/Proof_of_work).

Another effect for proof of work in the block is to control the work required to mine a new block, thus regulating the release of Bitcoins. The reasoning behind this in the [Bitcoin Whitepaper](https://bitcoin.org/bitcoin.pdf) was:

> "To compensate for increasing hardware speed and varying interest in
> running nodes over time."

> **Comments:**
> **username_0**: Is there any argument that bitcoin proof of work by miners is better than email type proof of work by sellers?  
> **username_2**: I think your answer is good overall, but it dances around the important point that POW provides transaction ordering, which is the more relevant issue being solved in the bitcoin system. In email, the issue being solved is spam messages.  

---

### Answer by username_2 on 2018-06-05. Score: 1

Proof of work helps to solve the issue of transaction ordering: miners must create blocks that contain an order of transactions, and each block builds upon the last. Thus all bitcoin transactions are ordered, and this is required in order to resolve any potential transaction conflicts.

As an example: in the case of a double spend, which transaction is actually valid, and which should be discarded? A simple way to resolve this question is to say *"the first transaction is valid, the second is not"*, but this solution requires the network to be in consensus regarding the ordering of all transactions.

In the case of email, ordering of messages is not critically important, so the inclusion of a POW has a slightly different primary function: to increase the cost of sending an email, in order to discourage spam messages.

> > Then, in bitcoin, it seems natural that the senders engage in the proof of work instead of miners. Why it is not so?

Transaction ordering is important, but keep in mind that it is not trivial to reliably keep a decentralized network in consensus. Each transaction could include a proof-of-work, but this alone is not enough to give the transactions a well-defined order. Proof-of-work establishes a way to ensure resources were spent, but on it's own is not sufficient to establish an ordering of data.

Bitcoin solves this by grouping transactions into blocks, and each block references the one before it. You can imagine this as a sort of '[decentralized clock](https://grisha.org/blog/2018/01/23/explaining-proof-of-work/)', where the smallest increment of time is one block. For transactions to function similarly, each transaction would have to reference the one before it, thus establishing an order. This would lead to a whole host of latency issues, higher rates of 'orphan transactions', potential for spam and DOS attacks, etc.

> **Comments:**
> **username_1**: Great point! That last sentence seems out of  place  
> **username_0**: True. But theoretically one can think of discouraging senders to engage in double spending by taxing senders for sending multiple spending messages?  
> **username_2**: @username_1 I see what you mean, but I think its simple enough to understand how 'every transaction being ordered' would lead to issues, and I'm not really interested in parsing out the exact details of such a theoretical system. So I settled for a vague description of risks, if someone wants to edit to add more info please feel free to. OPs question was "why can't we use POW in the same way email anti-spam uses it?", not "what would be the effect of ordering each individual transaction, instead of grouping them in ordered blocks".  
> **username_2**: @username_0 double spending is only one issue, another example is that latency issues would be very critical. What if txA is the most recent, and two nodes that are not immediately connected try to publish their own txs at the same time (txB and txC)? The longest chain becomes valid, so in situations like this, only one of txB or txC will be accepted, and the other will be orphaned, which means the node that published it originally will need to re-try with a new POW attached (that references the now longest chain tip).  
> **username_0**: To understand, why would it be that "two nodes that are not immediately connected try to publish their own txs at the same time (txB and txC)"?  
> **username_1**: @username_2 sorry I read it wrong  
> **username_2**: @username_0 my example is meant to be analogous to an 'orphan block' situation on the current btc network (wherein two miners find a block at the same time). Having each transaction basically be it's own block could lead to a very high orphan rate, since many nodes may want to publish transactions all at once. @ username_1 ahh, no worries :)  

---

