user516: Once the 50BTC per block rewards have halved many times and the transaction fees start to become the primary reward for miners, it sound like there is incentive for miners to not pass on transactions as they would eventually get the transaction fee when they next solve a block. I just read about this in Slashdot -
This slashdot article:
http://science.slashdot.org/story/11/11/15/0456206/researchers-locate-flaw-in-bitcoin-protocol
Refers to another article, being:
http://coderrr.wordpress.com/2011/11/13/simplified-summary-of-microsoft-researchs-bitcoin-paper-on-incentivizing-transaction-propagation/
and a research paper produced by Microsoft (who would've thought they're interested in Bitcoins!?):
http://research.microsoft.com/pubs/156072/bitcoin.pdf
An obvious solution to the described problem is to reward nodes for sharing transactions, but this (as I understand it) leads to a "Sybil attack" where the attacker tries to gain an increased share of the rewards by sharing the transaction amongst other nodes controlled by the attacker.
The rest of the research paper seems to have a proposed solution, but it's beyond my understanding!
Is this really a problem with the existing Bitcoin protocol? If yes, does the research paper have a genuine workable solution? Is it possible to describe that solution in laymen's terms?

user85: All you have to do is broadcast your transaction to a few major mining nodes. Whichever mines a block first will have every incentive to include your transaction.
It is a silly argument anyway. To precisely the same extent nodes are incentivized not to share their transactions with others, nodes are incentivized to get transactions from others. It should cancel out perfectly
It it's is worth X for you to get a transaction from me, I may not give it to you for much less than X. But why wouldn't you be willing to give me just a bit less than X for it?

... it sound[s] like there is incentive for miners to not pass on transactions as they would eventually get the transaction fee when they next solve a block ...

That's absurd. The longer you hold onto a transaction, the less it's worth. You have no way to know how many other nodes have that transaction, and as soon as any miner includes the transaction in a block it is worthless. You have an incentive to get as much for the transaction as you can as quickly as possible from as many nodes as possible.

user687: I'm one of the authors of the paper you mention. We've written a summary of the paper aimed at the Bitcoin community in the hopes that it will help people to better understand the paper.
I hope this helps you as well. 
Here is a link to the summary:
http://research.microsoft.com/en-us/people/avivz/bitcoin_red_balloons_summary.aspx

user405: This is a non-issue.  The Microsoft paper did not appear in a peer-reviewed venue (journal or conference).
There are (at least) two parts to the bitcoin network: the peer-to-peer transaction broadcasting network and the miners.  Only the miners have a disincentive to propagate transactions.  The overwhelming majority of the nodes on the internet running bitcoind are not mining or else are doing trivial amounts of CPU-mining because their admin forgot to use the -gen=0 flag.
If so-called "CPU-friendly" cryptocurrencies like "Tenberix" achieve their goals (which is doubtful) they may be vulnerable to this problem since they are intended to avoid the sort of specialized-miner situation that bitcoin embraces.

516: <p>Once the 50BTC per block rewards have halved many times and the transaction fees start to become the primary reward for miners, it sound like there is incentive for miners to not pass on transactions as they would eventually get the transaction fee when they next solve a block. I just read about this in Slashdot -</p>

<p>This slashdot article:
<a href="http://science.slashdot.org/story/11/11/15/0456206/researchers-locate-flaw-in-bitcoin-protocol">http://science.slashdot.org/story/11/11/15/0456206/researchers-locate-flaw-in-bitcoin-protocol</a></p>

<p>Refers to another article, being:
<a href="http://coderrr.wordpress.com/2011/11/13/simplified-summary-of-microsoft-researchs-bitcoin-paper-on-incentivizing-transaction-propagation/">http://coderrr.wordpress.com/2011/11/13/simplified-summary-of-microsoft-researchs-bitcoin-paper-on-incentivizing-transaction-propagation/</a>
and a research paper produced by Microsoft (who would've thought they're interested in Bitcoins!?):
<a href="http://research.microsoft.com/pubs/156072/bitcoin.pdf">http://research.microsoft.com/pubs/156072/bitcoin.pdf</a></p>

<p>An obvious solution to the described problem is to reward nodes for sharing transactions, but this (as I understand it) leads to a "Sybil attack" where the attacker tries to gain an increased share of the rewards by sharing the transaction amongst other nodes controlled by the attacker.</p>

<p>The rest of the research paper seems to have a proposed solution, but it's beyond my understanding!</p>

<p><strong>Is this really a problem with the existing Bitcoin protocol? If yes, does the research paper have a genuine workable solution? Is it possible to describe that solution in laymen's terms?</strong></p>
 85: <p>All you have to do is broadcast your transaction to a few major mining nodes. Whichever mines a block first will have every incentive to include your transaction.</p>

<p>It is a silly argument anyway. To precisely the same extent nodes are incentivized not to share their transactions with others, nodes are incentivized to get transactions from others. It should cancel out perfectly</p>

<p>It it's is worth X for you to get a transaction from me, I may not give it to you for much less than X. But why wouldn't you be willing to give me just a bit less than X for it?</p>

<blockquote>
  <p>... it sound[s] like there is incentive for miners to not pass on transactions as they would eventually get the transaction fee when they next solve a block ...</p>
</blockquote>

<p>That's absurd. The longer you hold onto a transaction, the less it's worth. You have no way to know how many other nodes have that transaction, and as soon as any miner includes the transaction in a block it is worthless. You have an incentive to get as much for the transaction as you can as quickly as possible from as many nodes as possible.</p>
 687: <p>I'm one of the authors of the paper you mention. We've written a summary of the paper aimed at the Bitcoin community in the hopes that it will help people to better understand the paper.</p>

<p>I hope this helps you as well. </p>

<p>Here is a link to the summary:
<a href="http://research.microsoft.com/en-us/people/avivz/bitcoin_red_balloons_summary.aspx" rel="noreferrer">http://research.microsoft.com/en-us/people/avivz/bitcoin_red_balloons_summary.aspx</a></p>
 405: <p><strong>This is a non-issue.</strong>  The Microsoft paper did not appear in a peer-reviewed venue (journal or conference).</p>

<p>There are (at least) two parts to the bitcoin network: the peer-to-peer transaction broadcasting network and the miners.  <strong>Only the miners have a disincentive to propagate transactions.  The overwhelming majority of the nodes on the internet running bitcoind are not mining</strong> or else are doing trivial amounts of CPU-mining because their admin forgot to use the -gen=0 flag.</p>

<p>If so-called "CPU-friendly" cryptocurrencies like "Tenberix" achieve their goals (which is doubtful) they may be vulnerable to this problem since they are intended to avoid the sort of specialized-miner situation that bitcoin embraces.</p>
