> On Oct 29, 2015, at 8:35 PM, Gregory Maxwell via bitcoin-dev 
> <bitcoin-dev@lists.linuxfoundation.org> wrote:
> 
> On Fri, Oct 30, 2015 at 3:04 AM, Simon Liu via bitcoin-dev
> <bitcoin-dev@lists.linuxfoundation.org> wrote:
>> Given that UTXO storage is considered critical, it seems reasonable to
> 
> This sounds like a misunderstanding of what consensus criticial means.
> It does not mean that it must be right (though obviously that is
> preferable) but that it must be _consistent_, between all nodes.

Can you give a specific example of how nodes that used different database 
technologies might determine different answers to whether a given transaction 
is valid or invalid?  I’m not a database expert, but to me it would seem that 
if all the unspent outputs can be found in the database, and if the relevant 
information about each output can be retrieved without corruption, then that’s 
all that really matters as far as the database is concerned.

Let’s use an unspent pay-to-pubkey-hash output as an example: Alice spends this 
to Bob (she signs it properly), the TX propagates across the network and…then 
what?  Do some nodes disagree on whether or not the TX is valid?  What exactly 
would they disagree on?  Are you suggesting that a database bug would cause 
some nodes to think the output was actually already spent, while others can 
correctly see that it’s unspent?  Or maybe some nodes think the output doesn’t 
exist while others do?  Or are you suggesting that the details about this 
output might be retrieved with errors from certain databases but correctly from 
others?  

I’d like a concrete example to help me understand why more than one 
implementation of something like the UTXO database would be unreasonable.    

Peter

_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to