Author: Elden Tyrell 2012-01-02 05:04:03
Published on: 2012-01-02T05:04:03+00:00
In Satoshi's paper, it is mentioned that the storage requirements for the blockchain can be reduced by deleting transactions whose outputs have been spent. However, this technique can only be used to reduce storage requirements and not bandwidth needed for the initial chain download by a high-security client that doesn't trust any of its peers. The rule for validating blocks in the blockchain is "trust the longest valid chain of blocks". For a block to be considered "valid", each transaction's inputs must be unspent and their sum should exceed the transaction's outputs, unless it is a coinbase. This validation cannot be done for "stubbed out" transactions that have outputs but no inputs, and aren't coinbases. Therefore, a paranoid client booting up for the first time needs to be given an un-stubbed chain. However, if a client decides to accept stubbed blocks only when the sum of difficulties in the blocks after it exceeds a certain number N, then attacking it could be made very expensive by picking a large enough N. It is important to note that these techniques are only for reducing storage requirements and not for reducing bandwidth needed for the initial chain download by a high-security client that doesn't trust any of its peers.
Updated on: 2023-06-05T01:37:53.651211+00:00