[Bitcoin-development] Chain pruning

Wladimir laanwj at gmail.com
Thu Apr 10 11:57:00 UTC 2014

On Thu, Apr 10, 2014 at 1:37 PM, Mike Hearn <mike at plan99.net> wrote:

> Chain pruning is probably a separate thread, changing subject.
>> Reason is that the actual blocks available are likely to change
>> frequently (if
>> you keep the last week of blocks
> I doubt anyone would specify blocks to keep in terms of time. More likely
> it'd be in terms of megabytes, as that's the actual resource constraint on
> nodes.

Well with bitcoin, (average) time, number of blocks and (maximum) size are
all related to each other so it doesn't matter how it is specified, it's
always possible to give estimates of all three.

As for implementation it indeed makes most sense to work with block ranges.

> Given a block size average it's easy to go from megabytes to num_blocks,
> so I had imagined it'd be a new addr field that specifies how many blocks
> from the chain head are stored. Then you'd connect to some nodes and if
> they indicate their chain head - num_blocks_stored is higher than your
> current chain height, you'd do a getaddr and go looking for nodes that are
> storing far enough back.

This assumes that nodes will always be storing the latest blocks. For
dynamic nodes that take part in the consensus this makes sense.

Just wondering: Would there be a use for a [static] node that, say, always
serves only the first 100000 blocks? Or, even, a static range like block
100000 - 200000?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140410/d9a682b3/attachment.html>

More information about the bitcoin-dev mailing list