[Bitcoin-development] does "stubbing" off Merkle trees reduce initial download bandwidth?
Elden Tyrell
tyrell.elden at gmail.com
Mon Jan 2 05:04:03 UTC 2012
Satoshi's paper mentions that storage requirements for the blockchain
can be reduced by deleting transactions whose outputs have been spent.
If I understand correctly, this technique can only be used for reducing
*storage* requirements, not *bandwidth* needed for the initial chain
download by a high-security client that doesn't trust any of its peers
-- right?
The rule is "trust the longest valid chain of blocks". Part of a block
being "valid" is that each transaction's inputs are unspent and their
sum exceeds the transaction's outputs unless it is a coinbase. This
cannot be verified for "stubbed out" transactions -- they have outputs
but no inputs, and aren't coinbases. So a paranoid client booting up
for the first time needs to be given an un-stubbed chain, right?
Of course, if a client decided to accept a stubbed blocks only when the
sum of the difficulties in the blocks after it exceeds some number N,
then attacking it could be made very expensive by picking a large
enough N.
Please let me know if I have misunderstood something.
More information about the bitcoin-dev
mailing list