Subject: Re: [Bitcoin-development] HTTP REST API for bitcoind

From: Pieter Wuille <[email-masked]>
Date: Tue, 23 Jul 2013 12:06:24 +0200

On Tue, Jul 23, 2013 at 12:02 PM, Andy Parkins <[email-masked]> wrote:
> On Tuesday 23 July 2013 10:56:02 Pieter Wuille wrote:
>
>> The block chain is not involved at all to verify transactions, it's
>> just a historical
>> record to serve to other nodes, and to do wallet rescans with.
>
> It must be involved to some extent.  Certainly during a temporary fork, there
> are two branches growing, and you have to be able, when verifying a new
> transaction, to say which branch it's one... which branch of the blockchain.

No, not really.

The UTXO set is the state you need to validate blocks and
transactions. You can see blocks as authenticated patches to the UTXO
set (consumes some outputs, produces others). During validation, we
store "undo data", basically (non-authenticated) reverse patches to
the UTXO set, so we can walk back in case of a reorganization.

-- 
Pieter