Post
Topic
Board Development & Technical Discussion
Re: SPV mining full blocks
by
kano
on 30/08/2015, 00:37:05 UTC
How would you know whether a transaction has an output in the previous block if you don't know what transactions were in that block? Additionally how would you know whether an unconfirmed transaction which uses an older output was not confirmed in the last block?
EDIT: *slaps forehead* I don't know how I didn't think of this.

The need for SPV mining is an urban legend
It is driven by an unsubstantiated excuse to very marginally reduce the average small amount of time necessarily spent mining on stale work
Although this cost is very marginal now, it does still exist, right? The reason I'm asking is if we did want to increase block size so much that it took, say, 30 seconds to download and verify.
The issue with this, that no one ever bothers to deal with, is there's no verified data regarding the time and CPU power required to verify blocks, based on their size and complexity.
Yes you can already make a block that takes a long time to verify, but they are not your run of the mill blocks.
There may even be a reasonable solution to this of being able to calculate the complexity of a transaction and/or a whole block and reject it across the board and solve the problem that way. Who knows Tongue
The current transaction selection code in bitcoin (getblocktemplate) isn't written by the smartest guy around ... quite the opposite.
He bypasses using it himself ...