>> Block data that is stored can be used by other software, or potentially be
>> served to other nodes. The latter is not implemented at the moment - it 
>> would require a change to the P2P protocol, thus right now pruning nodes 
>> don't serve block data at all.

Why is the minimum storage quota of 550 MiB necessary for pruning nodes
if the block data is not served to other nodes ? Could the client just do 
transaction verification and transaction relaying and only keep the block(s) 
being verified on disk ?


On Jan 25, 2016, at 10:05 AM, Wladimir J. van der Laan via bitcoin-dev 
<bitcoin-dev@lists.linuxfoundation.org> wrote:

>>> To enable block pruning set prune=<N> on the command line or in
>>> bitcoin.conf, where N is the number of MiB to allot for raw block & undo
>>> data.
> 
>> From having read the Bitcoin whitepaper quite a few months ago ago, I have 
>> the 
>> very very basic understanding that pruning is meant to:
>> - delete old transaction data which merely "moves coins around"
>> - instead only store the "origin" (= block where coins were mined) and 
>> "current location" of the coins, i.e. the unspent transactions. Notably, I 
>> understood it as "this is as secure as storing everything, since we know 
>> where 
>> the coins were created, and where they are".
>> 
>> So from that point of view, I would assume that there is a "natural" amount 
>> of 
>> megabytes which a fully pruned blockchain consists of: It would be defined 
>> by 
>> the final amount of unspent coins.
>> I thereby am confused why it is possible to configure a number of megabytes 
>> "to allot for raw block & undo data". I would rather expect pruning just to 
>> be 
>> a boolean on/off flag, and the number of megabytes to be an automatically 
>> computed result from the natural size of the dataset.
>> And especially, I fear that I could set N too low, and as a result, it would 
>> delete "too much". I mean could this result in even security relevant 
>> transaction data being deleted?
> 
> The term 'pruning', unfortunately is very much overused and overloaded in the
> bitcoin ecosystem. Satoshi's paper refers to UTXO pruning. This is Pieter 
> Wuille's "ultraprune",
> which has been part of Bitcoin Core for more than three years.
> 
> Block pruning is not mentioned in that paper because it is just 
> administrative,
> the only reason that nodes store historical blocks at all is to serve it to 
> other nodes,
> as well as to catch up the wallet status and for -reindexes.
> 
>> Thus, it would be nice if you could yet once more edit the release notes to:
> 
> I don't have time to work on the release notes right now, but if someone else
> wants to contribute that'd be awesome.
> 
>> - explain why a N must be given
> 
> To give a quotum. The point is that the user can choose how much harddisk 
> space they want to
> dedicate to block storage.
> 
> Block data that is stored can be used by other software, or potentially be
> served to other nodes. The latter is not implemented at the moment - it would 
> require
> a change to the P2P protocol, thus right now pruning nodes don't serve block
> data at all.
> 
>> - what a "safe" value of N is. I.e. how large must N be at least to not 
>> delete 
>> security-relevant stuff?
> 
> There is no security compromise with pruning. Any value of N is intended to 
> be safe.
> 
> Very low values would delete undo data that may be necessary in a 
> reorganization,
> but this is prohibited by argument checks.
> 
> Release notes are not meant as a replacement or supplement for documentation.
> The documentation for -prune is this:
> 
>  -prune=<n>
>       Reduce storage requirements by pruning (deleting) old blocks. This mode
>       is incompatible with -txindex and -rescan. Warning: Reverting this
>       setting requires re-downloading the entire blockchain. (default: 0 =
>       disable pruning blocks, >550 = target size in MiB to use for block
>       files)
> 
>> - maybe mention if there is a "auto" setting for N to ensure that it choses 
>> a 
>> safe value on its own?
> 
> As said, there is no safe or unsafe value. The lowest acceptable value is 
> just as safe
> as storing everything.
> 
> Wladimir
> 
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to