public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
* [Bitcoin-development] does "stubbing" off Merkle trees reduce initial download bandwidth?
@ 2012-01-02  5:04 Elden Tyrell
  2012-01-02 13:31 ` Christian Decker
  0 siblings, 1 reply; 6+ messages in thread
From: Elden Tyrell @ 2012-01-02  5:04 UTC (permalink / raw)
  To: bitcoin-development

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.





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-01-05 23:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-02  5:04 [Bitcoin-development] does "stubbing" off Merkle trees reduce initial download bandwidth? Elden Tyrell
2012-01-02 13:31 ` Christian Decker
2012-01-02 22:23   ` Elden Tyrell
2012-01-02 22:41     ` Gregory Maxwell
2012-01-03  1:39       ` Elden Tyrell
2012-01-05 23:30         ` Mike Hearn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox