Bitcoin full node and query server

Oct 29, 2024

View in context in the libbitcoin Slack #general mirror.

evoskuil18:08
So then you toss that out and search for another way. Eventually you realize that you must store all outputs with the blocks anyway, and if you need validation to be disordered, then you don't care about output ordering at that point. So you just toss out the utxo store, and all is great. However, you know that outputs must therefore be indexed by their spenders (more than one tx can spend an output, unless you have a store that supports random access delete/write - which is a big additional cost for a state store that has almost zero change over time). And it obviously needs to be constant time, so you construct a hashmap of all outputs by input point. And not wanting to store all outputs twice (that's about 1/3 of the store size), you factor the block into a relational data model.