SPV Mining reveals a problematic incentive issue. [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2015-07-13T17:49:40+00:00


Summary:

The discussion on the Bitcoin-dev mailing list revolves around the topic of SPV mining and its impact on the network. Jorge Timón suggests that all miners should validate transactions to prevent SPV mining, which he believes is not rational. He recommends that miners continue mining on top of the old block until they have fully validated the new one. However, Peter Todd points out the vulnerability of F2Pool/AntPool finding out about new blocks through anonymous connections, which can lead to fake information and invalid blocks being made. Eric Lombrozo emphasizes the importance of secure validation to maintain security and scalability. The conversation also touches on the use of SPV as protection against third-party-run trusted full nodes from lying to users. While relying solely on SPV with low numbers of confirmations is not smart, it can provide reasonable protection against fake blocks created by attackers targeting multiple people. Trusted third-party-run full nodes, combined with SPV, can offer reasonable safety for now.In an email conversation, Jorge Timón suggests that miners should validate transactions to prevent SPV mining. He argues that full miners can leverage their validation against SPV miners who blindly spend energy hashing on potentially worthless blocks. He recommends that miners continue mining on top of the old block until they fully validate the new block, even if it slightly increases the orphan rate. The discussion also highlights the issue of F2Pool/AntPool finding out about new blocks through anonymous connections, which can lead to fake information and invalid blocks. It is crucial to mark headers as "probably invalid" and update all the header's children to mitigate this risk.Another conversation between Tier Nolan and Jorge Timón discusses the security risks associated with SPV mining. They discuss the tradeoff between mining on top of a non-most-work-but-surely-valid block and mining on top of a most-work-but-potentially-invalid block. Both options have risks, but mining on top of the previous block has a lower impact on regular SPV users. The conversation mentions that mining on the previous block allows including transactions and earning fees, which is advantageous in a future where block rewards are not dominated by subsidies. The discussion also explores the potential issues that may arise if hashing is not constantly applied. Rational miners would power down their hashing when there are no interesting fees in the mempool to save energy costs. However, this behavior can lead to malicious miners re-mining the previous block and dropping some transactions, offering other miners more reward if they mine on top of the re-mined block. The discussion calls for solutions to address the problem of SPV mining and its impact on the network's robustness.Nathan Wilcox raises concerns about the disincentive for miners to verify transactions, weakening the network against forks. SPV mining has become popular among miners, but it allows consensus-violating forks to persist. The cost of verifying transactions leads some miners to forego verification, increasing the risk of mining atop an invalid block. Wilcox suggests incentivizing miners to verify transactions to prevent malicious miners from including erroneous transactions in their blocks. The discussion emphasizes the need to address the issue of SPV mining and its impact on the network's robustness.The discussion also touches on the topic of inter-block times and the variation in block-to-block times. If hashing is not constantly applied, the inter-block times will expand, reducing the difficulty and giving an advantage to pools that use all available hashing power. Having useful fees immediately after a block is found reduces the incentives to deliberately orphan the last block.SPV mining is discussed as a technique to prevent hashing hardware from wasting power when it isn't needed. SPV miners put headers in the "probably valid" category and build empty blocks on top of them. However, as time passes without full validation, the likelihood of the block being valid decreases. Increasing the timeout does not provide significant benefits. It is mentioned that in a future with low minting fees, there is no point in SPV mining since pools only earn income from transaction fees. The discussion suggests alternative models for pool payment and highlights the potential increase in average fee per byte for transactions as time passes since the last block.Overall, the discussions highlight the importance of transaction validation, the vulnerabilities of SPV mining, and the need to address these issues for the robustness and security of the Bitcoin network.


Updated on: 2023-08-01T14:17:22.667742+00:00