pull down to refresh
33 sats \ 5 replies \ @Scoresby OP 12h \ parent \ on: The difference btwn Bitcoin consensus rules and mempool policies - BitBox Blog bitcoin
It's been suggested to me to use "block validation rules" instead and I think that is quite a bit better.
"utxo set policies" implies you must have a utxo set to validate a block or reach agreement with other nodes about the state of the chain, and that is not necessarily true.
and in fact you do need a utxo set to validate a block and reach agreement with the other nodes.
all the transaction inputs in all the transactions in a block need to be in the utxo set.
reply
If you are using Bitcoin Core, I agree with you. If you use libbitcoin, it is not the case. Libbitcoin does not create a utxo set and rather uses its index of the chain to determine validity of inputs.
The point I was trying to make is that the utxo set architecture is a choice that is not synonymous with the rules we mean when we generally say something like "consensus rules."
reply
libbitcoin, interesting I'll have to think about it and look closer at libbitcoin.
but even then there must be some name for the data structure in libbitcoin that maps to the utxo set in core. if utxo set isn't the name for this concept it needs some different name.
"index of the chain" sounds to me suspiciously like utxo set. what are we indexing? i haven't looked yet but i'm guessing txid plus ouput number, ie morally the same as a utxo.
I think my overall point is that we talk about blocks a lot. And we talk about transactions a lot.
But utxo sets are actually the simpler concept, once you know what they are.
Blocks are sort of the means to an end, whereas utxo sets are the end.
reply
👀 #1008546
reply
it's the same thing.
to use precise category theory language, sequences of blocks are arrows. utxo sets are objects. (arrows are transformations between objects and compose nicely)
we only care about arrows to get objects.
we only care about chains of blocks, to get the utxo sets that we want.
you could also think of the mempool as a giant blob of potential arrow (chain of block) components. since blocks are made of transactions.
I'm playing around with the math of this ;)
reply