Question a bit related to Microsoft's research on incentives of sharing transactions.

What is the incentive for a custom-tailored Bitcoin client to share information regarding known clients and the existing blockchain? For example, the client could set its "services" in "version" message to 0 and not be bothered with sharing much data. What encourages the Bitcoin clients, asides common curtsey from the people running the software, to share the data?

  • 1
    Is this question really different than the question you linked to?
    – ripper234
    Nov 17, 2011 at 9:15
  • When you send out transactions, you want to get to as many peers as possible so they would be included in the block. Sharing peers and blocks takes more bandwidth and computing power, while the return of doing so for you is not too clear.
    – ThePiachu
    Nov 17, 2011 at 10:05

2 Answers 2


If data is not shared, Bitcoin won't work. So the people who want Bitcoin to work and be useful share the data. If there aren't enough people who want Bitcoin to work and be useful, then it doesn't matter whether anyone can get the data or not.


Bitcoin users want to get information about their own transactions transmitted quickly and generally want to see Bitcoin succeed, and sharing the load of publishing transactions on the p2p network is courteous and the default; it would take a really selfish person to hack and compile Bitcoin so it took but didn't resend transaction data or Bitcoin blocks.

The paper refers more to a barely-possible attack where a miner or mining pool might get more transactions (and the associated fees) included in blocks they solve if they were to not broadcast those transactions to others.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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